版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第7章章 VHDL设计深入设计深入 7.1 进程中的信号赋值与变量赋值进程中的信号赋值与变量赋值 对进程中的赋值行为要注意三点:对进程中的赋值行为要注意三点:1、信号的赋值需要一个信号的赋值需要一个延时。延时。2、进程中赋值特点是,所有赋值语句,包括信号赋值和变量赋值,都必须进程中赋值特点是,所有赋值语句,包括信号赋值和变量赋值,都必须在一个在一个延时内完成(变量在延时内完成(变量在延时前即已经完成赋值),在进程中的顺序延时前即已经完成赋值),在进程中的顺序赋值是以并行的方式赋值是以并行的方式“同时同时”完成的,因此是在执行到完成的,因此是在执行到END PROCESS语句语句时才发生的,执
2、行赋值操作和完成赋值是两个不同的概念。时才发生的,执行赋值操作和完成赋值是两个不同的概念。3、当在进程中存在同一信号有多个赋值源(即对同一信号发生多次赋值)当在进程中存在同一信号有多个赋值源(即对同一信号发生多次赋值)时,实际完成赋值,即赋值对象的值发生更新的信号是最接近时,实际完成赋值,即赋值对象的值发生更新的信号是最接近END PROCESS语句信号。语句信号。7.1 进程中的信号赋值与变量赋值进程中的信号赋值与变量赋值 7.1 进程中的信号赋值与变量赋值进程中的信号赋值与变量赋值 7.1 进程中的信号赋值与变量赋值进程中的信号赋值与变量赋值 7.1 进程中的信号赋值与变量赋值进程中的信号
3、赋值与变量赋值 e1执行赋值在前,执行赋值在前,c1执执行赋值在后,但完成赋值行赋值在后,但完成赋值时,变量时,变量c1获得获得0011值值的时刻比的时刻比e1获得获得1010值值的时间早一个的时间早一个7.1 进程中的信号赋值与变量赋值进程中的信号赋值与变量赋值 m u x v a l = 0 和和 m u x v a l = muxval+1没有得到赋值,只有没有得到赋值,只有muxval=muxval+2得到赋值,得到赋值,因此因此muxval始终是一个未知值始终是一个未知值,结果只能被综合成随,结果只能被综合成随a和和b变动变动的时序电路,导致的时序电路,导致muxval成为成为一个不
4、确定的信号。一个不确定的信号。7.1 进程中的信号赋值与变量赋值进程中的信号赋值与变量赋值 首先执行首先执行muxval:=0( muxval 即即刻被更新)从而使刻被更新)从而使if语句的语句的muxval 都能得到确定的初始值。尽管都能得到确定的初始值。尽管if语句语句从表面上看很像不完整的条件语句从表面上看很像不完整的条件语句,但都不可综合时序电路,而综合,但都不可综合时序电路,而综合成为纯组合电路。成为纯组合电路。7.2 含高阻输出的电路设计含高阻输出的电路设计 三态电路是一种重要的总线接口电路。三态,是指它的三态电路是一种重要的总线接口电路。三态,是指它的输出既可以是一般二值逻辑电路
5、的正常的输出既可以是一般二值逻辑电路的正常的“0”状态和状态和“1”状态,又可以保持特有的高阻抗状态,第三种状态状态,又可以保持特有的高阻抗状态,第三种状态高阻状态的门电路。处于高阻抗状态时,其输出相当于高阻状态的门电路。处于高阻抗状态时,其输出相当于断开状态,没有任何逻辑控制功能。断开状态,没有任何逻辑控制功能。三态门三态门是一种扩展逻辑功能的输出级,也是一种控制开关。主要是是一种扩展逻辑功能的输出级,也是一种控制开关。主要是用于总线的连接,因为总线只允许同时只有一个使用者。通常在数用于总线的连接,因为总线只允许同时只有一个使用者。通常在数据总线上接有多个器件,每个器件通过据总线上接有多个器
6、件,每个器件通过OE/CE之类的信号选通。如之类的信号选通。如器件没有选通的话它就处于高阻态,相当于没有接在总线上,不影器件没有选通的话它就处于高阻态,相当于没有接在总线上,不影响其它器件的工作。响其它器件的工作。在在VHDL中,设计三态门时,用中,设计三态门时,用std_logic数据类型对数据类型对Z变量赋值,变量赋值,即引入三态门,在控制下使其输出呈高阻状态,就等效于禁止输出。即引入三态门,在控制下使其输出呈高阻状态,就等效于禁止输出。7.2 含高阻输出的电路设计含高阻输出的电路设计 7.2.1 三态门设计三态门设计 要注意的是,要注意的是,Z在综合中是一个不确在综合中是一个不确定的值,
7、不同的综合器会给出不同定的值,不同的综合器会给出不同的结果。对于关键词的结果。对于关键词VHDL不区分大不区分大小写,但是高阻小写,但是高阻Z需要大写。需要大写。 在设计中,如果使用在设计中,如果使用std_logic数据类型的数据类型的Z对一个变量赋值,即会引入三态门,并对一个变量赋值,即会引入三态门,并在控制下可使其输出呈现高阻态,这等效于在控制下可使其输出呈现高阻态,这等效于使三态门禁止输出。使三态门禁止输出。7.2 含高阻输出的电路设计含高阻输出的电路设计 7.2.2 双向端口的设计方法双向端口的设计方法 用用inout端口模式设计双向端口端口模式设计双向端口也必须考虑三态的使用,因为
8、双也必须考虑三态的使用,因为双向端口的设计与三态端口的设计向端口的设计与三态端口的设计十分相似,都必须考虑端口的三十分相似,都必须考虑端口的三态控制。这是由于双向端口在完态控制。这是由于双向端口在完成输入功能时,必须使原来呈输成输入功能时,必须使原来呈输出模式的端口呈高阻态,否则,出模式的端口呈高阻态,否则,待输入的外部数据势必会于端口待输入的外部数据势必会于端口处原电平发生处原电平发生“线与线与”,导致无法导致无法将外部数据正确地读入以实现将外部数据正确地读入以实现“双向双向”功能,功能,7.2 含高阻输出的电路设计含高阻输出的电路设计 7.2.2 双向端口的设计方法双向端口的设计方法 把把
9、x定义为三态门输出口,图定义为三态门输出口,图7-6显示,尽管在程序的实体部分显示,尽管在程序的实体部分已经明确地定义了已经明确地定义了q为双向端口,但在显示电路中的综合结果为双向端口,但在显示电路中的综合结果却只有一个输出端口,而且在电路中还插入了一个锁存器。却只有一个输出端口,而且在电路中还插入了一个锁存器。利用利用q的输入功能将的输入功能将q端口的数据端口的数据读入并传输给读入并传输给x(即执行即执行xZ)、高)、高阻态阻态“线与线与”是没有关系的,是没有关系的,但如果将(但如果将(others=Z)改)改成(成(others=0)或其它,)或其它,综合必定无法通过。综合必定无法通过。7
10、.3 资源优化资源优化 FPGA/CPLD资源的优化具有一定的实用意义:资源的优化具有一定的实用意义:1、通过优化,可以使用规模更小的可编程器件,从而、通过优化,可以使用规模更小的可编程器件,从而降低系统成本,提升性价比。降低系统成本,提升性价比。2、对于某些对于某些PLD器件,当耗用资源过多时严重影响优器件,当耗用资源过多时严重影响优化的实现。化的实现。3、为以后的技术升级,留下更多的可编程资源,方便为以后的技术升级,留下更多的可编程资源,方便添加产品的功能。添加产品的功能。4、对于多数可编程逻辑器件,资源耗用太多会使器件对于多数可编程逻辑器件,资源耗用太多会使器件功耗显著上升。功耗显著上升
11、。面积优化的实现有多种方法,其中比较典型的是资源面积优化的实现有多种方法,其中比较典型的是资源共享优化。共享优化。7.3 资源优化资源优化 7.3.1 资源共享资源共享 对于多位乘法器、快速进位加对于多位乘法器、快速进位加法器等算术模块,使用资源共法器等算术模块,使用资源共享技术往往能大大优化资源,享技术往往能大大优化资源,现在某些高级的现在某些高级的HDL综合器,综合器,比如比如Quartus 的的Synplify Pro等,通过设置就能自动识别设等,通过设置就能自动识别设计中需要资源共享的逻辑结构计中需要资源共享的逻辑结构,自动进行资源共享。,自动进行资源共享。对数据通路中耗费逻辑资源比对
12、数据通路中耗费逻辑资源比较多的模块,通过选择、复用较多的模块,通过选择、复用的方式共享使用该模块,以减的方式共享使用该模块,以减少该模块的使用个数,达到减少该模块的使用个数,达到减少资源利用,优化面积的目的少资源利用,优化面积的目的这也对应这也对应HDL特定目标的编码特定目标的编码风格。风格。7.3 资源优化资源优化 7.3.1 资源共享资源共享 并不是在任何情况下都能实并不是在任何情况下都能实现资源优化的,图中使用与现资源优化的,图中使用与门之类的模块使用资源共享门之类的模块使用资源共享共享,通常是毫无意义的,共享,通常是毫无意义的,有时会增加资源的使用(多有时会增加资源的使用(多路选择器的
13、面积显然要大于路选择器的面积显然要大于与门)与门)7.3 资源优化资源优化 7.3.2 逻辑优化逻辑优化 使用优化后的逻使用优化后的逻辑进行设计,可辑进行设计,可以明显减少资源以明显减少资源的占用。的占用。定义信号量,存在延时特性,定义信号量,存在延时特性,因此,因此,7-15相比相比7-16要耗费更要耗费更多的逻辑资源多的逻辑资源串行优化串行优化是指把原是指把原来耗用资源巨大、来耗用资源巨大、单时钟周期内完成单时钟周期内完成的并行执行的逻辑的并行执行的逻辑块分割开来,提出块分割开来,提出相同的逻辑模块相同的逻辑模块(一一般为组合逻辑块般为组合逻辑块),在时间上复用该逻在时间上复用该逻辑块,用
14、多个时钟辑块,用多个时钟周期完成相同的功周期完成相同的功能,能,其代价是工作其代价是工作速度大为降低。速度大为降低。7.3 资源优化资源优化 7.3.3 串行化串行化 乘法累加器乘法累加器7.3 资源优化资源优化 7.3.3 串行化串行化 乘法累加器乘法累加器7.3.3 串行化串行化 7.3 资源优化资源优化 7.4 速速 度度 优优 化化 7.4.1 流水线设计流水线设计 工作原理工作原理: 一个信号从输一个信号从输入到输出需要经两个寄入到输出需要经两个寄存器(不考虑输入寄存存器(不考虑输入寄存器 ) , 共 需 时 间 位器 ) , 共 需 时 间 位T1+T2+2Treg(Treg为寄为
15、寄存器延时存器延时),),时间约为时间约为Ta。但是每隔但是每隔T1时间,时间,输出寄存器就输出一个输出寄存器就输出一个结果,输入寄存器输入结果,输入寄存器输入一个新的数据。这时两一个新的数据。这时两个逻辑块处理的不是一个逻辑块处理的不是一个信号,资源被优化利个信号,资源被优化利用了,而寄存器对信号用了,而寄存器对信号数据做了暂存。数据做了暂存。对大多数设计来说,速度优化比资源优化更重要,对大多数设计来说,速度优化比资源优化更重要,需要优先考虑。在设计中加入流水线,并不会减需要优先考虑。在设计中加入流水线,并不会减少原设计中的总延时,有时甚至还会增加插入的少原设计中的总延时,有时甚至还会增加插
16、入的寄存器的延时即信号同步的时间差,但却可以提寄存器的延时即信号同步的时间差,但却可以提高总体的运行速度。高总体的运行速度。总耗时总耗时Ta总 耗 时 约总 耗 时 约 T 1 ,T1=Ta/27.4 速速 度度 优优 化化 7.4.1 流水线设计流水线设计 7.4 速速 度度 优优 化化 7.4.1 流水线设计流水线设计 7.4 速速 度度 优优 化化 7.4.1 流水线设计流水线设计 7.4 速速 度度 优优 化化 7.4.2 关键路径法关键路径法 关键路径法关键路径法:是指设计从输入到输出经过的延时最长的逻辑路径是指设计从输入到输出经过的延时最长的逻辑路径优化关键路径优化关键路径是一种提
17、高设计是一种提高设计工作速度的有效方法。一般地工作速度的有效方法。一般地,从输入到输出延时取决于信,从输入到输出延时取决于信号所经过的延时最大(或称最号所经过的延时最大(或称最长)路径,而与其它延时小的长)路径,而与其它延时小的路径无关。路径无关。减少该模块的延时,从输入到输出的总延减少该模块的延时,从输入到输出的总延时就能得到改善,在优化设计的过程中关时就能得到改善,在优化设计的过程中关键路径法可以反复使用直到不可能减少关键路径法可以反复使用直到不可能减少关键路径延时为止,键路径延时为止,HDL综合器及设计分综合器及设计分析器通常都提供关键路径的信息以便设计析器通常都提供关键路径的信息以便设
18、计者改进设计,提高速度。者改进设计,提高速度。图中,图中,Td1Td2,Td1Td3,所所以关键路径为延时以关键路径为延时Td1的模块。的模块。7.5 仿仿 真真 延延 时时 在在行为仿真行为仿真中的两类延时模型:中的两类延时模型:固有延时固有延时和和传输延时传输延时。 功能仿真或行为仿真功能仿真或行为仿真中的中的延时延时。 时序仿真时序仿真中的延时信息是对选定的中的延时信息是对选定的FPGA或或CPLD进进行适配后所得的时序仿真文件的信息。行适配后所得的时序仿真文件的信息。 延时是延时是VHDL仿真需要的重要特性设置,为设计而建仿真需要的重要特性设置,为设计而建立精确的延时模型,可以使用立精
19、确的延时模型,可以使用VHDL仿真器得到接近实仿真器得到接近实际的精确结果,在际的精确结果,在FPGA开发过程中,源文件一般不需开发过程中,源文件一般不需要建立延时模型,因为要建立延时模型,因为EDA软件可以使用门级仿真器对软件可以使用门级仿真器对选定的选定的FPGA适配器所得的时序仿真文件进行精确仿真。适配器所得的时序仿真文件进行精确仿真。7.5 仿仿 真真 延延 时时 7.5.1 固有延时固有延时 固有延时模型的赋值语句中固有延时模型的赋值语句中A的维持时的维持时间小于间小于20ns 固有延时(固有延时(Inertial Delay)也称为惯性延时,是任何电子器件都存在的一种延也称为惯性延
20、时,是任何电子器件都存在的一种延时特性,固有延时的主要物理机制是分布电容效应。在惯性延时模型中,器件时特性,固有延时的主要物理机制是分布电容效应。在惯性延时模型中,器件的输出都有一个固有的延时,为了使器件对输入信号的变化产生响应,就必须的输出都有一个固有的延时,为了使器件对输入信号的变化产生响应,就必须使信号变化后的维持时间足够长,即使信号变化后的维持时间足够长,即信号的脉冲宽度必须大于器件的固有延时信号的脉冲宽度必须大于器件的固有延时。例:例:z= x XOR y;表示表示x XOR y的值在的值在时间后才赋给时间后才赋给z。例:例: z= x XOR y AFTER 5 ns; 表示此赋值
21、电路的惯性延时为表示此赋值电路的惯性延时为5ns,当,当x XOR y的值发生变化,经过的值发生变化,经过5ns后才赋给后才赋给z,要求,要求x XOR y变化后的稳定时间不能少于变化后的稳定时间不能少于5ns。当没有指明固有延时量,在当没有指明固有延时量,在VHDL仿真器中,有一个默认的固有延时量仿真器中,有一个默认的固有延时量(仿真器的最小分辨时间),被称为(仿真器的最小分辨时间),被称为延时。大多数情况下,这一固有延延时。大多数情况下,这一固有延时量近似地反映了实际器件的行为。时量近似地反映了实际器件的行为。7.5 仿仿 真真 延延 时时 7.5.2 传输延时传输延时 传输延时传输延时是
22、信号传输时是信号传输时在器件和连线上的延时在器件和连线上的延时。 传输延时与固有延时传输延时与固有延时相比,其不同之处在于传输延时表达的是输入与输出之间的一种相比,其不同之处在于传输延时表达的是输入与输出之间的一种绝对延绝对延时时,不必考虑信号的持续时间,仅表示信号传输推迟一个时间段。,不必考虑信号的持续时间,仅表示信号传输推迟一个时间段。注意:注意: 虽然传输延时和固有延时的物理机制不一样,但在行为仿真中,传输虽然传输延时和固有延时的物理机制不一样,但在行为仿真中,传输延时与固有延时造成的延时效应是一样的。延时与固有延时造成的延时效应是一样的。 在综合过程中,综合器将忽略在综合过程中,综合器
23、将忽略AFTER后的所有延时设置,而对后的所有延时设置,而对TRANSPORT语句也仅作普通赋值语句处理。语句也仅作普通赋值语句处理。例:例: B=A AFTER 20ns;例:例: B= TRANSPORT A AFTER 20ns;7.5 仿仿 真真 延延 时时 7.5.3 仿真仿真 综合器不支持延时语句,在综合器不支持延时语句,在综合后的功能仿真中,仿真器好像仅对系统综合后的功能仿真中,仿真器好像仅对系统的逻辑行为进行了模拟测定的逻辑行为进行了模拟测定,而没有把器件的延时特性考虑进去,而没有把器件的延时特性考虑进去,仿真器仿真器给出的结果仅是逻辑功能给出的结果仅是逻辑功能。 按理说,功能
24、仿真就是假设器件间的延迟时间为零的仿真,然而事实并按理说,功能仿真就是假设器件间的延迟时间为零的仿真,然而事实并非如此,由于无论是行为仿真还是功能仿真,都是利用计算机进行软件仿非如此,由于无论是行为仿真还是功能仿真,都是利用计算机进行软件仿真,即使在并行语句的仿真执行上也是有先后的,真,即使在并行语句的仿真执行上也是有先后的,在零延时条件下,当作在零延时条件下,当作为敏感量的输入信号发生变化,并行语句执行的次序无法确定,而不同的为敏感量的输入信号发生变化,并行语句执行的次序无法确定,而不同的执行次序会得出不同的结果,最后将导致错误的仿真结果执行次序会得出不同的结果,最后将导致错误的仿真结果,这种错误仿真,这种错误仿真的根本原因在零延时假设在客观世界是不存在的。的根本原因在零延时假设在客观世界是不存在的。VHDL仿真器和综合器将仿真器和综合器将自动为系统中的信号赋值配置一足够小而又能自动为系统中的信号赋值配置一足够小而又能满足逻辑排序的延时量满足逻辑排序的延时量,即仿真软件的最小分辩时间,这个延时量就称,即仿真软件的最小分辩时间,这个延时量就称为仿真为仿真 (Simulation Delta),或称),或称 延时延时,从而使并行语句和顺序语,从而使并行语句和顺序语句中的并列赋值逻辑得以正确执行。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 康复专业职业规划
- 会计学基础(第9版 立体化数字教材版)课件 第十二章 会计职业道德
- CL品牌策略提案-上海奥美
- IC单片机原理及应用第十三章
- II型双块式轨道施工
- LED显示屏应用基础知识
- 公司员工试用期转正工作总结报告
- 2026四上数学优化复习课件
- CRM客户关系管理
- 2026年高铁结构设计题库及答案
- 2026年公务员考试公共基础知识法律常识试题库及答案
- 2026华为AIFW技术白皮书-华为
- 2026湖北荆门市交通旅游投资集团有限公司招聘10人笔试题库附答案详解(黄金题型)
- 2024版部编人教版初中语文古诗汇编(86首)
- 表4企业养老保险遗属待遇申领表
- 2026年高级经济师《工商管理》考试真题及答案(完整版)
- 广东深圳市物业发展(集团)股份有限公司招聘笔试题库2026
- 深度解析(2026)《DYT 2.5-2020数字电影打包 第5部分:打包列表》
- 危大工程巡视检查记录表 (样表)附危大工程安全监管及检查要点
- 海洋地质第一章1
- JJF 1242-2010激光跟踪三维坐标测量系统校准规范
评论
0/150
提交评论