版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、答案由个人做出,可能有不全或错误之处,欢迎大家批评指正第一章1. EDA 的英文全称及其中文含义是什么?答: EDA 是 Electronic Design Automation ,其中文含义是“电子设计自动化”2. 什么叫 EDA 技术?简述 EDA 技术的发展历程。答:EDA技术有狭义和广义之分, 狭义EDA技术就是以大规模可编程逻辑器件为设计载体, 以硬件描述语言为系统逻辑描述的主要表达方式, 以计算机、 大规模可编程逻辑器件的开发 软件及实验开发系统为设计工具, 通过有关的开发软件, 自动完成用软件的方式设计的电子 系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局
2、布线、逻辑 仿真, 直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成 电子系统或专用集成芯片的一门新技术,或称为 IES/ASIC 自动设计技术。3. 简述用 EDA 技术设计电路的设计流程。答 EDA 设计流程包括:设计准备、设计输入、设计处理、设计校验、器件编程、器件测试 和设计验证。4. 什么叫”综合”和”网表文件”答: (A) 在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。(1)从自然语言转换到 VHDL 语言算法表示,即 自然语言综合。 (2) 从算法表示转换到寄存器 传输级 (Regi
3、sterTransport Level , RTL),即从行为域到结构域的综合,即行为综合。(3)从RTL级表示转换到逻辑门(包括触发器 )的表示,即逻辑综合。 (4) 从逻辑门表示转换到版图表示 (ASIC 设计 ),或转换到 FPGA 的配置网表 文件,可称为版图综合或结构综合。 综合在电子设计自动化中处于核 心地位。(B)网表文件是描述电路的连接关系的文件,一般以文本文件的形式存在。英文为netlist file 格式有 cdl, spice, aucdl. 等5. 从使用的角度来讲, EDA 技术主要包括几个方面的内容?这几个方面在整个电子系统的 设计中分别起什么作用 ?答: EDA
4、技术的学习主要应掌握 4 个方面的内容: 大规模可编程逻辑器件; 硬件描述 语言; 软件开发工具; 实验开发系统。6. 目前流行的主流厂家的 EDA 的软件工具有哪些?比较这些 EDA 软件的差异。答: (1)目前比较流行的主流厂家的EDA 的软件工具有 Altera 的 MAX+plus II 、QuartusII 、 Lattice 的 ispEXPERT 、 Xilinx 的 Foundation Series 。(2) Max+plus II 是 A1tera 公司推出的一个使用非常广泛的 EDA 软件工具,它支持 原理图、 VHDL 和 Verilog 语言的文本文件,以及波形图与
5、EDIF 等格式的文件作为设计输 入,并支持这些文件的任意混合设计。它具有门级仿真器,可以进行功能仿真和时序仿真, 能够产生精确的仿真结果。在适配之后, Max+plus II 生成供时序仿真用的 Edif 、VHDL 和 Verilog 3 种不同格式的网表文件。 Max+plus II 界面友好,使用便捷,被誉为业界最易学 易用的 EDA 软件,并支持主流的第三方 EDA 工具,支持除 APEx20K 系列之外的所有 A1tera 公司的 FPGA CPLD 大规模逻辑器件。Quartus II 是 A1tera 公司新近推出的 EDA 软件工具,其设计工具完全支持 VHDL 和 Veri
6、log 的设计流程,其内部嵌有 VHDL 、 Verilog 逻辑综合器。第三方的综合工具,如 Leonardo Spectrum 、 Synplify pro 和 FPGA Compiler II 有着更好的综合效果, Quartus II 可以直接调用这些第三方工具, 因此通常建议使用这些工具来完成 VHDL/Verilog 源程序 的综合。同样,Quartus II具备仿真功能,也支持第三方的仿真工具,如Modelsim 。此外,Quartus II 为 A1tera DSP 开发包进行系统模型设计提供了集成综合环境,它与 MATLAB 和 DSP Builder 结合可以进行基于 FP
7、GA 的 DSP 系统开发,是 DSP 硬件系统实现的关键 EDA 工具。 Quartus II 还可与 SOPC Builder 结合,实现 SOPC 系统开发。ispExPERT 是 Lattice 公司的主要集成环境。通过它可以进行 VHDL 、Verilog 及 ABEL 语 言的设计输入、综合、适配、仿真和在系统下载。 ispExPERT 是目前流行的 EDA 软件中最 容易掌握的设计工具之一,它界面友好、操作方便、功能强大,并与第三方EDA 工具兼容良好。Foundation Series 是 Xilinx 公司较成熟的集成开发 EDA 工具。 它采用自动化的、 完整的 集成设计环
8、境。 Foundation 项目管理器集成 Xilinx 实现工具,并包含了强大的书馆 Synopsys FPGA Express 综合系统,是业界最强大的 EDA 设计工具之一。7. 简要阐述 EDA 技术的发展趋势和应用领域答:从目前的 EDA 技术来看,其发展趋势是政府重视、使用普及、应用文泛、工具多样、 软件功能强大。 EDA 的范畴包括:机械、电子、通信、航空航天、化工、矿产、生物、医 学、军事等各个领域,都有 EDA 的应用。第二章 VHDL 硬件描述语言1、简述实体 (ENTITY) 、结构体( ARCHITECTURE )与原理图的关系。答:结构来说 实体就是原理图的外观,结构
9、体中的具体程序就是原理图中的具体实现。2、子程序调用与元件例化有何区别,函数与过程在具体使用上有何不同。答:从硬件角度讲, 一个子程序的调用类似于一个元件模块的例化, VHDL 综合器为子程序 的每一次调用都生成一个电路逻辑块。所不同的是,元件的例化将产生一个新的设计层次, 而子程序调用只对应于当前层次的一部分。 函数和过程的不同在于: 函数只有一个输出, 只 能通过函数体内的 RETURN 语句来实现,函数体内不能有信号赋值语句;而过程却可以有 不止一个输出, 而且是通过过程体内的信号赋值语句或者变量赋值语句来实现的, 过程体内 的 RETURN 语句没有用处,因此不少过程都将其省略了。函数
10、的调用只能通过表达式来实 现,过程的调用则是通过过程调用语句来实现的。3、什么是重载函数?重载算符有何用处?如何调用重载算符函数。答:( 1)什么是重载函数 ? 根据操作对象变换处理功能。(2 )重载算符有何用处 ? 用于两个不同类型的操作数据自动转换成同种数据类型,并进行运算处理。( 3)如何调用重载算符函数 ?采用隐式方式调用,无需事先声明 。4 、在 VHDL 程序中配置有何用处?答:配置可以把特定的结构体关联到一个确定的实体, 正如配置一词本身的含义一样。 配置 语句就是用来为较大的系统设计提供管理和工程组织的。 配置也是 VHDL 设计实体中的一 个基本单元, 在综合或仿真中, 可以
11、利用配置语句为确定整个设计提供许多有用信息。 总之 用于设置 VHDL 的工作参数以及工作模式。配置用来选择实体的多个结构体的哪一个被使 用。5. 嵌套 BLOCK 的可视性规则是什么?以嵌套 BLOCK 的语句方式设计三个并列的 3 输 入或门。答: BLOCK 是 VHD 中具有的一种划分机制,这种机制允许设计者合理地将一个模块分为数个区域, 在每个块都能对其局部信号、 数据类型和常量加以描述和定义。 任何能在结构体的说明部分进行说明的对象都能在 BLOCK 说明部分中进行说明。相关参考代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE
12、.STD_LOGIC_UNSIGNED.ALL;ENTITY triple_input ISPORT (A :IN STD_LOGIC;B :IN STD_LOGIC;C :IN STD_LOGIC;OUTA :OUT STD_LOGIC);END triple_input;ARCHITECTURE ADO OF triple_input ISBEGINOUTA= A AND B AND C;END ADO;6. 简述函数与过程的异同点,过程与进程的异同点。答:子程序有两种类型,即过程( PROCEDURE) 和函数( FUNCTION) 。函数和过程都是串 行的。 它们的区别在于: 过程的调
13、用可以通过其界面获得多个返回值,而函数只能返回一个值;在函数入口中,所有参数都是输入参数,而过程有输入参数、输出参数和双向参数;过 程一般被看作一种语句结构, 而函数通常是表达式的一部分; 过程可以单独存在, 而函数通 常作为语句的一部分调用。过程和进程的相同点: 只能使用顺序语句, 可以单独存在。 不同 点:过程不能像进程那样可以从本结构体的其他块或进程结构中直接读取信号值或者信号赋 值。7、判断下列 VHDL 标识符是否合法,如果不合法则指出原因: 16#0FA# , 10#12F#8#789# ,8#356# ,2#0101010# ,74HC245 ,CLR/RESET ,D100%
14、。答:识符用法规定: ( 1)只能包含英文字母,数字,下划线(2)标识符的首字符只能是字母。故:(1 )16#0FA# 错在首字符是数字, 且包含非法字符 “#“。 10#12F# 、8#789# ,8#356# , 2#0101010# , 74HC245 也是犯同一错误。(2 ) 74HC574,CLR/RESET,IN4/SCLK,D100%都是非法,包含非法字符.8、讨论数据对象信号与变量间的异同处,说明它们的使用对所形成的硬件结构有何影响。答:在 VHDL 中,对象是指用来保持数据的一些客体单元。信号跟变量是VHDL 中的重要客体。信号是指在设计实体中数据交换的一种手段, 采用信号对
15、象可以把设计实体连接在一 起形成模块。 在硬件电路中代表一条硬件连线, 有时信号会被综合成一个寄存器。 变量主要 是对暂时数据进行局部存储,它是一个局部量。信号与变量在使用前都必需先声明后使用, 否则会产生编译错误。信号可以 architecture 、package 、 entitiy 中声明,是全局量可以 在全局使用。 变量可以 process 、function 、procedure 中声明,也只能在 process 、function 、 procedur 中使用不是全局变量。他们之间的主要区别有:信号赋值至少要有3延时;而变 量赋值没有。 信号除当前值外有许多相关的信息, 如历史信息
16、和投影波形; 而变量只有当前 值。进程对信号敏感而不对变量敏感。 信号可以是多个进程的全局信号; 而变量只在定义他 们的顺序域可见(共享变量除外) 。信号是硬件中连线的抽象描述,他们的功能是保存变化 的数据值和连接子元件,信号在元件的端口连接元件。变量在硬件中没有类似的对应关系, 他们用于硬件特性的高层次建模所需要的计算中。从综合后所对应的硬件电路结构来看, 信号一般将对应更多的硬件结构, 但在许多情况 下,信号和变量并没有什么区别。 例如在满足一定条件的进程中, 综合后它们都能引入寄存 器。这时它们都具有能够接受赋值这一重要的共性,而 VHDL 综合器并不理会它们在接受 赋值时存在的延时特性
17、。9. 运算符重载函数通常要调用转换函数,以便能够利用已有的数据类型。下面给出一个新 的数据类型 AGE ,并且下面的转换函数已经实现: function CONV_INTEGER(ARG:AGE)return INTEGER ;请仿照本章中的例子,利用此函数编写一个“+ ”运算符重载函数,支 持下面的运算: SIGNAL a,c : AGE ;c B 时,E=1 ;当 A b) thenX =1;Y =0;Z =0;elsif(a b) thenX =0;Y =1;Z =0; ELSEX =0;Y =0;Z =1; end if;end process;end behave;11. 在 VH
18、DL 编程中,为什么应尽可能使用子类型对类型的取值范围给予限定。 答:由于子类型与其基本数据类型属同一数据类型,因此属于子类型的和属于基本数据 类 型的数据对象间的赋值和被赋值可以直接进行, 不必进行数据类型的转换。 利用子类型定义 数据对象的好处是, 除了使程序提高可读性和易处理外, 其实质性的好处还在于有利于提高 综合的优化效率, 这是因为综合器可以根据子类型所设的约束范围, 有效地推知参与综合的 寄存器的最合适的数目。12 、判断下面 3 例 VHDL 程序中是否有错误,若有错误则指出错误原因: 程序 1Signal A, EN : std_logic;Process (A, EN)Va
19、riable B : std_logic;Beginif EN = 1 thenB = A;end if;end process;程序 2Architecture one of sample isvariable a, b, c : integer;beginc = a + b;end;程序 3library ieee;use ieee.std_logic_1164.all;entity mux21 isport ( a, b : in std_logic;sel : in std_logic;c : out std_logic;); end sam2 architecture one of
20、mux21 isbegin if sel = 0 then c := a;else c := b;end if;end two; 答:程序 1: 将“ B=A ”改成“ B:=A ” 程序 2:-将“ c=a+b ”改成“ c:=a+b”增加 “ process(a,b,sel)if sel= 0 then c=a; elsearchitecture one ”程序3 :将“;)”改成“)”将sam2 改成“entity mux21begin if sel= 0 then c:=a; else c:=b; end if;- 应改成c=b; end if; ”增加“ end process; ”
21、 将“ two ”改成13 、分别用 CASE 语句和 IF 设计 3-8 译码器。 答: CASE 语句:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder38 ISPORT (EN:IN STD_LOGIC;A0,A1,A2:IN STD_LOGIC;Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY decoder38;ARCHITECTUR bhv OF decoder38 ISSIGNAL S:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINSYYYYYYYYNUL
22、L;END CASE;END IF;END PROCESS;END ARCHITECTURE bhv;IF 语句:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder38 ISPORT (EN:IN STD_LOGIC; A0,A1,A2:IN STD_LOGIC;Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END ENTITY decoder38;ARCHITECTUR bhv OF decoder38 IS BEGINPROCESS (EN,A2,A1,A0)BEGINIF (EN= 1) THENIF(
23、A2= 0) THENIF(A1= 0) THEN IF(A0= 0) THEN Y= 00000001 ;ELSEY= 00000010 ;ELSIF(A1= 1) THEN IF(A0= 0) THENY= 00000100 ; ELSEY= 00001000 ;END IF;END IF;ELSIF(A2= 1) THENIF(A1= 0) THEN IF(A0= 0) THEN Y= 00010000 ;ELSEY= 00100000 ; END IF;ELSIF(A1= 1) THEN IF(A0= 0) THEN Y= 01000000 ;ELSEY= 10000000 ;END
24、IF;END IF;END IF;END IF;END PROCESS;END ARCHITECTURE bhv;library ieee;use ieee.std_logic_1164.all;entity sss isport (a: in std_logic_vector(2 downto 0);cout:out std_logic_vector(7 downto 0); end ;architecture one of sss isbeginprocess(a)beginif a=000 then cout =11111110;elsif a=001 then cout =111111
25、01;elsif a=010 then cout =11111011;elsif a=011 then cout =11110111;elsif a=100 then cout =11101111;elsif a=101 then cout =11011111;elsif a=110 then cout =10111111;elsif a=111 then cout x,b=y,ci=tmp,su=sum,co=cout);u2:df port map(d=cout,cl=clock,q1=tmp);end architecture one;- 底层文件 1: D 触发器library iee
26、e;use ieee.std_logic_1164.all;entity df isport (d,cl:in std_logic;q1:out std_logic);end;architecture two of df issignal qq:std_logic;beginprocess(cl,qq)beginif cl event and cl=1then qq=d;end if;end process;q1a,b1=b,cou=d,so=e);u2:h_adder port map(a1=e,b1=ci,cou=f,so=su);u3:or2a port map(a1=d,b1=f,c=
27、co);end architecture three;- 底层文件 2-1 :半加器library ieee;use ieee.std_logic_1164.all;entity h_adder isport (a1,b1:in std_logic;so,cou:out std_logic);end;architecture four of h_adder isbeginso=not(a1 xor(not b1);cou=a1 and b1;end architecture four;- 底层文件 2-2 :或门library ieee;entity or2a isport (a1,b1:in
28、 std_logic;c:out std_logic);end;architecture five of or2a isbeginc=a1 or b1;end architecture five;16. 设计 5 位可变模数计数器。设计要求:令输入信号 M1 和 M0 控制计数模,即令 (M1 , M0)=(0 ,0)时为模 19 加法计数器, (M1 ,M0)=(0 ,1)时为模 4 计数器, (M1 ,M0) =(1 , 0) 为模 10 加法计数器, (M1 , M0)=(1 ,1)时为模 6 计数器。答: Entity mod_cal isPort(M1,M0:in bit;Count
29、:out std_logic_vector(4 downto 0);Clk:in std_logic);End entity;Architecture behav of mod_cal isSignal count1:std_logic_vector(4 downto 0);BeginProcess(clk,M1,M0)Variable sel is bit_vector(1 downto 0);BeginSel:=M1&M0;If clk event and clk= 1 thenCount1if Count1= ” 10011 ”then Count1if Count1=” 00100 ”
30、then Count1if Count1=” 01010 ”then Count1if Count1=” 00110 ”then Count1=” 00000 ”End if;End case;End if;End process;Count=count1;End behav;17. 什么是 VHDL 结构体的行为描述风格,叙述行为描述的优缺点。答:如果 VHDL 的结构体只描述了所希望电路的功能或者说电路行为,而没有直接指明或涉及实现这些行为的硬件结构, 包括硬件特性、连线方式、逻辑行为方式, 则称为行为风格缺点:只表示输入与输出间转换的行为,它不包含任何结构信息。18 结构化描述与调用子程
31、序有何异同点, VHDL 程序中是如何进行结构化描述的?结构 化描述需要哪些语句?答:略19. 试举一例,在一个结构体中同时含有 3 种不同描述风格的 VHDL 语句结构。答:略20. 以数据流的方式设计一个 2 位比较器,再以结构描述方式将已设计好的比较器连接起 来构成一个 8 位比较器答:略21. 采用 VHDL 进行数字系统设计有哪些特点 ?答: HDL 系统设计的基本点:(1 )与其他硬件描述语言相比, VHDL 具有以下特点:(2 )功能强大、设计灵活。(3 )强大的系统硬件描述能力。(4 )易于共享和复用。22. VHDL 的基本程序结构由几部分组成 ?各部分的功能是什么 ?答:由
32、 5 个部分组成,包含实体、结构体、配置、程序包和库。实体作为一个设计实体的组成部分,其功能是对这个设计实体与外部电路进行接口描述。结构体(ARCHITECTURE) 是设计实体的一个重要部分, 结构体将具体实现一个实体。 在利用 VHDL 进行工程设计中, 为了提高设计效率以及使设计遵循某些统一的语言标准或数据格式, 有必 要将一些有用的信息汇集在一个或几个库中以供调用, 这些信息可以是预先定义好的数据类 型、子程序等设计单元的集合体 (程序包) 或预先设计好的各种设计实体 (元件库程序包) 。 因此可以把库看成是一种用来存储预先完成的程序包、 数据集合体和元件的仓库。 已在设计 实体中定义
33、的数据类型、 子程序或数据对象对于其它设计实体是不可用的, 或者说是不可见 的。为了使已定义的常数、数据类型、元件调用说明以及子程序能被更多的 VHDL 设计实 体方便地访问和共享,可以将它们收集在一个 VHDL 程序包中, 多个程序包可以并入 一个 VHDL 库中,使之适用于更一般的访问和调用范围,这一点对于大系统开发 多 个 或 多组开发人员同步并行工作显得尤为重要。配置可以把特定的结构体关联到一个确定的实 体,正如配置一词本身的含义一样。配置也是 VHDL 设计实体中的一个基本单元,在综合 或仿真中,可以利用配置语句为确定整个设计提供许多有用信息。23. 说明端口模式 BUFFER 与
34、INOUT 有何异同点 ?答: INOUT 为输入输出双向端口,即从端口内部看,可以对端口进行赋值,即输出数据。 也可以从此端口读入数据,即输入。BUFFER 为缓冲端口,功能与 INOUT 类似,区别在于当需要读入数据时,只允许内部回读 内部产生的输出信号, 即反馈。 举个例子, 设计一个计数器的时候可以将输出的计数信号定 义为BUFFER,这样回读输出信号可以做下一计数值的初始值。24. 用 VHD 设计一个实现三输入的多数表决器。答: library ieee; use ieee.std_logic_1164.all; entity bjq3 isport(a,b,c:in std_lo
35、gic;y:out std_logic);end; architecture x of bjq3 issignal ty:std_logic_vector(2 downto 0); begin ty=a&b&c;with ty select y=0 when 000, 0 when 001,0 when 010,1 when 011,0 when 100,1 when 101,1 when 110,1 when 111,X when others;end;25. 用 PROCESS 语句描述带同步复位的 JK 触发器。 答: library ieee;use ieee.std_logic_11
36、64.all; entity jk_ff is port(clk,reset,j,k:in std_logic; q,qb:out std_logic);end; architecture behave of jk_ff is signal tq,tqb:std_logic;begin q=tq;qb=tqb; process(clk,reset) begin if (clkevent and clk=1) thenif (reset=0) then tq=0;tqb=1;elsif ( j=0)and(k=0) then tq=tq;tqb=tqb;elsif ( j=0)and(k=1)
37、then tq=0;tqb=1;elsif ( j=1)and(k=0) then tq=1;tqb=0;elsif ( j=1)and(k=1) then tq=not tq;tqb=not tqb; end if;end if;end process; end;26. 用并行信号赋值语句设计 8 选 1 数据选择器。答: library ieee;use ieee.std_logic_1164.all;entity xzq8 isport(x:in std_logic_vector(7 downto 0);sel:in std_logic_vector(2 downto 0);f:out
38、std_logic);end;architecture a of xzq8 isbeginf=x(0) when sel=000 elsex(1) when sel=001 elsex(2) when sel=010 elsex(3) when sel=011 elsex(4) when sel=100 elsex(5) when sel=101 elsex(6) when sel=110 elsex(7) when sel=111 elseX;end;27. 用 VHDL 设计一个三态输出的双 4 选 1 数据选择器。其地址信号共用,且各有个低电平有效的使能端答:LIBRARY IEEE;U
39、SE IEEE.STD_LOGIC_1164.ALL;ENTITY DUAL_MUX_41 ISPORT(A,B,C,D:IN STD_LOGIC;ENA_N,ENB_N:IN STD_LOGIC;S:IN STD_LOGIC_VECTOR(1 DOWNTO 0);OUTA,OUTB:OUT STD_LOGIC);ENDARCHITECTURE A OF DUAL_MUX_41 ISSIGNAL P ,Q:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINP=ENA_N & S;Q=ENB_N & S;WITH P SELECTOUTA=A WHEN “ 000 ”,B WH
40、EN ” 001 ”,C WHEN ” 010 ”,D WHEN ” 011 ”, Z WHEN OTHERS;WITH Q SELECTOUTB= A WHEN ” 000 ”,B WHEN ” 001 ”,C WHEN ” 010 ”,D WHEN ” 011 ”,Z WHEN OTHERS;END A;28. 用 VHDL 设计实现由两输入端与非门构成的 1 位全加器。答:略29. 用 VHDL 设计实现一百进制的计数器。答: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY c
41、ounter ISGENERIC( count_value: INTEGER:=9);PORT (clk,clr,en: IN STD_LOGIC;co: OUT STD_LOGIC;count: OUT INTEGER RANGE 0 TO count_value);END counter;ARCHITECTURE a OF counter ISSIGNAL cnt: INTEGER RANGE 0 TO count_value;BEGINPROCESS (clk , clr)BEGINIF clr = 1 THENcnt = 0;ELSIF (clkEVENT AND clk = 1) T
42、HENIF en = 1 THENIF cnt = count_value THENcnt = 0;ELSEcnt = cnt + 1;END IF;END IF;END IF;0END PROCESS;co= 1 WHEN cnt=count_value ELSEcount 9)port map(clk,clr,en, en1, count1);bb: counter generic map( count_value=9)port map(clk=clk,clr=clr, en=en1, co=co,count=count2);end rtl;30. 比较 CASE 语句与 WITH_SEL
43、ECT 语句,叙述它们的异同点。WITH_SECLECT两者对子句各选答:相同点:CASE语句中各子句的条件不能有重叠,必须包容所有的条件;语句也不允许选择值有重叠现象, 也不允许选择值涵盖不全的情况。 另外, 择值的测试都具有同步性,都依赖于敏感信号的变化。不同点: CASE 语句只能在进程中使用, 至少包含一个条件语句, 可以有多个赋值目标;WITH_SECLECT 语句根据满足的条件,对信号进行赋值,其赋值目标只有一个,且必须是 信号。31 、将以下程序段转换为 WHEN_ELSE 语句:PROCESS( a,b,c,d )BEGINIF a= 0 AND b=1 THENnext1 =
44、 1101ELSIF a=0 THEN next1 = dELSIF b=1 THEN next1 = cELSENext1= 1011;END IF ;END PROCESS ;答:原程序转换如下:ARCHITECTURE one OF mux ISBEGINPROCESS(a,b,c,d)BEGINNEXT1 =1101WHEN a= 0 ANDb= 1 ELSEd WHEN a= 0 ELSE c WHEN b= 1 ELSE1011END one;END PROCESS;32. 以下为一时序逻辑模块的 VHDL 结构体描述,请找出其中的错误:ARCHITECTURE one OF co
45、m1BEGINVARIABLE a,b,c,clock:STD_LOGIC ;pro1:PROCESSBEGINIF NOT(clockEVENT AND clock=1)THENx= a xor b or cEND IF;END PROCESS;END;答:33. VHDL 程序设计中用 WITH_SELECT_WHEN 语句描述 4 个 16 位至 1 个 16 位输出 的 4 选 1 多路选择器。答: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux ISPORT( dina : IN STD_LOGIC_VECTOR(0 to 15);dinb : IN STD_LOGIC_VECTOR(0 to 15);dinc : IN STD_LOGIC_VECTOR(0 to 15);dind : IN STD_LOGIC_VECTOR(0 to 15); sel: IN STD_LOGIC_VECTOR(0 to 1);dout : OUT STD_LOGIC_VECTOR(0 to 15);END mux;ARCHITECTURE rtl OF mux ISB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广昌县教师招聘考试备考试题及答案解析
- 2026-北京市统计局招聘考试参考题库-含答案
- 2026-黑龙江福利院预算核算招聘考试参考题库-含答案
- 2026江苏海洋大学公开招聘工作人员(第二批)笔试备考题库及答案解析
- 2026南昌市东湖区社会福利院招聘2名中级消防设施操作员考试备考题库及答案解析
- 2026厦门市集美区嘉誉实验幼儿园招聘保育员1名笔试备考试题及答案解析
- 2027年度江西铜业技术研究院有限公司秋季校园招聘101人考试模拟试题及答案解析
- 2026中南大学湘雅三医院编外科研助理招聘5人考试参考题库及答案解析
- 2026年大名县教师招聘笔试模拟试题及答案解析
- 2026年木竹材加工机械制造行业消费行为研究报告及未来五至十年降本增效与利润率修复
- 2026中国中医药国际化发展现状及市场准入壁垒分析报告
- 2026稀土储氢材料行业市场发展分析及前景趋势与投融资战略研究报告
- 2026年财政部高层财会人才中青年人才选拔笔试热及完整(附答案)
- 2026年高考全国1卷语文高考试题(原卷版)
- 消防报警主机移位施工方案及流程
- 2025年河南三支一扶(6月14日)真题(答案)
- GB/T 44693.3-2026危险化学品企业工艺平稳性第3 部分:标准操作程序编制与使用规范
- 妇产科妊娠糖尿病管理方案
- 2026年智慧海洋产业园区规划:功能布局与产业协同设计
- 2026中车株洲电力机车研究所有限公司春季全球校园招聘考试参考题库及答案解析
- 个人暗股合同协议书
评论
0/150
提交评论