ImageVerifierCode 换一换
格式:PPT , 页数:44 ,大小:227KB ,
资源ID:14311081      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14311081.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VHDL硬件描述语言基础优质PPT.ppt)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VHDL硬件描述语言基础优质PPT.ppt

1、entity eqcomp4 isport(a,b:in std_logic_vector(3 downto 0);equal:out std_logic);end eqcomp4;architecture dataflow of eqcomp4 isbegin equal=1 when a=b else 0;End dataflow;,VHDL 大小写不敏感,eqcomp4.vhd,包,实体,构造体,文件名和实体名一致,每行;结尾,关键字begin,关键字end后跟实体名,关键字end后跟构造体名,库,实体(Entity),描述此设计功能输入输出端口(Port)在层次化设计时,Port为模块

2、之间的接口在芯片级,则代表具体芯片的管脚,A3.0,B3.0,equal,Entity eqcomp4 isport(a,b:,实体端口的模式,输入(Input)输出(Output)双向(Inout):可代替所有其他模式,但降低了程序的可读性,一般用于与CPU的数据总线接口缓冲(Buffer):与Output类似,但允许该管脚名作为一些逻辑的输入信号,Out与Buffer的区别,Entity test1 is port(a:in std_logic;b,c:end test1;architecture a of test1 is begin b=not(a);c=b;-Error end a;

3、,Entity test2 is port(a:b:buffer std_logic;c:end test2;architecture a of test2 is begin b=not(a);end a;,结构体(Architecture),描述实体的行为结构体有三种描述方式行为描述(behavioral)数据流描述(dataflow)结构化描述(structural),结构体行为描述,Architecture behavioral of eqcomp4 is begincomp:process(a,b)beginif a=b then equal=1;else equal=0;end if

4、;end process comp;end behavioral;,高层次的功能描述,不必考虑在电路中到底是怎样实现的。,结构体数据流描述描述输入信号经过怎样的变换得到输出信号,Architecture dataflow1 of eqcomp4 is begin equal=1 when a=b else 0;end dataflow1;,Architecture dataflow2 of eqcomp4 is beginequal=not(a(0)xor b(0)and not(a(1)xor b(1)and not(a(2)xor b(2)and not(a(3)xor b(3);end

5、dataflow2;,当a和b的宽度发生变化时,需要修改设计,当宽度过大时,设计非常繁琐,结构体结构化描述,architecture struct of eqcomp4 isbegin U0:xnor2 port map(a(0),b(0),x(0);U1:xnor2 port map(a(1),b(1),x(1);U2:xnor2 port map(a(2),b(2),x(2);U3:xnor2 port map(a(3),b(3),x(3);U4:and4 port map(x(0),x(1),x(2),x(3),equal);end struct;,类似于电路的网络表,将各个器件通过语言

6、的形式进行连接,与电路有一一对应的关系。一般用于大规模电路的层次化设计时。,三种描述方式的比较,VHDL标识符(Identifiers),基本标识符由字母、数字和下划线组成第一个字符必须是字母最后一个字符不能是下划线不允许连续2个下划线保留字(关键字)不能用于标识符大小写是等效的,VHDL数据对象(Data Objects),常数(Constant)固定值,不能在程序中被改变增强程序的可读性,便于修改程序在综合后,连接到电源和地可在Library、Entity、Architecture、Process中进行定义,其有效范围也相应限定Constant data_bus_width:integer

7、:=8;,VHDL数据对象(Data Objects),信号(Signals)代表连线,Port也是一种信号没有方向性,可给它赋值,也可当作输入在Entity中和Architecture中定义设定的初始值在综合时没有用,只是在仿真时在开始设定一个起始值。在MaxPlusII中被忽略。用=进行赋值signal count:bit_vector(3 downto 0):=“0011”;,VHDL数据对象(Data Objects),变量(Variable)临时数据,没有物理意义只能在Process和Function中定义,并只在其内部有效要使其全局有效,先转换为Signal。用:=进行赋值 var

8、iable result:std_logic:=0;,信号与变量的区别,architecture rtl of start is signal count:integer range 0 to 7;begin process(clk)begin if(clkevent and clk=1)then count=count+1;if(count=0)then carryout=1;else carryout=0;end process;end rtl;,architecture rtl of start is begin process(clk)variable count:begin if(c

9、lkevent and clk=1)then count:=count+1;,信号与变量的区别,architecture a of start is signal tmp:std_logic;begin process(a_bus)begin tmp=1;for i in 3 downto 0 loop tmp=a_bus(i)and tmp;end loop;carryout=tmp;,architecture a of start is begin process(a_bus)variable tmp:begin tmp:=1;for i in 3 downto 0 loop tmp:=a

10、_bus(i)and tmp;,VHDL数据类型,标量类型(Scalar)枚举(Enumeration)整数(Integer)浮点数(Float)物理(Physical)复合类型(Composite),VHDL数据类型枚举,列举数据对象可能存在的值,一般用于定义状态机的状态Type states is(idle,start,running,pause,stop)Signal current_state:states;IEEE1076标准中预定义了两个枚举类型Type boolean is(False,True)Type bit is(0,1)Signal a:bit;,VHDL数据类型枚举,I

11、EEE1164标准中预定义了一个枚举类型Type std_logic is(U,X,0,1,Z,W,L,H,-);该类型能比较全面地包括数字电路中信号会出现的几种状态,因此一般情况把这种类型代替bitSignal a:注意:这里的大小写是敏感的,VHDL数据类型,整数、浮点数方便用于数值方面的运算:加减乘除整数范围:-231 231 1,经常用于计数器实数范围:-1.0E38+1.0E38,不被MaxPLusII支持Variable a:integer range 255 to+255;物理类型主要用于调试,VHDL数据类型复合类型,Array Types多个相同类型成员组成的队列,一般用于定

12、义数据总线、地址总线等。Signal a:std_logic_vector(7 downto 0);a=B“00111010”;a=X“3A”;可自定义复合类型Type word is array(15 downto 0)of bit;Signal b:word;Type table8x4 is array(0 to 7,0 to 3)of bit;,VHDL数据类型复合类型,Record Types相同或不同类型的元素组成,类似C中的结构具有模型抽象能力,用于描述一个功能模块Type iocell is record Enable:DataBus:bit_vector(7 downto 0);end record;singal bus:iocell;bus.Enable=1;bus.DataBus=“00110110”;,VHDL数据类型及子类型Types And Su

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1