收藏 分销(赏)

复习资料VHDL大题课件市公开课一等奖省赛课微课金奖课件.pptx

上传人:人****来 文档编号:12620795 上传时间:2025-11-12 格式:PPTX 页数:27 大小:121.52KB 下载积分:10 金币
下载 相关 举报
复习资料VHDL大题课件市公开课一等奖省赛课微课金奖课件.pptx_第1页
第1页 / 共27页
复习资料VHDL大题课件市公开课一等奖省赛课微课金奖课件.pptx_第2页
第2页 / 共27页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/10/3,#,硬件描述语言(,Hardware Description Language,,,HDL,),:,即能够描述硬件电路功效、信号连接关系及定时关系一个语言。当前,VHDL和Verilog HDL已先后成为IEEE标准硬件描述语言。,1,复习资料VHDL大题课件,第1页,第1页,硬件描述语言 VHDL:,VHDL,英文全名是,VHSIC,(Very High Speed Integrated Circuits),Hardware Description Language,,即超高速集成电路硬件描述语言。,2,复习资料VHDL大题课件,第2页,第2页,VHDL设计文件,两个基本组成部分,实体,(Entity),结构体,(Architecture),配置,(Configuration),包集合,(Package),库,(Library),一个完整,VHDL程序,库,用于存放已编译实体、结构体、包集合和配置,VHDL程序基本结构,实体部分,描述设计系统外部接口信号(即输入/输出信号),结构体,用于描述,系统内部电路,配置,用于从库中选取所需元件安装到设计单元实体中,包集合,存放各设计模块能共享数据类型、常数、子程序等,3,复习资料VHDL大题课件,第3页,第3页,标识符规则是VHDL语言中符号书写普通规则。不但对电子系统设计工程师是一个约束,同时也为各种各样EDA工具提供了标准书写规范,使之在综合仿真过程中不生产生歧义,易于仿真。,VHDL语言有两个标准版:VHDL87版和VHDL93版。VHDL87版标识符语法规则经过扩展后,形成了VHDL93版标识符语法规则。前一部分称为短,标识符,,扩展部分称为,扩展标识符,。VHDL93版含有短标识符和扩展标识符两部分。,标识符,4,复习资料VHDL大题课件,第4页,第4页,短标识符规则,:,短标识符由,字母,、,数字,以及,下划线,字符组成,且含有以下特征要求:,第一个字符必须是字母;,最终一个字符不能是下划线;,不允许连续两个下划线;,在标识符中大、小写字母是等效。,VHDL中注释文字一律为2个连续连接线“-”,能够出现在任一语句后面,也能够出现在独立行;,VHDL保留字(关键字)不能用于标识符;,5,复习资料VHDL大题课件,第5页,第5页,以下标识符是非法:,_ tx_clk,8B10B,large#number,link_ _bar,select,rx_clk_,比如:以下标识符是正当:,tx_clk,Three_state_Enable,sel7D,HIT_1124,-,标识符必须起始于字母,-,只能是字母、数字、下划线,-,不能有连续两个下划线,-,关键字(保留字)不能用于标识符,-,最终字符不能是下划线,6,复习资料VHDL大题课件,第6页,第6页,扩展标识符规则,:,扩展标识符是VHDL93版增加标识符书写规则:,(1)扩展标识符用反斜杠来定界。比如:multi_screens,eda_centrol等都是正当扩展标识符。,(2)允许包含图形符号、空格符。比如:mode A,$100,p%name等。,(3)反斜杠之间字符能够用保留字。比如:buffer,entity,end等。,(4)扩展标识符界定符两个斜杠之间能够用数字打头。如:,100$,2chip,4screens等。,(5)扩展标识符中允许多个下划线相连。比如:Four_screens,TWO_Computer_sharptor等。,(6)扩展标识符区分大小写。比如:EDA 与eda不一样。,(7)扩展标识符与短标识符不一样。比如:COMPUTER 与Computer不一样。,7,复习资料VHDL大题课件,第7页,第7页,信号和变量主要区分:,1.,变量,是一个局部量,只能用于进程或子程序中;,信号,是一个全局量,它能够用来进行进程之间通信。,2.,变量赋值,马上生效,不存在延时行为;,信号赋值,含有非马上性,信号之间传递含有延时性。,4.,信号赋值,能够出现在进程中,也能够直接出现在结构体中,但它们,运行含义,不一样:,前者,属次序信号赋值,此时赋值操作要视进程是否已被开启;,后者,属并行信号赋值,其赋值操作是各自独立并行发生。,3.,变量,用作进程中暂存数据单元;,信号,用作电路中信号连线。,8,复习资料VHDL大题课件,第8页,第8页,5.在进程中,变量和信号赋值形式与操作过程不一样,:,在变量赋值语句中,,该语句一旦被执行,其值马上被赋予变量。在执行下一条语句时,该变量值即为上一句新赋值。,在信号赋值语句中,,该语句即使被执行,其值不会使信号马上发生代入,在下一条语句执行时,仍使用原来信号值。直到进程结束之后,全部信号赋值实际代入才次序进行处理。所以,实际代入过程和赋值语句执行是分开进行。,如例a所表示。,9,复习资料VHDL大题课件,第9页,第9页,例a,信号和变量值代入区分举例,PROCESS,(a,b,c,d),BEGIN,d=a;,x=b+d;,d=c;,y=b+d;,END PROCESS,;,结果:,x=b+c;,y=b+c;,PROCESS,(a,b,c),VARIABLE,d:std_logic_vector(3 downto 0);,BEGIN,d:=a;,x=b+d;,d:=c;,y=b+d;,END PROCESS,;,结果:,x=b+a;,y=b+c;,当进程运行时,信号赋值将自上而下次序执行,但第一项赋值操作并不会发生,这是因为信号赋值是在进程结束时才起作用。因为在进程结束更新时,d最终一个赋值为c,所以执行结果为该式。,10,复习资料VHDL大题课件,第10页,第10页,数据类型,含 义,整数,整数32位,取值范围:(2,31,1)(2,31,1),实数,浮点数,取值范围:-1.0e+38 1.0e+38,位,逻辑0或1,位矢量,位矢量,用双引号括起来一组数据,布尔量,逻辑“真”或“假”,用TRUE和FALSE标识,字符,ASCII字符,字符串,字符矢量,时间,时间单位fs,ps,ns,s,ms,sec,min,hr,自然数、正整数,整数子集:自然数取值范围为0(2311);正整数是大于0整数,错误等级,Note,warning,error,failure,标准数据类型,11,复习资料VHDL大题课件,第11页,第11页,IEEE库STD_LOGIC_1164程序包中定义STD_LOGIC类型和STD_LOGIC_VECTOR类型。(VHDL93标准),STD_LOGIC,类型数据能够含有九种取值,其含义以下,:,U:,初始值,X:,不定态,0:,强制0,1:,强制1,Z:,高阻态,W:,弱信号不定态,L:,弱信号0,H:,弱信号1,_:,不可能情况(可忽略值),其中,,“X”,方便了系统仿真,,“Z”,方便了双向总线描述。,12,复习资料VHDL大题课件,第12页,第12页,STD_LOGIC_VECTOR,类型定义以下,:,TYPE,STD_LOGIC_VECTOR,IS ARRAY(NATURAL,RANGE)OF STD_LOGIC;,13,复习资料VHDL大题课件,第13页,第13页,次序语句,信号代入语句,变量赋值语句,WAIT语句,IF语句,CASE语句,LOOP语句,NEXT语句,EXIT语句,RETURN语句,NULL语句,次序语句,用在进程或子程序中,用来定义进程或子程序,行为,。,次序语句,每一条语句执行(指仿真执行)都是按语句排列次序执行。,14,复习资料VHDL大题课件,第14页,第14页,例a 设计4选1多路选择器,ENTITY,mux4_1,IS,PORT,(d :,IN,STD_LOGIC_VECTOR(3 DOWNTO 0);,sel :,IN,STD_LOGIC_VECTOR(1 DOWNTO 0);,y :,OUT,STD_LOGIC);,END,mux4_1;,ARCHITECTURE,rtl,OF,mux4_1,IS,BEGIN,PROCESS,(d,sel),BEGIN,IF,(sel=00),THEN,y=d(0);,ELSIF,(sel=01),THEN,y=d(1);,ELSIF,(sel=10),THEN,y=d(2);,ELSE,y=d(3);,END IF,;,END PROCESS,;,END,rtl;,次序语句,15,复习资料VHDL大题课件,第15页,第15页,并行语句,并发语句主要包含:,进程语句,BLOCK语句,并发代入语句,条件代入语句,选择信号语句,ASSERT(并行断言)语句,COMPONENT(元件调用)语句,GENERATE(生成)语句,16,复习资料VHDL大题课件,第16页,第16页,条件信号代入,语句,条件信号代入,语句也是并发描述语句,。,条件信号赋值语句格式为:,目标信号=表示式1,WHEN,条件1,ELSE,表示式2,WHEN,条件2,ELSE,表示式n;,并发描述语句,17,复习资料VHDL大题课件,第17页,第17页,例a:4选1多路选择器,ENTITY wmux4_1 IS,PORT(i0,i1,i2,i3,a,b:INSTD_LOGIC;,q:OUTSTD_LOGIC);,END wmux4_1;,ARCHITECTURE rtl OF wmux4_1 IS,SIGNAL sel:STD_LOGIC_VECTOR(1 downto 0);,BEGIN,sel=b,&,a;,q=i0,WHEN,sel=00,ELSE,i1,WHEN,sel=01,ELSE,i2,WHEN,sel=10,ELSE,i3,WHEN,sel=11,ELSE,X;,END rtl;,并发描述语句,18,复习资料VHDL大题课件,第18页,第18页,PROCESS语句关键点:,PROCESS,语句结构由三个关键部分组成,即进程说明语句部分、次序描述语句部分和,敏感信号参数表(可能有多个敏感信号).,(2)即使,PROCESS,语句结构括号内容,如“进程标号”、“敏感信号表”能够省略,但普通都需标明最少一个敏感信号。这是因为当进程中定义任一敏感信号发生改变时,进程马上“开启”,即进程中次序语句就立刻次序执行一次,当进程中最终一个语句执行完成后,执行过程将返回到第一个语句,以,等候,下一次敏感信号改变,如此循环往复以至无限。,不然若不标明敏感信号,除了初始化阶段,进程永远不会被再次激活。,19,复习资料VHDL大题课件,第19页,第19页,(3)进程说明语句部分主要定义一些局部,变量,,可包含数据类型、常数、属性、子程序等。,但需注意,,在进程说明语句中不允许定义信号。,(4),在进程中,只能将信号列入敏感信号表,而不能将变量列入敏感信号表,即进程只对信号敏感,而对变量不敏感。,(5)进程开启是由敏感信号表中敏感信号改变激活,但也可用WAIT语句(有四种书写格式),替换敏感信号表功效。,20,复习资料VHDL大题课件,第20页,第20页,WAIT语句,WAIT语句有以下四种形式:,WAIT,-,无限等候,WAIT ON,敏感信号表;-,敏感信号量改变,进程开启,WAIT UNTIL,条件表示式;-,表示式成立时,进程开启,WAIT FOR,时间表示式;-,时间到,进程开启,WAIT语句,是进程(含过程)同时语句,是进程开启点。在进程(或过程)中,当执行到,WAIT,等候语句时,运行程序将被挂起,直到满足此语句结束挂起条件后,将重新开始执行进程(或过程)中程序。,WAIT,作为进程体一条语句同进程体内其它语句次序执行。,未设置挂起条件,表示,永远挂起,即无限等候。,2.敏感信号等候语句,即敏感信号一旦发生改变将结束挂起,再次开启进程。VHDL要求,已列出敏感信号表进程中不能使用任何形式WAIT语句。普通,WAIT语句可用于进程中任何地方。,3.条件等候语句。被此语句挂起进程需满足以下两个条件才能结束挂起状态,重新开启:,条件表示式中所含信号发生了改变;,此信号改变后,且满足WAIT语句所设条件。,两条件缺一不可,且必须依照以上次序完成。,4.超时等候语句(此语句不可综合,故不再讨论)。,例,1:,利用WAIT语句设计与非门电路。,nandx:PROCESS,BEGIN,y=a NAND b;,WAIT ON a,b;,END PROCESS nandx;,次序语句,21,复习资料VHDL大题课件,第21页,第21页,并发描述语句,3.2.9 COMPONENT语句,元件例化语句使我们能够把原来设计好VHDL功效模块看成元件一样用在其它VHDL文件中。,元件说明语句书写格式为:,COMPONENT,元件名,GENERIC,说明;,PORT,说明;,END COMPONENT,;,元件例化语句格式为:,标号:元件名,GENERIC MAP,(参数,),标号:元件名,PORT MAP,(连接端口,),元件例化:即引入一个连接关系,它将预先设计好设计实体定义为一个元件,然后利用,特定语句,将此元件与当前设计实体中指定端口相连接,从而为当前设计实体引入一个新低一级设计层次。,元件例化是使VHDL设计实体组成自上而下层次化设计一个主要路径。,元件例化能够是,多层次,。,22,复习资料VHDL大题课件,第22页,第22页,例1:半加器,ENTITY h_adder IS,PORT(a,b:INSTD_LOGIC;,s,c:OUTSTD_LOGIC);,END h_adder;,ARCHITECTURE rtl OF h_adder IS,BEGIN,c=a AND b;,s=a XOR b;,END rtl;,例2:全加器,a,b,c,s,h_adder,a,b,c,s,h_adder,a,ci,b,s,co,c,1,c,2,s,1,u1,u2,并发描述语句,23,复习资料VHDL大题课件,第23页,第23页,例2:全加器,ENTITY f_adder IS,PORT(a,b,ci:INSTD_LOGIC;,s,co:OUTSTD_LOGIC);,END f_adder;,ARCHITECTURE arc OF f_adder IS,COMPONENT h_adder,PORT(a,b:INSTD_LOGIC;,s,c:OUTSTD_LOGIC);,END COMPONENT;,SIGNAL s1,c1,c2:STD_LOGIC;,BEGIN,u1:h_adder PORT MAP(a,b,s1,c1);,u2:h_adder PORT MAP(s1,c1,s,c2);,co=c1 OR c2;,END arc;,并发描述语句,24,复习资料VHDL大题课件,第24页,第24页,从设计方法学角度来看,数字系统设计方法可分为,自顶向下,和,自底向上,两种。,以自顶向下观点来分析,设计过程是分层次。在每一个层次上,大致都有描述、划分、综合和验证等四种类型工作。我们把靠近概念设计层次定义为抽象级别较高层次;而把靠近物理实现层次定义为较低层次。显然,设计者希望从高层次描述开始,经过EDA工具逐步实现芯片版图设计。这是自动设计理想境界,是EDA工具高度发展结果。因为门级芯片设计和生产使我们积累起门级单元库;今后在门级单元库基础上又建立起宏单元库(比如加法器、译码器、多路选择器、计数器)。这种从小模块逐层结构大模块以至整个系统方法,称为自底向上法。,数字系统设计方法,25,复习资料VHDL大题课件,第25页,第25页,VHDL语言库分为:,设计库、资源库,。,设计库对当前设计是永远可见,在使用它们时候无需在源代码开头部分使用Library子句、USE子句申明;包含有STD库和WORK库(是VHDL语言工作库,用于保留当前正在进行设计)。,资源库是常规元件和标准模块存放库,使用哪个资源库要预先申明,使用哪个程序包要说明是“可见”;包含有IEEE库、VITAL库和用户自定义库。,26,复习资料VHDL大题课件,第26页,第26页,练习题:,请用VHDL描述带异步复位和同时复位D触发器。,27,复习资料VHDL大题课件,第27页,第27页,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服