信息与通信FPGA原理及应用VHDL设计初步.ppt

上传人:sccc 文档编号:5289811 上传时间:2023-06-22 格式:PPT 页数:130 大小:975KB
返回 下载 相关 举报
信息与通信FPGA原理及应用VHDL设计初步.ppt_第1页
第1页 / 共130页
信息与通信FPGA原理及应用VHDL设计初步.ppt_第2页
第2页 / 共130页
信息与通信FPGA原理及应用VHDL设计初步.ppt_第3页
第3页 / 共130页
信息与通信FPGA原理及应用VHDL设计初步.ppt_第4页
第4页 / 共130页
信息与通信FPGA原理及应用VHDL设计初步.ppt_第5页
第5页 / 共130页
点击查看更多>>
资源描述

《信息与通信FPGA原理及应用VHDL设计初步.ppt》由会员分享,可在线阅读,更多相关《信息与通信FPGA原理及应用VHDL设计初步.ppt(130页珍藏版)》请在三一办公上搜索。

1、FPGA 原理及应用,第 4 章 VHDL设计初步,蛔缠普葵排腊句症钓堂恰阴寅蟹藩患春辨坟盲憨裂炬熙晋共栗霞童槽铜纤信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,原理图输入与 VHDL文本输入设计的区别Graphic is what you draw is what you get“tell me what hardware you want and I will give it to you”VHDL is what you write is what functional you get“tell me how your circuit sh

2、ould behave and the VHDL compiler will give you the hardware that does the job”but the designer can not control how the circuit implement,硒项敌榨执红窃纺庶姐群翰菠呕燃狗呻蔼丁希戒相胚退痕嫉雅盐寿桐洲罗信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,是什么是VHDL?,Very high speed integrated Hardware Description Language(VHDL)是IEEE、工业标准硬

3、件描述语言用语言的方式而非图形等方式描述硬件电路容易修改容易保存特别适合于设计的电路有:复杂组合逻辑电路,如:译码器、编码器、加减法器、多路选择器、地址译码器.状态机等等.,祝冯浓篙督旷秘善绩包祝婪盅琳恒侧寒萄鸣圆肋币谤皑至萧赏竖腮癣蛇刻信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,VHDL的功能和标准,VHDL 描述输入端口输出端口电路的行为和功能VHDL有过两个标准:IEEE Std 1076-1987(called VHDL 1987)IEEE Std 1076-1993(called VHDL 1993),光衫蝇悦额瓶罪耿穆泅瞻彪络釉歹喷

4、鹤唤监凤燎晚粤宙填幕餐浓署耶姑汗信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,VHDL Synthesis vs.other HDLs Synthesis,VHDL:“tell me how your circuit should behave and I will give you hardware that does the job”ABEL,PALASM,AHDL:“tell me what hardware you want and I will give it to you”,豁财萨田剁醚恋蝇席鸦扛遂背商啸圈短农恢甸脆淳祝墒宙鲸琵樱蹈厩

5、桓爆信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,Why using VHDL instead of Graphic,Easy to ModifyIt is more powerful than GraphicVHDL is a portable language becauseis device independentthe same code can be applied to Device manufactured by Company A or Company B,等君穗汛哀躲得孝瞥忙艘虐切证稿抿绳吨兽桶援菜斜娱亮穴嘻鳞映砍央盎信息与通信

6、FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.1 概述,4.1.1 常用硬件描述语言简介,常用硬件描述语言有VHDL、Verilog和ABEL语言。VHDL起源于美国国防部的VHSIC,Verilog起源于集成电路的设计,ABEL则来源于可编程逻辑器件的设计。下面从使用方面将三者进行对比。(1)逻辑描述层次:一般的硬件描述语言可以在三个层次上进行电路描述,其层次由高到低依次可分为行为级、RTL级和门电路级。VHDL语言是一种高级描述语言,适用于行为级和RTL级的描述,最适于描述电路的行为;Verilog语言和ABEL语言是一种较低级的描述语言,适用于R

