- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 1 2 3 VHDL设计概念 VHDL简介 VHDL程序结构 VHDL简介 VHDL全名Very-High-Speed Integrated Circuit Hardware Description Language,超高速集成电路硬件描述语言,VHDL语言是一种用于电路设计的高级语言。最初是源于美国国防部1980年开始启动的超高速集成电路计划,在这一计划执行过程中,专家们认识到需要有一种标准的语言来描述集成电路的结构和功能,由此,美国国防部便开发出VHDL设计语言供美军用来提高设计的可靠性和缩减开发周期的设计语言。 VHDL设计概念 采用VHDL进行设计的方法为高层设计,即“概念驱动模式”设计。设计人员无需通过门级原理图描述,而是针对设计目标进行功能描述。VHDL并不十分关心一个具体逻辑是靠何种方式实现的,而是把开发者的精力集中到逻辑所实现的功能上。由于高层设计只定义系统的行为特性,因此可以不涉及工艺。 采用VHDL进行设计的具体过程为: 1、以VHDL语言描述设计概念; 2、用VHDL仿真与调试工具分析此概念的“行为”,检查是否满足初始要求。这一过程与普通的编程语言,如C语言的编译、运行、调试是类似的。 3、VHDL设计—VHDL综合工具。利用集成电路厂商或EDA厂家提供的被充分验证过的工艺库,以面积、功耗、速度等为目标进行优化,将电路映射成网表,得到门级电路后,还要进行仿真来验证门电路的行为和时序特性。 4、物理设计。得到可供生产的文件,进行延时、故障、热分析等,保证系统的稳定工作,满足设计指标。 VHDL程序结构 实体和结构体 是VHDL设计文件的两个基本组成部分 实体说明 描述设计实体(黑盒)的外部接口信号(即输入/输出信号); 结构体说明 用于描述设计实体(黑盒)的内部电路。 包集合 存放各设计模块能共享的数据类型、常数、子程序等; 库 用于存放已编译的实体、结构体、包集合和配置。 配置 用于从库中选取所需元件安装到设计单元的实体中。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux21 IS PORT( a , b:IN STD_LOGIC; s:IN STD_LOGIC; y:OUT STD_LOGIC ); END mux21; ARCHITECTURE behavior OF mux21 IS BEGIN PROCESS(a,b,s) BEGIN IF s = 0 THEN y=a; ELSE y=b; END IF; END PROCESS; END one; 程序包 实体说明 结构体 实体说明的一般格式为: ENTITY 实体名 IS [GENERIC类属参数说明]; [PORT端口说明]; END; a y and2 b 实体中的每一个I/O信号被称为端口,其功能对应于电路图符号的一个引脚。端口说明则是对一个实体的一组端口的定义,即对基本设计实体与外部接口的描述。端口是设计实体和外部环境动态通信的通道。实体类似一个“黑盒”,实体描述了“黑盒”的输入输出口。 ENTITY、IS、GENERIC、PORT、END是VHDL的关键字(保留字)。 实体名、端口名(端口说明)等均应为符合VHDL命名规则的标识符。 实体说明 类属信息 1、作用 为设计实体和其外部环境通信的静态信息提供通道,可以定义端口的大小、实体中元件的数目以及实体的定时特性等。 2、一般格式 GENERIC([CONSTANT] 名字表:[IN] 子类型标识 [:= 静态表达式],…] ); 端口说明 端口说明的一般格式为: PORT(端口名{,端口名}:端口模式 数据类型; 端口名{,端口名}:端口模式 数据类型); 例如:PORT ( a,b : IN STD_LOGIC; y : OUT STD_LOGIC); 端口名 端口模式 数据类型 端口模式 用来说明数据传输通过该端口的方向。 IN: 数据只能从端口流入实体 OUT: 数据只能从端口流出实体 INOUT: 数据从端口流入
文档评论(0)