数字电路EDA设计习题集_第1页
数字电路EDA设计习题集_第2页
数字电路EDA设计习题集_第3页
数字电路EDA设计习题集_第4页
数字电路EDA设计习题集_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字电路eda设计习题集数字电路eda设计习题集第一章、eda技术概述一、填空题1、一般把eda技术的发展分为 、 、 三个阶段。2、eda设计流程包括 、 、 、 四个步骤。3、eda的设计验证包括 、 、 三个过程。 4、eda的设计输入包括 、 、 。5、当前最流行的并成为ieee标准的硬件描述语言包括 和 。6、将硬件描述语言转化为硬件电路的重要工具软件称为 。二、单项选择题1、vhdl语言属于 描述语言。 a普通硬件 b. 行为 c. 高级 d. 低级2、基于硬件描述语言hdl的数字系统设计目前最常用的设计方法为 a. 自底向上 b. 自顶向下 c. 积木式 d. 顶层3、在eda工

2、具中,能将硬件描述语言转化为硬件电路的重要工具软件称为 a仿真器 b. 综合器 c. 适配器 d.下载器4、在eda工具中,能完成目标系统器件上布局软件称为 a仿真器 b. 综合器 c. 适配器 d.下载器第2章、大规模可编程逻辑器件 一、填空题1、集成度是集成电路一项重要的指标,可编程逻辑器件按集成密度可分为 和 两类。2、可编程逻辑器件的编程方式可分为 和 两类。3、基于eprom、e2prom和快闪存储器件的可编程器件,在系统断电后编程信息 。4、基于sram结构的可编程器件,在系统断电后编程信息 。5、cpld器件中至少包括 、 、 三种结构。6、fpga的三种可编程电路分别是 、 、

3、 三种结构。7、根据逻辑功能块的大小不同,可将fpga分为 和 两类;据fpga内部连线结构的不同,可将fpga分为 和 两类;据fpga采用的开关元件不同,可将fpga分为 和 两类.8、目前常见的可编程逻辑器件的编程和配置工艺包括基于 、基于 和基于 三种编程工艺。二、 单项选择题1、在下列可编程逻辑器件中,不属于高密度可编程逻辑器件的是 a. epld b. cpld c. fpga d. pal2、在下列可编程逻辑器件中,属于易失性器件的是 a. epld b. cpld c. fpga d. pal3、在自顶向下的设计过程中,描述器件总功能的模块一般称为 a底层设计 b. 顶层设计

4、c. 完整设计 d. 全面设计4、边界扫描测试技术主要解决 的测试问题 a印制电路板 b. 数字系统 c. 芯片 d. 微处理器三、 简答题1、cpld和fpga有什么差异?在实际应用中各有什么特点?第3章、vhdl编程基础一、填空题1、vhdl设计实体的基本结构由 、 、 、 和 等部分组成。2、 和 是设计实体的基本组成部分,他们可以构成最基本的vhdl程序。3、在vhdl的端口声明语句中,端口方向包括 、 、 和 。4、vhdl的数据对象包括 、 和 ,它们是用来存放各种类型数据的容器。5、vhdl的操作符包括 、 、 和 。6、vhdl的顺序语句只能出现在 、 和 中,是按照书写顺序自

5、上而下,一条一条执行。7、vhdl的进程(process)语句是由 组成的,但其本身却是 。二、单项选择题1、一个实体可以拥有一个或多个 a. 设计实体 b. 结构体 c. 输入 d.输出 2、在vhdl中用 来把特定的结构体关联到一个确定的实体。 a. 输入 b. 输出 c. 综合 d. 配置3、在下列标识符中, 是vhdl合法的标识符 a. 4h_add b. h_adde_ c. h_adder d._h_adde4、在下列标识符中, 是vhdl错误的标识符 a. 4h_add b. h_adde4 c. h_adder_4 d.h_adde5、在vhdl中为目标变量赋值符号为 a. b

6、. c. := d. =: 6、在vhdl语言中,用语句 表示检测到时钟clk的上升沿 a. clkevent b. clkevent and clk = 1 c. clk = 0 d. clkevent and clk = 07、在vhdl的并行语句之间中,只能用 来传送信息 a. 变量 b. 变量和信号 c. 信号 d. 常量 8、vhdl块语句是并行语句结构,它的内部是由 语句构成的 a. 并行和顺序 b. 顺序 c. 并行 d. 任何9、若s1为”1010”, s2为”0101”,下面程序执行后,outvalue输出结果为: 。library ieee;use ieee.std_log