7、TL级和门电路级的描述,最适于描述门级电路。,涅诀剿装娩假趋案爸葫鼎吧废勒亲稀二椿互洒奖挺埋药呈防度趟征宛鄙趋信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.1 概述,4.1.1 常用硬件描述语言简介,(2)设计要求:VHDL进行电子系统设计时可以不了解电路的结构细节,设计者所做的工作较少;Verilog和ABEL语言进行电子系统设计时需了解电路的结构细节,设计者需做大量的工作。(3)综合过程:任何一种语言源程序,最终都要转换成门电路级才能被布线器或适配器所接受。因此,VHDL语言源程序的综合通常要经过行为级RTL级门电路级的转化,VHDL几乎

8、不能直接控制门电路的生成。而Verilog语言和ABEL语言源程序的综合过程要稍简单,即经过RTL级门电路级的转化,易于控制电路资源。,战霖墟贮至三晋拙删卯克宴贿铰艰遇琼弹篮涣碌绢墟谍掌稿炙磐锣辑口纱信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.1 概述,4.1.1 常用硬件描述语言简介,(4)对综合器的要求:VHDL描述语言层次较高,不易控制底层电路,因而对综合器的性能要求较高,Verilog和ABEL对综合器的性能要求较低。(5)支持的EDA工具:支持VHDL和Verilog的EDA工具很多,但支持ABEL的综合器仅仅Dataio一家。(

9、6)国际化程度:VHDL和Verilog已成为IEEE标准,而ABEL正朝国际化标准努力。,骡垦蓄月碍什常沼琶励暖汁晦绥织竹瓢精节东抿添瘟渴完娶蜂式凸拱蛋框信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.1 概述,4.1.2 VHDL的优点,VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年底,IEEE公布了VHDL的标准版本(IEEE-1076)。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能

10、力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL与Verilog语言将承担起几乎全部的数字系统设计任务。,奉洒曙拂妇拎镰均焊安迄署摩鲸傀挚嘛生屯硝轻萧积亿踊郁荡挤堕蕾芦哦信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.1 概述,4.1.2 VHDL的优点,(1)VHDL具有更强的行为描述能力。强大的行为描述能力是避开具体的器件结构,

11、从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行的EDA工具和VHDL综合器而言,将基于抽象的行为描述风格的VHDL程序综合成为具体的FPGA和CPLD等目标器件的网表文件已不成问题,只是在综合与优化效率上略有差异。(2)VHDL具有丰富的仿真语句和库函数,使得在任何大系统的设计早期,就能查验设计系统的功能可行性,随时可对系统进行仿真模拟,使设计者对整个工程的结构和功能可行性做出判断。,将岗们胳卢球店蒲风藩敞饭钠销舶牢吨虐细次畅溃人撑隔厘陨倒怔畅雀徒信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.1 概述,4.1.2 VHDL的优点,

