ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:368.66KB ,
资源ID:26093632      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26093632.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA期末考试题大全.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA期末考试题大全.docx

1、EDA期末考试题大全附带:一问答题1信号赋值语句在什么情况下作为并行语句?在什么情况下作顺序语句?信号赋值和变量赋值符号分别是什么?两种赋值符号有什么区别? 信号赋值语句在进程外作并行语句,并发执行,与语句所处的位置无关。信号赋值语句在进程内或子程序内做顺序语句,按顺序执行,与语句所处的位置有关。 信号赋值符号为“qqqq=d; END CASE; 答案:CASE语句缺“WHEN OTHERS”语句。2.已知data_in1, data_in2为STD_LOGIC_VECTOR(15 DOWNTO 0) 类型的输入端口,data_out为STD_LOGIC_VECTOR(15 DOWNTO 0

2、)类型的输出端口,add_sub为STD_LOGIC类型的输入端口,请判断下面给出的程序片段: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY add IS PORT(data_in1, data_in2:IN INTEGER; data_out:OUT INTEGER); END add; ARCHTECTURE add_arch OF add IS CONSTANT a:INTEGER=2; BEGIN data_out=( data_in1+ data_in2) * a; END addsub_arch;答案:常量声明时赋初值的“=”符

3、号应改用“:=”符号。3.已知Q为STD_LOGIC类型的输出端口,请判断下面的程序片段: ARCHITECTURE test_arch OF test IS BEGIN SIGNAL B:STD_LOGIC; QQQ=0; END CASE; END archtest;答案:CASE语句应该存在于进程PROCESS内。三程序设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER4B IS -4位二进制并行加法器 PORT(CIN:IN STD_LOGIC; -低位进位 A:

4、 IN STD_LOGIC_VECTOR(3 DOWNTO 0); -4位加数 B: IN STD_LOGIC_VECTOR(3 DOWNTO 0); -4位被加数 S: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -4位和 CONT: OUT STD_LOGIC); END ADDER4B;ARCHITECTURE ART OF ADDER4B IS SIGNAL SINT:STD_LOGIC_VECTOR(4 DOWNTO 0); SIGNAL AA,BB: STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN AA=0& A; -将4位加数矢量扩

5、为5位,为进位提供空间 BB=0& B; -将4位被加数矢量扩为5位,为进位提供空间 SINT=AA+BB+CIN ; S=SINT(3 DOWNTO 0); CONTCIN,A=A(3 DOWNTO 0),B=B(3 DOWNTO0), S=S(3 DOWNTO 0),COUT=CARRY_OUT);U2:ADDER4B -例化(安装)一个4位二进制加法器U2 PORT MAP(CIN=CARRY_OUT,A=A(7 DOWNTO 4),B=B(7 DOWNTO 4), S=S (7 DOWNTO 4);CONT=CONT);END ART;3.触发器和缓冲器D触发器:Process(clk

6、) begin if(clkevent and clk=1) then q = d; end if;end process; 缓冲器:Process(clk)begin if(clk=1) then q = d; end if;end process; T触发器:Process(clk)begin if(clkevent and clk=1) then if(t = 1) then q = not(q); else q = q; end if; end if;end process; 4.16位锁存器的源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;EN

7、TITY REG16B IS -16位锁存器 PORT (CLK:IN STD_LOGIC; -锁存信号 CLR:IN STD_LOGIC; -清零信号 D:IN STD_LOGIC_VECTOR (8 DOWNTO 0) -8位数据输入 Q:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);-16位数据输出END REG16B;ARCHITECTURE ART OF REG16B IS SIGNAL R16S:STD_LOGIC_VECTOR(15 DOWNTO 0); -16位寄存器设置BEGINPROCESS (CLK,CLR) BEGIN IF CLR = 1 THE

8、N R16S= 00000; -异步复位信号 ELSIF CLKEVENT AND CLK = 1 THEN -时钟到来时,锁存输入值 R16S(6 DOWNTO 0)=R16S(7 DOWNTO 1);-右移低8位 R16S(15 DOWNTO 7)=D; -将输入锁到高能位 END IF; END PROCESS; Q=R16S;END ART;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; -8位右移寄存器ENTITY SREG8B IS PORT (CLK:IN STD_LOGIC; LOAD :IN STD _LOGIC; BIN:IN STD_L

9、OGIC_VECTOR(7DOWNTO 0); QB:OUT STD_LOGIC );END SREG8B;ARCHITECTURE ART OF SREG8B IS SIGNAL REG8B:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN PROCESS (CLK,LOAD) BEGIN IF CLKEVENT AND CLK= 1 THEN IF LOAD = 1 THEN REG8=DIN; -装载新数据 ELSE REG8(6 DOWNTO0)=REG8(7 DOWNTO 1);-数据右移 END IF; END IF; END PROCESS; QB= REG

