




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EDAEDA 技术实用教程技术实用教程潘松 黄继业第一章第一章 1-11-1 EDAEDA 技术与技术与 ASICASIC 设计和设计和 FPGAFPGA 开发有什么关系开发有什么关系? ? 答:利用答:利用 EDAEDA 技术技术进行进行电子系统设计电子系统设计的最后目标是完成的最后目标是完成专用集成电路专用集成电路 ASICASIC 的设计和实现的设计和实现;FPGAFPGA 和和 CPLDCPLD 是实现这一途径的是实现这一途径的主流主流器件器件。FPGAFPGA 和和 CPLDCPLD 通常也被称为通常也被称为可编程专用可编程专用 ICIC,或,或可编程可编程 ASICASIC。FPG
2、AFPGA 和和 CPLDCPLD 的应用是的应用是 EDAEDA 技术有机融合软硬件电子设计技术、技术有机融合软硬件电子设计技术、SoCSoC(片上系统)和(片上系统)和 ASICASIC 设计,以及对自动设计与自动实现最典型的诠释。设计,以及对自动设计与自动实现最典型的诠释。 1-21-2 与软件描述语言相比,与软件描述语言相比,VHDLVHDL 有什么特点有什么特点? ? 答:编译器将软件程序翻译成基于某种特定答:编译器将软件程序翻译成基于某种特定 CPUCPU 的机器代码,这种代码仅限于这种的机器代码,这种代码仅限于这种 CPUCPU 而不能移植,并且机器代码不代表硬件结而不能移植,并
3、且机器代码不代表硬件结构,更不能改变构,更不能改变 CPUCPU 的硬件结构,只能被动地为其特定的硬件电路结构所利用。的硬件结构,只能被动地为其特定的硬件电路结构所利用。综合器综合器将将 VHDLVHDL 程序转化程序转化的目标是底层的电路结构的目标是底层的电路结构网网表文件表文件,这种满足,这种满足 VHDLVHDL 设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。综合器在将设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。综合器在将 VHDL(VHDL(硬件描述硬件描述语言语言) )表达的电路功能转化成具体的电路结构网表过程中,具有明显的表达的电路
4、功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性能动性和创造性,它不是机械的一一对应式的,它不是机械的一一对应式的“翻译翻译” ,而是根,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。 l-3l-3 什么是综合什么是综合? ?有哪些类型有哪些类型? ?综合在电子设计自动化中的地位是什么综合在电子设计自动化中的地位是什么? ? 什么是综合什么是综合? ? 答:在电子设计领域中综合的概念可以表示为:将答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系
5、统用行为和功能层次表达的电子系统转换为转换为低层次低层次的便于的便于具体实现具体实现的模块组合装配的模块组合装配的过程。的过程。有哪些类型有哪些类型? ? 答:答:(1)(1)从自然语言转换到从自然语言转换到 VHDLVHDL 语言算法表示,即语言算法表示,即自然语言综合自然语言综合。(2)(2)从算法表示转换到寄存器传输级从算法表示转换到寄存器传输级(RegisterTransport(RegisterTransport LevelLevel,RTL)RTL),即从行为域到结构域的综合,即,即从行为域到结构域的综合,即行为综合行为综合。(3)(3)从从 RTLRTL 级表示转换到逻辑门级表示
6、转换到逻辑门( (包括触发器包括触发器) )的表示,的表示,即即逻辑综合逻辑综合。(4)(4)从逻辑门表示转换到版图表示从逻辑门表示转换到版图表示(ASIC(ASIC 设计设计) ),或转换到,或转换到 FPGAFPGA 的配置网表文件,可称为的配置网表文件,可称为版图综合或结构综合版图综合或结构综合。综合在电子设计自动化中的地位是什么综合在电子设计自动化中的地位是什么? ? 答:是核心地位(见图答:是核心地位(见图 1-31-3) 。综合器具有更复杂的工作环境,综合器在接受。综合器具有更复杂的工作环境,综合器在接受 VHDLVHDL 程序程序并准备对其综合前,必须获得与最终实现设计电路硬件特
7、征相关的并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息工艺库信息,以及获得优化综合的,以及获得优化综合的诸多约束条件信息诸多约束条件信息;根据;根据工艺库工艺库和约束条件信息和约束条件信息,将,将 VHDLVHDL 程序转化成电路实现的相关信息程序转化成电路实现的相关信息。 1-41-4 在在 EDAEDA 技术中,自顶向下的设计方法的重要意义是什么技术中,自顶向下的设计方法的重要意义是什么? ? 答:在答:在 EDAEDA 技术应用中,技术应用中,自顶向下自顶向下的设计方法,就是在整个设计流程中各设计环节的设计方法,就是在整个设计流程中各设计环节逐步求精逐步求精的过程。
8、的过程。 1-51-5 IPIP 在在 EDAEDA 技术的应用和发展中的意义是什么技术的应用和发展中的意义是什么? ? 答:答:IPIP 核具有规范的接口协议,良好的核具有规范的接口协议,良好的可移植可移植与与可测试性可测试性,为系统开发提供了,为系统开发提供了可靠的保证可靠的保证。第二章第二章 2-12-1 叙述叙述 EDAEDA 的的 FPGA/CPLDFPGA/CPLD 设计流程设计流程。 P1316P1316答:答:1.1.设计输入设计输入( (原理图原理图/ /HDLHDL 文本编辑文本编辑) );2.2.综合综合;3.3.适配适配;4.4.时序仿真与功能仿真时序仿真与功能仿真;5
9、.5.编程下载编程下载;6.6.硬件测试硬件测试。 2-22-2 IPIP 是什么是什么?IP?IP 与与 EDAEDA 技术的关系是什么技术的关系是什么? ? P2426P2426IPIP 是什么是什么? ? 答:答:IPIP 是知识产权核或知识产权模块,是知识产权核或知识产权模块,用于用于 ASICASIC 或或 FPGA/CPLDFPGA/CPLD 中的预先设计好的电路功能模块中的预先设计好的电路功能模块。IPIP 与与 EDAEDA 技术的关系是什么技术的关系是什么? ? 答:答:IPIP 在在 EDAEDA 技术开发中具有十分重要的地位;与技术开发中具有十分重要的地位;与 EDAED
10、A 技术的关系分有技术的关系分有软软 IPIP、固固 IPIP、硬硬 IPIP:软软IPIP 是用是用 VHDLVHDL 等硬件描述语言描述的功能块等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;,并不涉及用什么具体电路元件实现这些功能;软软 IPIP 通常是以硬件描述语言通常是以硬件描述语言 HDLHDL 源文件源文件的形式出现。的形式出现。固固 IPIP 是完成了综合的功能块是完成了综合的功能块,具有较大的设计深度,以,具有较大的设计深度,以网表文件的形式提交客户使用网表文件的形式提交客户使用。硬硬 IPIP 提供设计的最终阶段产品提供设计的最终阶段产品:掩模。掩模。
11、2-32-3 叙述叙述 ASICASIC 的设计方法。的设计方法。 P1819P1819答:答:ASICASIC 设计方法设计方法, ,按版图结构及制造方法分有按版图结构及制造方法分有半定制半定制(Semi-custom)(Semi-custom)和和全定制全定制(Full-custom)(Full-custom)两种实现方法。两种实现方法。全定制方法是一种全定制方法是一种基于晶体管基于晶体管级的,级的,手工手工设计版图的制造方法。设计版图的制造方法。半定制法是一种半定制法是一种约束性约束性设计方式,约束的目的是简化设计,缩短设计周期,降低设计成本,提高设计正确率。半定制法按逻辑实设计方式,约
12、束的目的是简化设计,缩短设计周期,降低设计成本,提高设计正确率。半定制法按逻辑实现的方式不同,可再分为现的方式不同,可再分为门阵列法门阵列法、标准单元法标准单元法和和可编程逻辑器件法可编程逻辑器件法。 2-42-4 FPGA/CPLDFPGA/CPLD 在在 ASICASIC 设计中有什么用途设计中有什么用途? ? P16,18P16,18答:答:FPGA/CPLDFPGA/CPLD 在在 ASICASIC 设计中,设计中,属于可编程属于可编程 ASICASIC 的逻辑器件的逻辑器件;使设计效率大为提高,上市的时间大为缩短。;使设计效率大为提高,上市的时间大为缩短。 2-52-5 简述在基于简
13、述在基于 FPGA/CPLDFPGA/CPLD 的的 EDAEDA 设计流程中所涉及的设计流程中所涉及的 EDAEDA 工具,及其在整个流程中的作用。工具,及其在整个流程中的作用。 P1923P1923答:基于答:基于 FPGA/CPLDFPGA/CPLD 的的 EDAEDA 设计流程中所涉及的设计流程中所涉及的 EDAEDA 工具工具有:有:设计输入编辑器设计输入编辑器(作用:接受不同的设计输入表达方式,如(作用:接受不同的设计输入表达方式,如原理图原理图输入方式输入方式、状态图输入方式状态图输入方式、波形输入方式波形输入方式以及以及 HDLHDL 的文本输入方式的文本输入方式。 ) ;HD
14、LHDL 综合器综合器(作用:(作用:HDLHDL 综合器综合器根据工艺库根据工艺库和和约束条件信息约束条件信息,将将设计输入编辑器提供的信息转设计输入编辑器提供的信息转化为化为目标器件硬件结构细节的信息目标器件硬件结构细节的信息,并在数字电路设计技术、化简优化算法以及计算机软件等复杂结,并在数字电路设计技术、化简优化算法以及计算机软件等复杂结体进行优化处理)体进行优化处理) ;仿真器仿真器(作用:(作用:行为模型的表达行为模型的表达、电子系统的建模电子系统的建模、逻辑电路逻辑电路的的验证验证及及门级系统的测试门级系统的测试) ;适配器适配器(作用:完成目(作用:完成目标系统在器件上的标系统在
15、器件上的布局布局和和布线布线) ;下载器下载器(作用:把设计结(作用:把设计结果信息下载到对应的实际器件果信息下载到对应的实际器件,实现硬件设计),实现硬件设计) 。第三章第三章 3-13-1 OLMCOLMC(输出逻辑宏单元)(输出逻辑宏单元)有何功能有何功能? ?说明说明 GALGAL 是怎样实现可编程组合电路与时序电路的。是怎样实现可编程组合电路与时序电路的。 P3436P3436OLMCOLMC 有何功能有何功能? ? 答:答:OLMCOLMC 单元设有多种组态单元设有多种组态,可配置成,可配置成专用组合输出专用组合输出、专用输入专用输入、组合输出双向口组合输出双向口、寄存器输出寄存器
16、输出、寄存器输出寄存器输出双向口双向口等。等。说明说明 GALGAL 是怎样实现可编程组合电路与时序电路的是怎样实现可编程组合电路与时序电路的? ? 答:答:GALGAL(通用阵列逻辑器件)是通过对其中的(通用阵列逻辑器件)是通过对其中的 OLMCOLMC(输出输出逻辑宏单元)的逻辑宏单元)的编程和编程和三种模式配置三种模式配置(寄存器模式寄存器模式、复合模式复合模式、简单模式简单模式) ,实现,实现组合电路组合电路与与时序电路时序电路设计的。设计的。 3-23-2 什么是基于乘积项的可编程逻辑结构什么是基于乘积项的可编程逻辑结构? ? P3334P3334,4040答:答:GALGAL、CP
17、LDCPLD 之类都是之类都是基于乘积项基于乘积项的的可编程可编程结构;即包含有结构;即包含有可编程与阵列可编程与阵列和和固定的或阵列固定的或阵列的的 PALPAL(可编程阵列逻辑)(可编程阵列逻辑)器件构成。器件构成。 3-33-3 什么是基于查找表的可编程逻辑结构什么是基于查找表的可编程逻辑结构? ? P4041P4041答:答:FPGAFPGA(现场可编程门阵列)是(现场可编程门阵列)是基于查找表基于查找表的的可编程逻辑结构可编程逻辑结构。 3-43-4 FPGAFPGA 系列器件中的系列器件中的 LABLAB 有何作用有何作用? ? P4345P4345答:答:FPGAFPGA(Cyc
18、lone/CycloneCyclone/Cyclone IIII)系列器件主要由)系列器件主要由逻辑阵列块逻辑阵列块 LABLAB、嵌入式存储器块(嵌入式存储器块(EABEAB) 、I/OI/O 单元单元、嵌入式硬件乘法器嵌入式硬件乘法器和和PLLPLL 等模块构成;其中等模块构成;其中 LABLAB(逻辑阵列块)由一系列相邻的(逻辑阵列块)由一系列相邻的 LELE(逻辑单元)构成的(逻辑单元)构成的;FPGAFPGA 可编程资源主要来自逻辑阵列块可编程资源主要来自逻辑阵列块 LABLAB。 3-53-5 与传统的测试技术相比,边界扫描技术有何优点与传统的测试技术相比,边界扫描技术有何优点?
19、? P4750P4750答:使用答:使用 BSTBST(边界扫描测试)(边界扫描测试)规范测试,规范测试,不必使用物理探针不必使用物理探针,可在器件正常工作时在系统,可在器件正常工作时在系统捕获测量的功能数据捕获测量的功能数据。克服传统的外。克服传统的外探针测试法和探针测试法和“针床针床”夹具测试法来无法对夹具测试法来无法对 ICIC 内部节点无法测试的难题。内部节点无法测试的难题。 3-63-6 解释编程与配置这两个概念。解释编程与配置这两个概念。 P58P58答:编程:答:编程:基于基于电可擦除存储单元的电可擦除存储单元的 EEPROMEEPROM 或或 FlashFlash 技术技术。C
20、PLDCPLD 一股使用此技术进行编程。一股使用此技术进行编程。CPLDCPLD 被编程后改变了电可擦除存储被编程后改变了电可擦除存储单元中的信息,单元中的信息,掉电后可保存掉电后可保存。电可擦除编程工艺的优点是编程后。电可擦除编程工艺的优点是编程后信息不会因掉电而丢失信息不会因掉电而丢失,但,但编程次数有限编程次数有限,编程的速度不快编程的速度不快。配置:配置:基于基于 SRAMSRAM 查找表的编程单元查找表的编程单元。编程。编程信息是保存在信息是保存在 SRAMSRAM 中中的,的,SRAMSRAM 在在掉电后编程信息立即丢失掉电后编程信息立即丢失,在,在下次上电后,还下次上电后,还需要
21、重新载入编程信息需要重新载入编程信息。大部分。大部分 FPGAFPGA 采用该种编程工艺。采用该种编程工艺。该类器件的编程一般称为配置该类器件的编程一般称为配置。对于。对于 SRAMSRAM 型型 FPGAFPGA 来说,来说,配置次数无限配置次数无限,且且速度快速度快;在;在加电时可随时更改逻辑加电时可随时更改逻辑;下载信息的保密性也不如电可擦除的编程。;下载信息的保密性也不如电可擦除的编程。 3-73-7 请参阅相关资料,并回答问题:按本章给出的归类方式,将基于乘积项的可编程逻辑结构的请参阅相关资料,并回答问题:按本章给出的归类方式,将基于乘积项的可编程逻辑结构的 PLDPLD 器件归类为
22、器件归类为 CPLDCPLD;将基于查;将基于查找表的可编程逻辑结构的找表的可编程逻辑结构的 PLDPLD 器什归类为器什归类为 FPGAFPGA,那么,那么,APEXAPEX 系列属于什么类型系列属于什么类型 PLDPLD 器件器件? ? MAXMAX IIII 系列又属于什么类型的系列又属于什么类型的 PLDPLD 器件器件? ?为什么为什么? ? P5456P5456答:答:APEXAPEX(Advanced(Advanced LogicLogic ElementElement Matrix)Matrix)系列属于系列属于 FPGAFPGA 类型类型 PLDPLD 器件器件;编程信息存于
23、编程信息存于 SRAMSRAM 中中。MAXMAX IIII 系列属于系列属于 CPLDCPLD 类型类型的的 PLDPLD 器件器件;编程信息存于编程信息存于 EEPROMEEPROM 中中。第四章第四章4-14-1:画出与下例实体描述对应的原理图符号元件:画出与下例实体描述对应的原理图符号元件: ENTITYENTITY buf3sbuf3s ISIS - 实体实体 1 1:三态缓冲器:三态缓冲器 PORTPORT (input(input : : ININ STD_LOGICSTD_LOGIC ; ; - 输入端输入端 enableenable : : ININ STD_LOGICSTD
24、_LOGIC ; ; - 使能端使能端 outputoutput : : OUTOUT STD_LOGICSTD_LOGIC ) ) ; ; - 输出端输出端ENDEND buf3xbuf3x ; ;ENTITYENTITY mux21mux21 ISIS -实体实体 2 2: 2 2 选选 1 1 多路选择器多路选择器PORTPORT (in0,(in0, in1,in1, selsel : : ININ STD_LOGIC;STD_LOGIC;outputoutput : : OUTOUT STD_LOGIC);STD_LOGIC);4-1.4-1.答案答案 4-2.4-2. 图图 3-3
25、03-30 所示的是所示的是 4 4 选选 1 1 多路选择器,试分别用多路选择器,试分别用 IF_THENIF_THEN 语句和语句和 CASECASE 语句的表达方式写出此电路的语句的表达方式写出此电路的 VHDLVHDL 程序。选择控制的信号程序。选择控制的信号s1s1 和和 s0s0 的数据类型为的数据类型为 STD_LOGIC_VECTORSTD_LOGIC_VECTOR;当;当 s1=0s1=0,s0=0s0=0;s1=0s1=0,s0=1s0=1;s1=1s1=1,s0=0s0=0和和 s1=1s1=1,s0=1s0=1分别执行分别执行y=ay=a、y=by=b、y=cy=c、y
26、=dy=d。 4-2.4-2.答案答案LIBRARYLIBRARY IEEE;IEEE;USEUSE IEEE.STD_LOGIC_1164.ALL;IEEE.STD_LOGIC_1164.ALL;ENTITYENTITY MUX41MUX41 ISISPORT(s:INPORT(s:IN STD_LOGIC_VECTOR(1STD_LOGIC_VECTOR(1 DOWNTODOWNTO 0);0); -输入选择信号输入选择信号 a,b,c,d:INa,b,c,d:IN STD_LOGIC;STD_LOGIC; -输入信号输入信号 y:OUTy:OUT STD_LOGIC);-STD_LOGI
27、C);-输出端输出端ENDEND ENTITY;ENTITY;ARCHITECTUREARCHITECTURE ARTART OFOF MUX41MUX41 ISISBEGINBEGINPROCESS(s)PROCESS(s)BEGINBEGINIFIF (S=00)(S=00) THENTHEN y=a;y=a;ELSIFELSIF (S=01)(S=01) THTH ENEN y=b;y=b;ELSIFELSIF (S=10)(S=10) THTH ENEN y=c;y=c;ELSIFELSIF (S=11)(S=11) THTH ENEN y=d;y=d;ELSEELSE y=NULL;
28、y= y=a;y= y=b;y= y=c;y= y=d;yNULL;=NULL;ENDEND CASE;CASE;ENDEND PROCESS;PROCESS;ENDEND ART;ART;4-3.4-3. 图图 3-313-31 所示的是双所示的是双 2 2 选选 1 1 多路选择器构成的电路多路选择器构成的电路 MUXKMUXK,对于其中,对于其中 MUX21AMUX21A,当,当 s=0s=0和和11时,分别有时,分别有 y=ay=a和和 y=by=b。试在。试在一个结构体中用两个进程来表达此电路,每个进程中用一个结构体中用两个进程来表达此电路,每个进程中用 CASECASE 语句描述一
29、个语句描述一个 2 2 选选 1 1 多路选择器多路选择器 MUX21AMUX21A。4-3.4-3.答案答案LIBRARYLIBRARY IEEE;IEEE;USEUSE IEEE.STD_LOGIC_1164.ALL;IEEE.STD_LOGIC_1164.ALL;ENTITYENTITY MUX221MUX221 ISISPORT(a1,a2,a3:INPORT(a1,a2,a3:IN STD_LOGIC_VECTOR(1STD_LOGIC_VECTOR(1 DOWNTODOWNTO 0);0); -输入信号输入信号 s0,s1:INs0,s1:IN STD_LOGIC;STD_LOGI
30、C; outy:OUTouty:OUT STD_LOGIC);-STD_LOGIC);-输出端输出端ENDEND ENTITY;ENTITY;ARCHITECTUREARCHITECTURE ONEONE OFOF MUX221MUX221 ISISSIGNALSIGNAL tmptmp : : STD_LOGIC;STD_LOGIC;BEGINBEGINPR01:PROCESS(s0)PR01:PROCESS(s0)BEGINBEGINIFIF s0=”0”s0=”0” THENTHEN tmp=a2;tmp=a2;ELSEELSE tmp=a3;tmp=a3;ENDEND IF;IF;EN
31、DEND PROCESS;PROCESS;PR02:PROCESS(s1)PR02:PROCESS(s1)BEGINBEGINIFIF s1=”0”s1=”0” THENTHEN outy=a1;outy=a1;ELSEELSE outy=tmp;outy=tmp;ENDEND IF;IF;ENDEND PROCESS;PROCESS;ENDEND ARCHITECTUREARCHITECTURE ONE;ONE;ENDEND CASE;CASE;4-4.4-4.下图是一个含有上升沿触发的下图是一个含有上升沿触发的 D D 触发器的时序电路,试写出此电路的触发器的时序电路,试写出此电路的 VH
32、DLVHDL 设计文件。设计文件。 4-4.4-4.答案答案LIBRARYLIBRARY IEEE;IEEE;USEUSE IEEE.STD_LOGIC_1164.ALL;IEEE.STD_LOGIC_1164.ALL;ENTITYENTITY MULTIMULTI ISISPORT(CL:INPORT(CL:IN STD_LOGIC;STD_LOGIC; -输入选择信号输入选择信号 CLK0:INCLK0:IN STD_LOGIC;STD_LOGIC; -输入信号输入信号 OUT1:OUTOUT1:OUT STD_LOGIC);-STD_LOGIC);-输出端输出端ENDEND ENTITY
33、;ENTITY;ARCHITECTUREARCHITECTURE ONEONE OFOF MULTIMULTI ISISSIGNALSIGNAL Q Q : : STD_LOGIC;STD_LOGIC;BEGINBEGINPR01:PR01: PROCESS(CLK0)PROCESS(CLK0)BEGINBEGINIFIF CLKCLK EVENTEVENT ANDAND CLK=1CLK=1THENTHEN Q=NOT(CLQ=NOT(CL OROR Q);ELSEQ);ELSEENDEND IF;IF;ENDEND PROCESS;PROCESS;PR02:PR02: PROCESS(CL
34、K0)PROCESS(CLK0)BEGINBEGINOUT1=Q;OUT1=Q;ENDEND PROCESS;PROCESS;ENDEND ARCHITECTUREARCHITECTURE ONE;ONE;ENDEND PROCESS;PROCESS;4-5.4-5.给出给出 1 1 位全减器的位全减器的 VHDLVHDL 描述。要求:描述。要求: (1)(1) 首先设计首先设计 1 1 位半减器,然后用例化语句将它们连接起来,图位半减器,然后用例化语句将它们连接起来,图 3-323-32 中中 h_suberh_suber 是半减器,是半减器,diffdiff 是输出差,是输出差,s_out
35、s_out 是借位输出,是借位输出,sub_insub_in 是借位输入。是借位输入。 (2)(2) 以以 1 1 位全减器为基本硬件,构成串行借位的位全减器为基本硬件,构成串行借位的 8 8 位减法器,要求用例化语句来完成此项设计位减法器,要求用例化语句来完成此项设计( (减法运算是减法运算是 x x y y - - sun_insun_in = = diffr)diffr)4-5.4-5.答案答案底层文件底层文件 1 1:or2a.VHDor2a.VHD 实现或门操作实现或门操作LIBRARYLIBRARY IEEE;IEEE;USEUSE IEEE.STD_LOGIC_1164.ALL;
36、IEEE.STD_LOGIC_1164.ALL;USEUSE IEEE.STD_LOGIC_UNSIGNED.ALL;IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYENTITY or2aor2a ISISPORT(a,b:INPORT(a,b:IN STD_LOGIC;STD_LOGIC; c:OUTc:OUT STD_LOGIC);STD_LOGIC);ENDEND ENTITYENTITY or2a;or2a;ARCHITECTUREARCHITECTURE oneone OFOF or2aor2a ISISBEGINBEGINc c = a a OROR b;b;E
37、NDEND ARCHITECTUREARCHITECTURE one;one;底层文件底层文件 2 2:h_subber.VHDh_subber.VHD 实现一位半减器实现一位半减器LIBRARYLIBRARY IEEE;IEEE;USEUSE IEEE.STD_LOGIC_1164.ALL;IEEE.STD_LOGIC_1164.ALL;USEUSE IEEE.STD_LOGIC_UNSIGNED.ALL;IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYENTITY h_subberh_subber ISISPORT(x,y:INPORT(x,y:IN STD_LOGIC
38、;STD_LOGIC;diff,s_out:OUTdiff,s_out:OUT STD_LOGIC);STD_LOGIC);ENDEND ENTITYENTITY h_subber;h_subber;ARCHITECTUREARCHITECTURE ONEONE OFOF h_subberh_subber ISISSIGNALSIGNAL xyz:xyz: STD_LOGIC_VECTOR(1STD_LOGIC_VECTOR(1 DOWNTODOWNTO 0);0);BEGINBEGINxyzxyz = diff=0;s_out=0;diff=0;s_out= diff=1;s_out=1;d
39、iff=1;s_out= diff=1;s_out=0;diff=1;s_out= diff=0;s_out=0;diff=0;s_out= NULL;NULL;ENDEND CASE;CASE;ENDEND PROCESS;PROCESS;ENDEND ARCHITECTUREARCHITECTURE ONE;ONE;顶层文件:顶层文件:f_subber.VHDf_subber.VHD 实现一位全减器实现一位全减器LIBRARYLIBRARY IEEE;IEEE;USEUSE IEEE.STD_LOGIC_1164.ALL;IEEE.STD_LOGIC_1164.ALL; USEUSE IE
40、EE.STD_LOGIC_UNSIGNED.ALL;IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYENTITY f_subberf_subber ISISPORT(x,y,sub_in:INPORT(x,y,sub_in:IN STD_LOGIC;STD_LOGIC;diffr,sub_out:OUTdiffr,sub_out:OUT STD_LOGIC);STD_LOGIC);ENDEND ENTITYENTITY f_subber;f_subber;ARCHITECTUREARCHITECTURE ONEONE OFOF f_subberf_subber ISISCO
41、MPONENTCOMPONENT h_subberh_subberPORT(x,y:INPORT(x,y:IN STD_LOGIC;STD_LOGIC;diff,S_out:OUTdiff,S_out:OUT STD_LOGIC);STD_LOGIC);ENDEND COMPONENT;COMPONENT;COMPONENTCOMPONENT or2aor2aPORT(a,b:INPORT(a,b:IN STD_LOGIC;STD_LOGIC;c:OUTc:OUT STD_LOGIC);STD_LOGIC);ENDEND COMPONENT;COMPONENT;SIGNALSIGNAL d,e
42、,f:d,e,f: STD_LOGIC;STD_LOGIC;BEGINBEGINu1:u1: h_subberh_subber PORTPORT MAP(x=x,y=y,diff=d,s_out=e);MAP(x=x,y=y,diff=d,s_out=e);u2:u2: h_subberh_subber PORTPORT MAP(x=d,y=sub_in,diff=diffr,s_out=f);MAP(x=d,y=sub_in,diff=diffr,s_out=f);u3:u3: or2aor2a PORTPORT MAP(a=f,b=e,c=sub_out);MAP(a=f,b=e,c=su
43、b_out);ENDEND ARCHITECTUREARCHITECTURE ONE;ONE;ENDEND ARCHITECTUREARCHITECTURE ART;ART;4-6.4-6.根据下图,写出顶层文件根据下图,写出顶层文件 MX3256.VHDMX3256.VHD 的的 VHDLVHDL 设计文件。设计文件。 4-6.4-6.答案答案MAX3256MAX3256 顶层文件顶层文件LIBRARYLIBRARY IEEE;IEEE;USEUSE IEEE.STD_LOGIC_1164.ALL;IEEE.STD_LOGIC_1164.ALL;USEUSE IEEE.STD_LOGIC_U
44、NSIGNED.ALL;IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYENTITY MAX3256MAX3256 ISISPORTPORT (INA,INB,INCK:(INA,INB,INCK: ININ STD_LOGIC;STD_LOGIC;INC:INC: ININ STD_LOGIC;STD_LOGIC;E,OUT:OUTE,OUT:OUT STD_LOGIC);STD_LOGIC);ENDEND ENTITYENTITY MAX3256;MAX3256;ARCHITECTUREARCHITECTURE ONEONE OFOF MAX3256MAX3256 IS
45、ISCOMPONENTCOMPONENT LK35LK35 -调用调用 LK35LK35 声明语句声明语句PORT(A1,A2:INPORT(A1,A2:IN STD_LOGIC;STD_LOGIC;CLK:INCLK:IN STD_LOGIC;STD_LOGIC;Q1,Q2:OUTQ1,Q2:OUT STD_LOGIC);STD_LOGIC);ENDEND COMPONENT;COMPONENT;COMPONENTCOMPONENT D D -调用调用 D D 触发器声明语句触发器声明语句PORT(D,C:INPORT(D,C:IN STD_LOGIC;STD_LOGIC;CLK:INCLK
46、:IN STD_LOGIC;STD_LOGIC;Q:OUTQ:OUT STD_LOGIC);STD_LOGIC);ENDEND COMPONENT;COMPONENT;COMPONENTCOMPONENT MUX21-MUX21-调用二选一选择器声明语句调用二选一选择器声明语句PORT(B,A:INPORT(B,A:IN STD_LOGIC;STD_LOGIC;S:INS:IN STD_LOGIC;STD_LOGIC;C:OUTC:OUT STD_LOGIC);STD_LOGIC);ENDEND COMPONENT;COMPONENT;SIGNALSIGNAL AA,BB,CC,DD:AA,B
47、B,CC,DD: STD_LOGIC;STD_LOGIC;BEGINBEGINu1:u1: LK35LK35 PORTPORT MAP(A1=INA,A2=INB,CLK=INCK,MAP(A1=INA,A2=INB,CLK=INCK, Q1=AA,Q2=BB);Q1=AA,Q2=BB);u2:u2: D D PORTPORT MAP(D=BB;CLK=INCK,C=INC,Q=CC);MAP(D=BB;CLK=INCK,C=INC,Q=CC);u3:u3: LK35LK35 PORTPORT MAPMAP (A1=BB,A2=CC,CLK=INCK,(A1=BB,A2=CC,CLK=INCK
48、, Q1=DD,Q2=OUT1)Q1=DD,Q2=OUT1);u4:u4: MUX21MUX21 PORTPORT MAPMAP (B=AA,A=DD,S=BB,C=E);(B=AA,A=DD,S=BB,C=E);ENDEND ARCHITECTUREARCHITECTURE ONE;ONE;设计含有异步清零和计数使能的设计含有异步清零和计数使能的 1616 位二进制加减可控计数器。位二进制加减可控计数器。 4-7.4-7.答案:答案:LIBRARYLIBRARY IEEE;IEEE;USEUSE IEEE.STD_LOGIC_1164.ALL;IEEE.STD_LOGIC_1164.ALL;
49、USEUSE IEEE.STD_LOGIC_UNSIGNED.ALL;IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYENTITY CNT16CNT16 ISISPORT(CLK,RST,EN:INPORT(CLK,RST,EN:IN STD_LOGIC;STD_LOGIC; CHOOSE:INCHOOSE:IN BIT;BIT; SETDATA:BUFFERSETDATA:BUFFER INTEGERINTEGER RANCERANCE 6553565535 DOWNTODOWNTO 0;0; COUT:COUT: BUFFERBUFFER INTEGERINTEGER
50、RANCERANCE 6553565535 DOWNTODOWNTO 0);0);ENDEND CNT16;CNT16;ARCHITECTUREARCHITECTURE ONEONE OFOF CNT16CNT16 ISISBEGINBEGIN PROCESS(CLK,RST,SDATA)PROCESS(CLK,RST,SDATA) VARIABLEVARIABLE QI:STD_LOGIC_VECTOR(65535QI:STD_LOGIC_VECTOR(65535 DOWNTODOWNTO 0);0); BEGINBEGINIFIF RST=1RST=1 THENTHEN -计数器异步复位计
51、数器异步复位 QI:=(OTHERS=0);QI:=(OTHERS=0);ELSIFELSIF SET=1SET=1 THEN-THEN-计数器一步置位计数器一步置位QI:=SETDATA;QI:=SETDATA; ELSIFELSIF CLKEVENTCLKEVENT ANDAND CLK=1CLK=1 THENTHEN -检测时钟上升沿检测时钟上升沿 IFIF EN=1EN=1 THENTHEN 检测是否允许计数检测是否允许计数IFIF CHOOSE=1CHOOSE=1 THENTHEN -选择加法计数选择加法计数 QI:=QI+1;QI:=QI+1; -计数器加一计数器加一 ELSEEL
52、SE QI=QI-1;QI=QI-1; -计数器加一计数器加一 ENDEND IF;IF;ENDEND IF;IF;ENDEND IF;IF; COUT=QI;-COUT=QI;-将计数值向端口输出将计数值向端口输出ENDEND PROCESS;PROCESS;ENDEND ONE;ONE;第五章第五章5-15-1 归纳利用归纳利用 QuartusQuartus IIII 进行进行 VHDLVHDL 文本输入设计的文本输入设计的流程流程:从文件输入一直到:从文件输入一直到 SignalTapSignalTap IIII 测试。测试。P95P115P95P115答:答:1 1 建立工作库文件夹和
53、编辑设计文件建立工作库文件夹和编辑设计文件;2 2 创建工程创建工程;3 3 编译前设置编译前设置;4 4 全程编译全程编译;5 5 时序仿真时序仿真;6 6 引脚锁定引脚锁定;7 7 配配置文件下载置文件下载;8 8 打开打开 SignalTapSignalTap IIII 编辑窗口;编辑窗口;9 9 调入调入 SignalTapSignalTap IIII 的待测信号;的待测信号;1010 SignalTapSignalTap IIII 参数设置;参数设置;1111 SignalTapSignalTap IIII 参数设置文件存盘;参数设置文件存盘;1212 带有带有 SignalTapS
54、ignalTap IIII 测试信息的编译下载;测试信息的编译下载;1313 启动启动 SignalTapSignalTap IIII 进行采样与分析;进行采样与分析;1414 SignalTapSignalTap IIII的其他设置和控制方法。的其他设置和控制方法。 5.65.6 5.75.75.85.85.95.95.105.105.125.125.135.135.145.14第六章第六章 6-16-1 什么是固有延时什么是固有延时? ?什么是惯性延时什么是惯性延时? ?P150151P150151答:答:固有延时固有延时(Inertial(Inertial Delay)Delay)也称为
55、也称为惯性延时惯性延时,固有延时的主要物理机制是,固有延时的主要物理机制是分布电容效应分布电容效应。 6-26-2 是什么是什么? ?在在 VHDLVHDL 中,中, 有什么用处有什么用处? ?P152P152 是什么是什么? ? 答:在答:在 VHDLVHDL 仿真和综合器中,仿真和综合器中,默认的固有延时量默认的固有延时量(它在数学上是一个无穷小量)(它在数学上是一个无穷小量) ,被称为被称为 延时延时。在在 VHDLVHDL 中,中, 有什么用处有什么用处? ?答:在答:在 VHDLVHDL 信号赋值中信号赋值中未给出固有延时未给出固有延时情况下,情况下,VHDLVHDL 仿真器和综合器
56、将仿真器和综合器将自动为系统中的信号赋值配自动为系统中的信号赋值配置一足够小置一足够小而又能而又能满足逻辑排序满足逻辑排序的的延时量延时量 ;使;使并行语句并行语句和和顺序语句顺序语句中的中的并列赋值逻辑并列赋值逻辑得以得以正确执行正确执行。 6-46-4 说明信号和变量的功能特点,以及应用上的异同点。说明信号和变量的功能特点,以及应用上的异同点。P128P129P128P129答:变量:变量是一个答:变量:变量是一个局部量局部量,只能,只能在进程和子程序中使用在进程和子程序中使用。变量不能将信息带出对它做出定义的当前结构。变量的赋值是。变量不能将信息带出对它做出定义的当前结构。变量的赋值是一
57、一种理想化的数据传输种理想化的数据传输,是,是立即发生立即发生的,的,不存在任何延时行为不存在任何延时行为。变量的主要作用是在进程中作为。变量的主要作用是在进程中作为临时的数据存储单元临时的数据存储单元。信号:信号是描述硬件系统的基本数据对象,其性质信号:信号是描述硬件系统的基本数据对象,其性质类似于连接线类似于连接线;可作为设计实体中并行语句模块间的;可作为设计实体中并行语句模块间的信息交流通道信息交流通道。信。信号不但可以号不但可以容纳当前值容纳当前值,也可以,也可以保持历史值保持历史值;与触发器的记忆功能有很好的对应关系与触发器的记忆功能有很好的对应关系。 6-56-5 在在 VHDLV
58、HDL 设计中,给设计中,给时序电路清零时序电路清零( (复位复位) )有两种力方有两种力方法,它们是什么法,它们是什么? ?解:设解:设 Q Q 定义成信号,一种方法:定义成信号,一种方法:Q=“000000”Q=“000000” ; 其中其中“000000”“000000”反映出信号反映出信号 Q Q 的位宽度。的位宽度。第二种方法:第二种方法:Q0)Q0);其中;其中 OTHERS=0OTHERS=0不需要给出信号不需要给出信号 Q Q 的位宽度的位宽度,即可对,即可对 Q Q 清零。清零。 6-66-6 哪一种复位方法必须将复位信号放在敏感信号表中哪一种复位方法必须将复位信号放在敏感信
59、号表中? ?给出这两种电路的给出这两种电路的 VHDLVHDL 描述。描述。解:边沿触发复位信号要将复位信号放在进程的敏感信号表中。解:边沿触发复位信号要将复位信号放在进程的敏感信号表中。(1 1)边沿触发复位信号)边沿触发复位信号. ARCHITECTUREARCHITECTURE bhvbhv 0F0F DFF3DFF3 ISIS SIGNALSIGNAL QQ:STD_LOGIC;QQ:STD_LOGIC; BEGINBEGIN PROCESS(RST)PROCESS(RST) BEGINBEGIN IFIF RSTEVENTRSTEVENT ANDAND RST=1RST=1 THEN
60、THEN QQ=(QQ0);=0); ENDEND IF;IF; ENDEND PROCESS;PROCESS; Q1=QQ;Q1=QQ; END;END;(2 2)电平触发复位信号)电平触发复位信号. ARCHITECTUREARCHITECTURE bhvbhv 0F0F DFF3DFF3 ISIS SIGNALSIGNAL QQ:STD_LOGIC;QQ:STD_LOGIC; BEGINBEGIN PROCESS(CLK)PROCESS(CLK) BEGINBEGIN IFIF RST=1RST=1 THENTHEN QQ=(QQ0);=0); ENDEND IF;IF; ENDEND
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《库存管理助手》课件
- 《盛世鸿运集团》课件
- 丝绸之路与西方世界的联系课件
- 解析光合作用与呼吸作用的过程:课件展示
- 《比亚迪品牌理念》课件
- 《胃癌诊疗规范》课件
- 《流程监控技术》课件
- 人优待证领取发言材料
- 《涌动前沿》课件
- 《线性直流稳压电源设计与应用》课件
- 2024年烟台龙口市卫生健康局所属事业单位招聘工作人员笔试真题
- 输变电工程建设管理纲要
- 全球化背景下高中历史家国情怀教育的策略
- 租地临时建房合同协议
- 四川达州钢铁集团招聘笔试题库2025
- 2025年FRM金融风险管理师考试专业试卷(金融风险管理案例分析)
- 护士法律法规知识培训课件
- 检验科质量安全制度和流程
- 施工电梯安装方案 完整版
- 2025-2030中国建筑钢结构行业市场现状供需分析及投资评估规划分析研究报告
- 西部计划考试考题及答案
评论
0/150
提交评论