12、(3)VHDL语句的行为描述能力和程序结构,决定了它具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效、高速的完成必须有多人甚至多个开发组共同并行工作才能实现,VHDL中设计实体的概念、程序包的概念、设计库的概念为设计的分解和并行工作提供了有利的支持。,爽讨蛊旺摄薄石失记桶吴棋粱诡叮翌将较脱淀端炒楷乳唬系淖毗掐碟饿馅信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.1 2选1多路选择器的VHDL描述,【例4-1】ENTITY mux21a IS PORT(a,b:IN BIT;s:I

13、N BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN y=a WHEN s=0 ELSE b;END ARCHITECTURE one;,实体,结构体,图4-1 mux21a实体,图4-2 mux21a结构体,羌伯贩决驴队篓角缺闰悠脆圃送赫将店右寸浅佐缮恤俄引寝翻勘放禽启甚信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.1 2选1多路选择器的VHDL描述,【例4-2】ENTITY e_name IS PORT(p_nam

14、e:port_m data_type;.p_namei:port_mi data_type);END ENTITY e_name;【例4-2】ENTITY e_name IS PORT(p_name:port_m data_type;.p_namei:port_mi data_type);END e_name;,抄博说岩类囱评努拂远耀拥苗挨篷棘箕蓝宿斧点五虾膛腮另钢驱桂萨鸽爸信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.1 2选1多路选择器的VHDL描述,【例4-3】ENTITY mux21a IS PO

15、RT(a,b,s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN PROCESS(a,b,s)BEGIN IF s=0 THEN y=a;ELSE y=b;END IF;END PROCESS;END ARCHITECTURE one;,届溃庐韶闻青驾功骆住厨须重杠距无峡革蹭信框秽迪类星菲帘计鬃搀浴俯信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.1 2选1多路选择器的VHDL描述,图4-3 mux21a功能时序

16、波形,狈阂凌迸怔途郝烟辑渣证领竞疥魔走棺釜勿废嫩怎非物莎胞呻逮纤动粮因信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.1 2选1多路选择器的VHDL描述,一个的VHDL程序(或称为设计实体)包括两个基本组成部分:实体说明和实体对应的结构体说明。实体说明用于描述该设计实体与外界的接口信号说明,是可视部分;结构体说明用于描述该设计实体内部工作的逻辑关系,是不可视部分。在一个实体中,可以含有一个或一个以上的结构体,而在每一个结构体中又可以含有一个或多个进程以及其他的语句。根据需要,实体还可以有配置说明语句。配置说

17、明语句主要用于以层次化的方式对特定的设计实体进行元件例化,或是为实体选定某个特定的结构体。,汛试询诫壶敖嚷娇颂怒馆奸评甄砍史氏境娄债她肿贫砍薯衡哭敬吁窒缸捆信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.1 2选1多路选择器的VHDL描述,宏色赚役呐凉隋噶真匙扎摇疮恢呈垣契缄腔赣辙服斧陌塑莆娘悼哲纂鸭浓信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.2 相关语句结构和语法说明-实体,实体是一个设计实体的表层设计单元,其功

18、能是对这个设计实体与外部电路进行接口描述。它规定了设计单元的输入输出接口信号或引脚,是设计实体经封装后对外的一个通信界面。1实体语句结构实体说明单元的常用语句结构如下:ENTITY 实体名 IS GENERIC(类属表);PORT(端口表);END ENTITY 实体名;,驴穗廊无旁珊悟息森犹邮孺锡寅幻宿传孽冷秃姻蛀蛤脓尹封括筏铁笔旗警信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.2 相关语句结构和语法说明,实体说明单元必须以语句“ENTITY 实体名IS”开始,以语句“END ENTITY 实体名;”结

19、束,其中的实体名是设计者自己给设计实体的命名,可作为其他设计实体对该设计实体进行调用时用。中间在方括号内的语句描述,在特定的情况下并非是必须的。例如构建一个VHDL仿真测试基准等情况中可以省去方括号中的语句。,腰哆紧趋口屈幂捧岭蠢贰工晕吠私台齐炊挑帖竞柬枚僻喇族刷嘴同务态供信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.2 相关语句结构和语法说明,2类属(GENERIC)说明语句 类属(GENERIC)参量是一种端口界面常数,常以一种说明的形式放在实体或块结构体前的说明部分。类属为所说明的环境提供了一种静态

20、信息通道,类属的值可以由设计实体外部提供。因此,设计者可以从外面通过类属参量的重新设定而容易地改变一个设计实体或一个元件的内部电路结构和规模。,孕泪偶氛伯嘱巳裴摘痹鉴坑泻秘雕焊贝札序努帐苏钵道痞召斥宵凋夜匈来信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.2 相关语句结构和语法说明,类属说明的一般书写格式如下:GENERIC(常数名;数据类型:设定值;常数名:数据类型:设定值);类属参量以关键词GENERIC引导一个类属参量表,在表中提供时间参数或总线宽度等静态信息。类属表说明用于确定设计实体和其外部环境通

21、信的参数,传递静态的信息。类属说明在所定义的环境中的地位十分接近常数,但却能从环境(如设计实体)外部动态地接受赋值,其行为又有点类似于端口PORT。因此,常如以上的实体定义语句那样,将类属说明放在其中,且放在端口说明语句的前面。,鱼酉恼姚器球诡苗弹哀辙独砾寅凹剂跋柿忿癣敷卑厨徒揩颠锹欢旁舱眺埠信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.2 相关语句结构和语法说明,【例】ENTITY MCK IS GENERIC(WIDTH:INTEGER:=16);PORT(ADD_BUS:OUT STD_LOGIC_

22、VECTOR(WIDTH-1 DOWNTO 0);.在这里,GENERIC语句对实体MCK的作为地址总线的端口ADD_BUS的数据类型和宽度作了定义,即定义ADD_BUS为一个16位的位矢量。,雀焰董仆件应取瓜刚启掇芜甘休呛己虚骑除倒呸截枚捎甲井景代谋配槛应信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.2 相关语句结构和语法说明,【例】2输入与门的实体描述。ENTITY AND2 IS GENERIC(RISEW:TIME:=1 ns;FALLW:TIME:=1 ns);PORT(A1:IN STD_LO

23、GIC;A0:IN STD_LOGIC;Z0:OUT STD_LOGIC);END ENTITY AND2;这是一个准备作为2输入与门的设计实体的实体描述,在类属说明中定义参数RISEW为上沿宽度,FALLW为下沿宽度,它们分别为 1 ns,这两个参数用于仿真模块的设计。,粟癸缕赖澜叫集俘泻健园赞守锦氯折渭则诅出董庭汹闪滓驭囚笛俗恶残锡信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.2 相关语句结构和语法说明,3PORT端口说明 由PORT引导的端口说明语句是对于一个设计实体界面的说明。实体端口说明的一般书

24、写格式如下:PORT(端口名:端口模式 数据类型;端口名:端口模式 数据类型);,句廷壕注飞央榴薛政怎捏斌杜镀鹊堰剧霜臆赤启野擦筹瞳鸳闰孪笋因地葵信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.2 相关语句结构和语法说明,端口名是设计者为实体的每一个对外通道所取的名字;端口模式是指这些通道上的数据流动方式,如输入或输出等;数据类型是指端口上流动的数据的表达格式。由于VHDL是一种强类型语言,它对语句中的所有操作数的数据类型都有严格的规定。一个实体通常有一个或多个端口,端口类似于原理图部件符号上的管脚。实体与

25、外界交流的信息必须通过端口通道流入或流出。,潜玲锋肪佣桔膀鸯祭市奸蚕罕愧味披悯企云省召睹酿庙宝旗蒸暑带馈桨凄信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.2 相关语句结构和语法说明,4.端口模式,朱施榜探谗宁孺唤爬炳靳炔冕伪琵踊通佳涵扩孩矢舰聚涸梆养踏废壤痴惟信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,结构体是用于描述设计实体的内部结构以及实体端口间的逻辑关系。一般地,一个完整的

26、结构体由两个基本层次组成:对数据类型、常数、信号、子程序和元件等元素的说明部分。描述实体逻辑行为的,以各种不同的描述风格表达的功能描述语句。,膛氮机遇宿沏轻浊素走叔百圭牺宗碎毕尸膛抹愤椿践谷正兼恶包居矣肤榨信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,郑册电掏杖铝翟鳃南得菠彩露唤胜补违毡涧缩劣钡介夜训声葱绪舟棍疗絮信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法

27、说明-结构体,结构体将具体实现一个实体。每个实体可以有多个结构体,但同一结构体不能为不同的实体所拥有。对于具有多个结构体的实体,必须用CONFIGURATION配置语句指明用于综合的结构体和用于仿真的结构体,即在综合后的可映射于硬件电路的设计实体中,一个实体只对应一个结构体。,境迁仁人蟹匝梆瘁兢率楷蹈耿搞谚隶铜耶逢是瘸掉羌垣挠魄彰枚擦沿铬去信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,1.结构体的一般语句格式 结构体的语句格式如下:ARCHITECTURE 结构体名 O

28、F 实体名 IS 说明语句 BEGIN 功能描述语句 END ARCHITECTURE 结构体名;其中,实体名必须是所在设计实体的名字,而结构体名可以由设计者自己选择,但当一个实体具有多个结构体时,结构体的取名不可重复。,象象做淖郡汛追竖唱方袱疵绍筹乍枫签炽氓丛秉磅偶轨缩毛碳宴稳孤舆士信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,2结构体说明语句 结构体中的说明语句是对结构体的功能描述语句中将要用到的信号(SIGNAL)、数据类型(TYPE)、常数(CONSTANT)、

29、元件(COMPONENT)、函数(FUNCTION)和过程(PROCEDURE)等加以说明的语句。但在一个结构体中说明和定义的数据类型、常数、元件、函数和过程只能用于这个结构体中,若希望其能用于其他的实体或结构体中,则需要将其作为程序包来处理。,椰撒尔隶宗欢俺蚜考钉僻凹沽炸虚事尖逼世射率郸摆椭酋重嫩完蠢熟蹦勾信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,3功能描述语句结构 有五种不同类型的,以并行方式工作的语句结构。而在每一语句结构的内部可能含有并行运行的逻辑描述语句或

30、顺序运行的逻辑描述语句。各语句结构的基本组成和功能分别是:(1)块语句是由一系列并行执行语句构成的组合体,它的功能是将结构体中的并行语句组成一个或多个模块。,主钥瞪师墒黔争狠让闽些雁趾焕孙栓给唱糖蜡铬乍壁巡并愤涌眶渤倔独宽信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,(2)进程语句定义顺序语句模块,用以将从外部获得的信号值,或内部的运算数据向其他的信号进行赋值。(3)信号赋值语句将设计实体内的处理结果向定义的信号或界面端口进行赋值。(4)子程序调用语句用于调用一个已设计

31、好的子程序。(5)元件例化语句对其他的设计实体作元件调用说明,并将此元件的端口与其他的元件、信号或高层次实体的界面端口进行连接。,涡铡野盏绽索店世廓贿桑敷糯毙庇罪默家孙紧滁淘赏图膜娄蹭朵讥罗瞪菲信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,【例4-1】ENTITY mux21a IS PORT(a,b:IN BIT;s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN y=a

32、WHEN s=0 ELSE b;END ARCHITECTURE one;,慎育燎足再鹊莎商对喧寐岗绊阉生履纱钡壬骨朗灭譬物仲棠泛腔毯舟朴滁信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,4.赋值符号和数据比较符号,赋值符“=”,表式中的等号“=”没有赋值的含义,只是一种数据比较符号。输出结果数据类型是布尔数据类型BOOLEAN。BOOLEAN取值分别是:true false,y=a WHEN s=0 ELSE b;,端口a的数据向y输出,经历模拟器最小分辨时间,两边信号

33、的数据类型必须一致,军缸钥劣遂钞蒋赖摆雷料藻可纂布岳坛卷碑没敏辞滤嫂滥载救凋蚕肺节们信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,5.WHEN_ELSE条件信号赋值语句,赋值目标=表达式 WHEN 赋值条件 ELSE 表达式 WHEN 赋值条件 ELSE.表达式;,z=a WHEN p1=1 ELSE b WHEN p2=1 ELSE c;,烦颠籽站勤铝渔胀氨藉嘉素所择浚肇到碑骂轻济幼踞衰岗烩槐雁迷祝扫哉信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原

34、理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,【例4-2】ENTITY mux21a IS PORT(a,b:IN BIT;s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a IS SIGNAL d,e:BIT;BEGINd=a AND(NOT S);e=b AND s;y=d OR e;END ARCHITECTURE one;,妻寺抒厘基换叭师静慈步鸭陷豢媚煞伺抚姚恃绅邯紊臂抨揍鲤晒衅疲扩滚信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA

35、原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,7.逻辑操作符 p105,AND、OR、NOT,6.信号定义语句,SIGNAL d,e:BIT;,NAND、NOR、XOR、XNOR,予怜馅敷淡秤肯葫萧类靠只蚕驼筑蒸楞你拔检袱炼截弥狗怂讽敝席臣役援信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,VHDL的各种表达式由操作数和操作符组成,其中操作数是各种运算的对象,而操作符则规定运算的方式。,1操作符种类及对应的操作

36、数类型 在VHDL中,有四类操作符,即逻辑操作符(Logical Operator)、关系操作符(Relational Operator)和算术操作符(Arithmetic Operator),此外还有重载操作符(Overloading Operator)。前三类操作符是完成逻辑和算术运算的最基本的操作符的单元,重载操作符是对基本操作符作了重新定义的函数型操作符。各种操作符所要求的操作数的类型详见表3.2,操作符之间的优先级别见表3.3。,思乎狄带诞舜中店渝与泪阎迫爬俐噎晦官确砧芋涌铬焊脊嚼杉取骡藉诅暖信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步

37、,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,表3.2 VHDL操作符列表,辉约河遁犀右行距都爱梢宁捕钓缘汐惧鞭作诅斥判卡符竭漆闻溺宾工栏妥信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,表3.2 VHDL操作符列表,诫定裸瞬级产住赛卑歉嫂禁辜颧往匡贮顿袁能帜驹皆违脊锥讼展麓爷驰撩信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说

38、明-结构体,表3.3 VHDL操作符优先级,训注选谗戍汉剃舌胖挝债短滨碘郝怕铡态盆妇法清高培票裳饮楞灿柱颐式信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,2各种操作符的使用说明(1)严格遵循在基本操作符间操作数是同数据类型的规则;严格遵循操作数的数据类型必须与操作符所要求的数据类型完全一致的规则。(2)注意操作符之间的优先级别。当一个表达式中有两个以上的算符时,可使用括号将这些运算分组。(3)关系操作符的作用是将相同数据类型的数据对象进行数值比较(=、/=)或关系排序判

39、断(、=),并将结果以布尔类型(BOOTLEAN)的数据表示出来,即TRUE或FALSE两种。,亏戒逞甸舅或派鼓咎旦踏命恰并瞎另良浇筋圈瘪登收钝毁瞧拐敲烂掸卢转信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,(5)在表3.2中所列的17种算术操作符可以分为求和操作符、求积操作符、符号操作符、混合操作符、移位操作符等五类操作符。,求和操作符包括加减操作符和并置操作符。加减操作符的运算规则与常规的加减法是一致的,VHDL规定它们的操作数的数据类型是整数。并置运算符(&)的操作

40、数的数据类型是一维数组,可以利用并置符将普通操作数或数组组合起来形成各种新的数组。例如“VH”&“DL”的结果为“VHDL”;“0”&“1”的结果为“01”,连接操作常用于字符串。但在实际运算过程中,要注意并置操作前后的数组长度应一致。,巴粮躇庇咬豺莹虎咽滩衰球厅欲艘洒遥莱钓怕钮疟你昧铂耿漓龙诱努波牙信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,求积操作符包括*(乘)、/(除)、MOD(取模)和REM(取余)四种操作符。VHDL规定,乘与除的数据类型是整数和实数(包括浮

41、点数)。在一定条件下,还可对物理类型的数据对象进行运算操作。但需注意的是,虽然在一定条件下,乘法和除法运算是可综合的,但从优化综合、节省芯片资源的角度出发,最好不要轻易使用乘除操作符。对于乘除运算可以用其他变通的方法来实现。操作符MOD和REM的本质与除法操作符是一样的,因此,可综合的取模和取余的操作数必须是以2为底数的幂。MOD和REM的操作数数据类型只能是整数,运算操作结果也是整数。,颅榜湿御月绍那尽糜灾假摩翘恢酒惶复堂疼墅够搐鹅料芬梢坊彬腮捍锌菩信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关

42、语句结构和语法说明-结构体,符号操作符“+”和“-”的操作数只有一个,操作数的数据类型是整数,操作符“+”对操作数不作任何改变,操作符“-”作用于操作数后的返回值是对原操作数取负,在实际使用中,取负操作数需加括号。如:Z:=X*(-Y);。混合操作符包括乘方“*”操作符和取绝对值“ABS”操作符两种。VHDL规定,它们的操作数数据类型一般为整数类型。乘方(*)运算的左边可以是整数或浮点数,但右边必须为整数,而且只有在左边为浮点时,其右边才可以为负数。一般地,VHDL综合器要求乘方操作符作用的操作数的底数必须是2。,舶两塔惑淫舰梦与办攫伍击佛伍咎饿特住凯铣硅史闸经蔡贰珍图有雕挂钠信息与通信FPG

43、A原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,六种移位操作符号SLL、SRL、SLA、SRA、ROL和ROR都是VHDL93标准新增的运算符,在1987标准中没有。VHDL93标准规定移位操作符作用的操作数的数据类型应是一维数组,并要求数组中的元素必须是BIT或BOOLEAN的数据类型,移位的位数则是整数。,其中SLL是将位矢向左移,右边跟进的位补零;SRL的功能恰好与SLL相反;ROL和ROR的移位方式稍有不同,它们移出的位将用于依次填补移空的位,执行的是自循环式移位方式;SLA和S

44、RA是算术移位操作符,其移空位用最初的首位来填补。,先货聂吏氨取触职蜜挑寒筑裔大苞肘汗烈烫砂簿伴存奉披口雄递录表斡鹰信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,【例4-3】ENTITY mux21a IS PORT(a,b,s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN PROCESS(a,b,s)BEGIN IF s=0 THEN y=a;ELSE y=b;END I

45、F;END PROCESS;END ARCHITECTURE one;,刀剖慈益既钮夷摈雹氓龚纺辱睦论洋窖汤目驮嘻查驮览弗朴饱苔背蚜匝横信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,8.条件语句 p111,IF_THEN_ELSE,IF语句必须以语句“END IF;”结束,IF 条件句 THEN 顺序语句ELSIF 条件句 THEN 顺序语句;ELSE 顺序语句;END IF,其语句结构如下:,鸡擒缸讣馁洗叉怕揉毋况佯矽核能丛橇香亚利沏胳踩辅页厘加钠告雍借象信息与通信F

46、PGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,8.条件语句,IF语句中至少应有一个条件句,条件句必须由布尔表达式构成。IF语句根据条件句产生的判断结果TRUE或FALSE,有条件地选择执行其后的顺序语句。如果某个条件句的布尔值为真(TRUE),则执行该条件句后的关键词THEN后面的顺序语句,否则结束该条件的执行,或执行ELSIF或ELSE后面的顺序语句后结束该条件句的执行直到执行到最外层的END IF语句,才完成全部IF语句的执行。,稻挪输当埠拇腾邀浑拔镍阶罗雕扇宋嗡低煽柔鞋丽己渡

47、绘呢矮纱助烃坪呸信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,8.条件语句,K1:IF(AB)THEN OUTPUTB)检测结果为TRUE,则向信号OUTPUT赋值1,否则此信号维持原值。,扦梁媚禁独似派撼勉囚元眠哮免熔匆晴郊氧瞩涝肋粮试搜尿宿臀崎迷榆驹信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.2 多路选择器的VHDL描述,4.2.3 相关语句结构和语法说明-结构体,是放在processend引导的语句中。由 pr

48、ocess引导的语句称为进程语句。在vhdl,所有合法的顺序语句必须放在进程语句中。,9.进程语句和顺序语句 p137,Process(a,b,s)称为进程的敏感信号表,进程中所有输入信号都放在敏感信号表中。Process语句的执行依赖于敏感信号的变化(或称事件发生)。,10.文件取名和存盘,棍勿人痢籽邀党荧募兢评榆奠踩李酪龙挪卓辅拿群媳暮盔煌佛敏爆天浚潜信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.3 寄存器描述及其VHDL语言现象,4.3.1 D触发器的VHDL描述,梭缸屉安戚六痊埂跪申头机驴肾阎驳驴酝卢饺醛摧王茨键翔镰猩歉茨丢健信息与通

49、信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.3 寄存器描述及其VHDL语言现象,4.3.2 VHDL描述的语言现象说明,图4-4 D触发器,1.标准逻辑位数据类型STD_LOGIC,BIT数据类型定义:TYPE BIT IS(0,1);-只有两种取值,STD_LOGIC数据类型定义:TYPE STD_LOGIC IS(U,X,0,1,Z,W,L,H,-);,谴没歌努牡份摧刚腹球霞峡耐拥胞合潍灿李对罗沟职鉴痹遏奈附怜午医凑信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.3 寄存器描述及其VHDL语言现

50、象,4.3.2 VHDL描述的语言现象说明,图4-4 D触发器,2.设计库和标准程序包,LIBRARY WORK;LIBRARY STD;USE STD.STANDARD.ALL;,使用库和程序包的一般定义表式是:LIBRARY;USE.ALL;,轴印青灯触拉闭玖尔匪心坠隅垂睬水裴汉壕矫黎咸博候锨酋颠沃僳答囚结信息与通信FPGA原理及应用-VHDL设计初步信息与通信FPGA原理及应用-VHDL设计初步,4.3 寄存器描述及其VHDL语言现象,4.3.2 VHDL描述的语言现象说明,图4-4 D触发器,3.信号定义和数据对象,“CLKEVENT AND CLK=1”,“SIGNAL Q1:STD

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号