7、ic_1164.all;entity ex is port(s1: in std_logic_vector(3 downto 0); s2: in std_logic_vector(0 to 3); outvalue: out std_logic_vector(3 downto 0);end ex;architecture rtl of ex isbegin outvalue(3 downto 0) = (s1(2 downto 0) and not s2(1 to 3) & (s1(3) xor s2(0) ;end rtl; a、 “0101” b、 “0100” c、“0001” d、“

8、0000” 10、假设输入信号a=“6”,b=“e”,则以下程序执行后,c的值为 。 entity logic is port( a,b : in std_logic_vector(3 downto 0); c : out std_logic_vector(7 downto 0); end logic; architecture a of logic is begin c(0) = not a(0); c(2 downto 1) = a(2 downto 1) and b(2 downto 1); c(3) = 1 xor b(3) ; c(7 downto 4) = 1111 when (a

9、 (2)= b(2) else 0000; end a; a “f8” b“ff” c“f7” d“0f”三、判别下列程序的对错,并改正有错的程序1、library ieee; use ieee.std_logic_1164.all; entity test is port (d,clk : in std_logic;q: out std_logic); end test; architecture one of test is begin process(clk) begin wait until clkevent and clk = 1 q = d; end process; end on

10、e;2、library ieee; use ieee.std_logic_1164.all; entity test is port(clk : in std_logic;count : out std_logic_vector(3 downto 0); end test; architecture two of test is begin process(clk) begin if clkevent and clk=1 then count = count +1; end if;end process; end two; 3、 library ieee;use ieee.std_logic_

11、1164.all;use ieee.std_logic_arith.all;entity forloop is port(a:in std_logic_vector(7 downto 0); y:out std_logic);end entity forloop;architecture rtl_loop of forloop isbegin process(a) variable temp: std_logic; begin temp=1; for i in 0 to 7 loop temp=temp xor a(i); endloop; y muxout muxout muxout mux

12、out=d; end case; end architecture rtl;四、编程题1、编写8选1数据选择器的vhdl源程序。设电路的16位数据输入位a7:0,选择信号为sel2:0,使能控制端位ena,高电平有效,数据选择输出为y。2、编写带异步复位和同步置位的d型触发器的vhdl源程序。设电路的复位端为clr,置位端为prd,均为低电平有效。互补输出为q和qn。3、试用vhdl设计一个24进制的计数器,输入输出信号如下图所示。其中信号clk5是clk五分频的输出;high信号是2 bit,是计数器的十位输出;low信号是4 bit,是计数器的个位输出;rst高有效。4、8位二进制数据收发

13、器的vhdl源程序。设电路的输入/输出(双向)为a7:0和b7:0,oen是使能控制端,且为0时工作,为1时被静止工作,此时a7:0和b7:0为高阻态。dtr为收发控制端,为1时数据由a7:0发送到b7:0,为0则相反。第四章、eda开发软件及eda实验开发平台一、填空题1、maxplus 支持 、 、 和 等不同编辑方式。2、指定设计电路的输入/输出端口与目标芯片引脚的连接关系的过程称为 。3、在完成设计电路的输入/输出端口与目标芯片引脚的锁定后,再次对设计电路的仿真称 。二、单项选择题1、maxplus 是 a高级语言 b. 硬件描述语言c. eda工具软件 d. 综合软件2、在使用max

14、plus 工具软件实现文本输入时应采用 方式。 a. 图形编辑 b. 文本编辑 c. 符号编辑d. 波形编辑3、执行maxplus 的 命令,可以对设计电路进行功能仿真或时序仿真 a. create default symbol b. simulatorc. compiler d. timing analyzer4. maxplus 的图形设计文件类型是 a. .scf b. .gdf c. .vhd d. .v第5章、电子系统eda设计的应用实例线性分组码编译码器 i2c串行总线接口模块电路一、设计题1、设计线性分组码编译码器 在通信系统中,由于信道存在大量噪声和干扰,使得经信道传输后的接收

15、码与发送码之间存在差异即出现误码。在数字通信系统中常采用差错控制信道编码技术,减少传输过程的误码,提高数字通信系统的传输质量。差错控制技术的基本思想是通过对信息序列做某种变换,如增加校验码元等,使得原来相关性很小的信息码元产生某种相关性,从而在接收端利用这种相关性来检查并纠正信息码元在传输中引起的差错。线性分组编码是采用增加校验码的差错控制的信道编码方式,在这种方式中,每个码组(字)只与该码字的信息码元相关,称为分组码,而且分组码内的规律是线性的,因此称为线性分组码。设计实现(7,4)线性分组码的编译码电路,其生成矩阵g为监督矩阵h为提示:线性分组编码时,将每k 个信息位分为一组进行独立处理,

16、按一定规律给每个信息组增加n-k个校验码元,组成长度为n的二进制码字,这种编码方式记为(n,k)分组码。信息位和校验位存在着线性关系。若线性分组码的输入信息位为,编码输出为,则有如下关系:式中g为线性分组码的生成矩阵,h为监督矩阵。当g确定后,编码方式就完全确定了;当h给定后,编码时校验位和信息位的关系就确定了。因此在设计编码器时,需要确定生成矩阵g,设计译码器时,需要确定监督矩阵h。设发送码字为,e表示传输中的差错,y表示接收码字。如果码字在传输过程中没有出现差错,则有;出差错时,。其中,s称为伴随子,又称为校正子。由于s只与序列传输中的差错e有关,因此在错码的纠错能力之内,一定的e序列组合

17、必然对应一定的s组合,因此可以预先在接收机中做好对应表,然后根据序列s准确地判断差错位置,再根据出错位置进行纠正,可得到正确的译码输出。线性分组编码器设计时,根据生成矩阵g可得到相应的编码。即由可得到c的编码输出。其中,前三个分量为增加的校验码元,后4个分量为原输入信息位。线性分组译码是编码的反过程,但较编码要复杂一些。根据在二进制对称条件下,采用译码平均错误概率最小的原则。此时,对于的最可能错误图样是译码汉明距离最小的接收码组,即非零个数最小的码组。根据监督矩阵h可以按以下步骤求解。1、计算接收矢量y的伴随子可得:s0=y0+y3+y5+y6;s1=y1+y3+y4+y5;s2=y2+y4+

18、y5+y62、由伴随子s决定对应的错误图样集e3、将y译成c=y-e。由h监督矩阵可推出校正子s0,s1,s2和错误码码组e向量的对应关系。s0,s1,s2错误位置(e码)s0,s1,s2错误位置(e码)100y0(0000001)011y4(00100000)010y1(0000010)111y5(01000000)001y2(0000100)101y6(10000000)110y3(0001000)000无错(00000000)2、设计串行总线接口模块电路ic(inter ic bus)总线是由philips 公司推出的芯片间串行总线,它以两根连线实现了完善的全双工同步的数据传送,可以极方

19、便的构成多机系统和外围器件扩展系统。它解决了由于使用并行总线扩展时连线过多,外围器件工作方式各异,外围器件与数据存储器混和编址而给单片机应用系统带来的困难。ic总线在标准模式下,数据传送速率可达100kbit/s,高速模式下可达400kbit/s,总线的驱动能力受总线电容限制,不加驱动扩展时驱动能力为400pf。为了能使总线实现线与功能,各个ic总线的接口电路的输出端必须是漏极开路或集电极开路结构,因此输出端必须加上拉电阻。其总线如下图所示。主控器件与从控器件是可以相互转换的,这要看在某一个数据传送周期内,是谁在对时钟线起主控作用。同时,如果总线上有多个主控器件,则它们可能形成多主竞争状态,这

20、时需要加入总线仲裁机制。ic总线有两种时序状态,一种是起始状态,另一种是终止状态。即当scl时钟信号为高电平时,sda数据线有一个由高到低电平的跳变,表明总线上数据传输开始。当scl时钟信号为高电平时,sda数据线有一个由低到高电平的跳变,表明总线上数据传输结束。没有数据传输时,sda和scl 都保持高电平的状态。ic进行总线数据的传输时,在时钟线scl为高电平期间,数据线sda必须为稳定状态。只有在scl为低电平时,sda上的电平才允许变化。pssdascl ic总线上是按字节来传送的,每传送一个字节都必须跟一位应答位。首先发送的数据位都必须是最高位。应答信号是在第9个时钟位出现的。发送器释

21、放数据总线,接收器发送一个低电平就为应答信号,高电平就为非应答信号。一次完整的数据传输见下图所示。更详细的ic总线可参见相应标准。 实现ic总线可分两个模块,发送模块和接收模块。在发送模块中,输入信号由reset(复位输入端)、en(使能控制输入端)、clk(时钟输入端)、data7:0(8位数据输入信号)。输出信号为 scl和sda。其中,scl信号由clk二分频产生,每次在clk信号的上升沿到来时进行电平跳变。sda信号通过一个状态机实现,每次clk信号下降沿,针对此时的scl信号电平和当前状态机的状态产生sda信号。接收模块输入为scl和sda信号,输出为data7:08位并行数据。数字

22、电路eda设计习题集参考答案第一章答案:填空题: 1、cad、cae、eda 2、设计准备、设计输入、设计处理、器件编程3、功能仿真、时序仿真、器件测试 4、文本输入方式、图形输入方式、波形输入方式 5、vhdl语言 verilog hdl语言6、hdl综合器选择题: b b b c 第二章答案:填空题: 1、低密度可编程逻辑器件 高密度可编程逻辑器件2、一次性可编程(otp) 可多次编程(mtp)3、不丢失4、会丢失5、可编程逻辑宏单元、可编程i/o单元、可编程内部连线6、可编程逻辑块clb、输入/输出模块iob、互连资源7、细粒度、粗粒度;分段互连型、连续互连型;一次编程型、可重复编程型8

23、、电可擦存储单元的e2prom或flash技术、sram查找表的编程单元、反熔丝编程单元选择题: d c b c简答题:(参考)1、差异:(1)cpld:复杂可编程逻辑器件,fpga:现场可变成门阵列;(2)cpld:基于乘积项技术的确定型结构,fpga:基于查找表技术的统计型结构;(3)cpld:5500 50000门,fpga:1k 10m 门 。实际应用中各自的特点:cpld适用于逻辑密集型中小规模电路,编程数据不丢失,延迟固定,时序稳定; fpga适用于数据密集型大规模电路,需用专用的 rom 进行数据配置,布线灵活,但时序特性不稳定第三章答案:填空题: 1、库、实体、结构体、程序包、

24、配置2、实体、结构体3、in out buffer inout4、常数constant、变量variable、信号signal5、逻辑操作符、关系操作符、算术操作符、符号操作符6、进程process、函数function、过程procedure7、顺序语句、并行语句选择题: b d bac bccac改错题:(参考) 1、错。含有wait语句的进程的敏感列表不能有信号。可去掉进程后的敏感列表中的信号clk或将wait until语句改为用if语句实现时钟上升沿2、错。端口count是输出端口,不能作为输入,应改为buffer,另外库的声明应加上use ieee.std_logic_unsign

25、ed.all ;3、错。temp为变量,变量赋值要用“:=”,而不是“ 编程题:(参考) 1、library ieee;use ieee.std_logic_1164.all;entity mux8_1 isport(sel: in std_logic_vector(2 downto 0);a : in std_logic_vector(7 downto );ena: in std_logic ;y :out std_logic);end mux8_1;architecture arch of mux8_1 isbegin y = a(0) when sel = “000” else a(1)

26、 when sel = “001” else a(2) when sel = “010” else a(3) when sel = “011” else a(4) when sel = “100” else a(5) when sel = “101” else a(6) when sel = “110” else a(7) ;end arch ; 该参考程序采用条件并行语句实现,也可用顺序语句实现。 2、library ieee; use ieee.std_logic_1164.all;entity dff_1 isport (clk: in std_logic ; clr,prd: in s

27、td_logic;d: in std_logic;q,qn: out std_logic);end dff_1;architecture arch of dff_1 issignal q_tmp: std_logic;beginprocess(clk,clr)beginif (clr = 0) then q_tmp = 0 ;elsif (lkevent and clk = 1)then if (prd = 0) then q_tmp = 1 ; else q_tmp = d ;end if;end if;end process;q = q_tmp ;qn = not q_tmp ;end a

28、rch ;3、library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter24 isport (rst,clk:in std_logic;high:out std_logic_vector(1 downto 0);low:out std_logic_vector(3 downto 0);end entity counter24;architecture rtl of counter24 issignal clk5:std_logic;signal cnter8:std_logic_

29、vector(2 downto 0):=000;signal high_in:std_logic_vector(1 downto 0):=00;signal low_in:std_logic_vector (3 downto 0):=0000;begin process(clk) begin if rising_edge(clk) then if cnter8=100 then cnter8=000; else cnter8=cnter8+1; end if; end if; end process; process(cnter8) begin if cnter8=100 then clk5=

30、1; else clk5=0; end if;end process;high=high_in;low=low_in; process(rst,clk5) begin if rst=1 then high_in=00; low_in=0000; elsif rising_edge(clk5) then if low_in=0011 and high_in=10 then low_in=0000; high_in=00; elsif low_in=1001 then low_in=0000; high_in=high_in+1; else low_in=low_in+1; end if; end

31、 if; end process;end architecture rtl;4、library ieee;use ieee.std_logic_1164.all;entity dtr8 isport(oen,dtr: in std_logic;a, b : inout std_logic_vector(7 downto 0);end dtr8 ;architecture arch of dtr8 issignal areg,breg: std_logic_vector(7 downto 0);beginprocess(dtr,a)begin if dtr = 1then breg = a ;

32、end if;end process;process (dtr,b)begin if dtr = 0 then areg = b ; end if;end process;b = breg when oen = 0 else “zzzzzzzz” ;a = areg when oen = 0 else “zzzzzzzz” ;end arch ;第四章答案:填空题: 1、图形、符号、文本、波形 2、引脚锁定 3、时序仿真或后仿真选择题: c b b b第五章答案:1、线性分组编码器的vhdl参考程序library ieee;use ieee.std_logic_1164.all;enity e

33、ncode isport(clk : in std_logic; ui: in std_logic_vector(3 downto 0); co: out std_logic_vector(6 downto 0);end encode;architecture arch of encode issignal cc: std_logic_vector(6 downto 0);begincc(0) = ui(0) xor ui(2) xor ui(3);cc(1) = ui(0) xor ui(1) xor ui(2);cc(2) = ui(1) xor ui(1) xor ui(3);cc(3)

34、 = ui(0);cc(4) = ui(1);cc(5) = ui(2);cc(6) = ui(3);process(clk)beginif clkevent and clk = 1 then co = cc ;end if ;end process;end arch;线性分组解码器的vhdl参考程序:library ieee;use ieee.std_logic_1164.all;enity decode isport(clk: in std_logic; y: in std_logic_vector(6 downto 0); c: out std_logic_vector( 6 downt

35、o 0);end decode ;architercture arch of decode is signal e: std_logic_vector( 6 downto 0); signal s: std_logic_vector(2 downto 0);begin s(0) = y(0) xor y(3) xor y(5) xor y(6) ; s(1) = y(1) xor y(3) xor y(4) xor y(5) ; s(2) = y(2) xor y(4) xor y(5) xor y(6) ; e(0) = s(0) and (not s(1) and (not s(2); e

36、(1) = (not s(0) and s(1) and (not s(2); e(2) = (not s(0) and (not s(1) and s(2); e(3) = s(0) and s(1) and (not s(2); e(4) = (not s(0) and s(1) and s(2); e(5) = s(0) and s(1) and s(2); e(6) = s(0) and (not s(1) and s(2); process (clk) begin if clkevent and clk = 1 then c = y xor e ; end if; end proce

37、ss ;end arch ;2、发送模块参考程序library ieee;use ieee.std_logic_1164.all;entity i2c_transmitter isport(clk,reset,en: in std_logic;data : in std_logic_vector(7 downto 0);scl, sda : out std_logic);end ptos_port;architecture arch of i2c_transmitter issignal databuff: std_logic_vector(7 downto 0);signal link_sd

38、a,sdabuff,sclbuff: std_logic;type states is (ready,start,st1,st2,st3,st4,st5,st6,st7,st8,st9,stop,idle);signal state: states;beginsda = sdabuff when link_sda = 1 else z ;scl = sclbuff ;-产生scl时钟u1: process(reset,clk)beginif (reset = 1) then sclbuff = 1;elsif (clkevent and clk = 1) then sclbuff = not sclbuff ;end if ;end u1 ;-用一个状态机控制sda信号的产生u2:process(reset,clk)beginif reset = 1 then link_sda = 0 ; state = ready ; sdabuff if en = 1 then link_sda = 1 ; state = start ; else link_sda = 0; state if sclbuff = 1 and en = 1 the

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论