10、8 (0); -输出最低位END ART;68位乘法器的源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; -8位乘法器顶层设计ENTITY MULTI8X8 IS PORT(CLK:IN STD_LOGIC; START:IN STD_LOGIC;-乘法启动信号,高电平复位与加载,低电平运算 A:IN STD_LOGIC_VECTOR(7 DOWNTO 0); -8位被乘数 B:IN STD_LOGIC_VECTOR(7 DOWNTO 0); -8位乘数 ARIEND:OUT STD_LOGIC; -乘法运算结束标志位 DOUT:OUT STD_LOGI

11、C_VECTOR(15 DOWNTO 0);-16位乘积输出END MULTI8X8;ARCHITECTURE ART OF MULTI8X8 IS COMPONENT ARICTL -待调用的乘法控制器端口定义 PORT(CLK:IN STD_LOGIC;START:IN STD_LOGIC; CLKOUT:OUT STD_LOGIC;RSTALL:OUT STD_LOGIC; ARIEND:OUT STD_LOGIC);END COMPONENT;COMPONENT ANDARITH -待调用的控制与门端口定义 PORT(ABIN:IN STD_LOGIC; DIN:IN STD_LOGI

12、C_VECTOR(7 DOWNTO 0); DOUT:OUT_STD_LOGIC_VECTOR( 7 DOWNTO 0) );END COMPONENT;COMPONENT ADDER8B -待调用的8位加法器端口定义COMPONENT SREG8B -待调用的8位右移寄存器端口定义 COMPONENT REG16B -待调用的16右移寄存器端口定义 SIGNAL GNDINT:STD_LOGIC;SIGNAL INTCLK:STD_LOGIC;SIGNAL RSTALL:STD_LOGIC;SIGNAL QB:STD_LOGIC;SIGNAL ANDSD:STD_LOGIC_VECTOR(7

13、 DOWNTO 0);SIGNAL DTBIN:STD_LOGIC_VECTOR(8 DOWNTO 0);SIGNAL DTBOUT:STD_LOGIC_VECTOR(15 DOWNTO 0);BEGINDOUT=DTBOUT;GNDINTCLK, START=START, CLKOUT=INTCLK, RSTALL=RSTALL, ARIEND=ARIEND); U2:SREG8B PORT MAP(CLK=INTCLK, LOAD=RSTALL. DIN=B, QB=QB);U3:ANDARITH PORT MAP(ABIN=QB,DIN=A,DOUT=ANDSD);U4:ADDER8B

14、PORT MAP(CIN=GNDINT,A=DTBOUT(15 DOWNTO 8), B=ANDSD, S=DTBIN(7 DOWNTO 0),COUT =DTBIN(8);U5:REG16B PORT MAP(CLK =INTCLK,CLR=RSTALL, D=DTBIN, Q=DTBOUT);END ART;7有时钟使能的十进制计数器的源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; -有时钟使能的十进制计数器ENTITY CNT10 ISPORT (CLK:IN STD_LOGIC; -计数时钟信号 CLR:IN STD_LOGIC; -清零信号

15、END:IN STD_LOGIC; -计数使能信号 CQ:OUT INTEGER RANGE 0 TO 15; -4位计数结果输出 CARRY_OUT:OUT STD_LOGIC); -计数进位 END CNT10;ARCHITECTURE ART OF CNT10 IS SIGNAL CQI :INTEGER RANGE 0 TO 15; BEGIN PROCESS(CLK,CLR,ENA) BEGIN IF CLR= 1 THEN CQI= 0; -计数器异步清零 ELSIF CLKEVENT AND CLK= 1 THEN IF ENA= 1 THEN IF CQI9 THEN CQI=

16、CQI+1; ELSE CQI=0;END IF; -等于9,则计数器清零 END IF; END IF; END PROCESS; PROCESS (CQI) BEGIN IF CQI=9 THEN CARRY_OUT= 1; -进位输出 ELSE CARRY_OUT= 0;END IF; END PROCESS; CQ=CQI;END ART;8) 六进制计数器的源程序CNT6.VHD(十进制计数器的源程序CNT10.VHD与此类似)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY

17、 CNT6 ISPORT (CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; ENA: IN STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CARRY_OUT: OUT STD_LOGIC );END CNT6;ARCHITECTURE ART OF CNT6 ISSIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK,CLR,ENA)BEGIN IF CLR=1 THEN CQI=0000; ELSIF CLKEVENT AND CLK=1 THEN IF ENA

18、=1 THEN IF CQI=“0101” THEN CQI=“0000”; ELSE CQI=CQI+1;END IF; END IF; END IF; END PROCESS; PROCESS(CQI) BEGIN IF CQI=“0000” THEN CARRY_OUT=1; ELSE CARRY_OUT=0;END IF; END PROCESS; CQ=CQI;END ART;9十进制计数器LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY count10 ISPORT(clk

19、: IN STD_LOGIC; seg: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END count10;ARCHITECTURE a1 OF count10 ISsignal sec: STD_LOGIC;signal q : STD_LOGIC_VECTOR(21 DOWNTO 0);signal num: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINprocess(clk) -get 1 hz clock pulsebeginif clkevent and clk=1 then q=q+1; end if;sec=q(21); -get

20、1 hz clock pulseend process;timing: process(sec) beginif secevent and sec=1 then if num9 then num=num+1; else num=0000; end if;end if;end process;B1: block -bcd-7segsBegin -gfedcba seg= 0111111 when num=0 else 0000110 when num=1 else 1011011 when num=2 else 1001111 when num=3 else 1100110 when num=4

21、 else 1101101 when num=5 else 1111101 when num=6 else 0000111 when num=7 else 1111111 when num=8 else 1101111 when num=9 else 0000000;end block;END a1;104MHz到1Hz的分频器LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY count ISPORT( clk: in STD_LOGIC; q: out STD_LOGIC;END c

22、ount;ARCHITECTURE a OF count ISsignal tmp: STD_LOGIC_vector(21 downto 0);Beginprocess(clk) beginif clkevent and clk=1 then tmp=tmp+1;end if;end process;q=tmp(21);END a;11与门ENTITY shili2 is port ( input1 : in std_logic; inptu2 : in std_logic; output1 : out std_logic );end entity;architecture one of shili2 is begin output1=input1 and input2; end entity;12.四输入与门电路library ieee;use ieee.std_logic_1164.all;entity and4 is port(a,b,c,d:in std_logic; y:out std_logic;end and4; architecture and4_1 of and4 is begin yyyyyyyyyyyyyyyyyy=x;end case;end process;en

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1