1、山西高考理综试题一、填空题1. VHDL的数据对象分为 信 号 ,变 量 和常 数 3类。(文件 4类)2. VHDL的进程(process)语句是由顺序语句 组成的,但其本身却是并行语句 。3VHDL的操作符包括关系操作符 ,算术 ,逻辑 和符号操作符 。4. VHDL的顺序语句只能出现在进程 ,函数 和过程 中,是按照书写顺序自上而下,一条一条执行5. Quartus支持原理图 ,文本 ,符号 和 波形 等不同编辑方式6. 指定设计电路的输入/输出端口与目标芯片引脚的连接关系的过程称为引脚锁定 7. 当前最流行的并成为IEEE标准的硬件描述语言包括VHDL 和venlogHDL 8. 状态
2、机根据输出与内部器件和输入之间的关系来分可以分为moore 和Mealy 两种9. 位类型(BIT)的取值只有 0 和1 。10. 多个进程之间进行并行联系是通过 信号 来实现的11. variable只能在 进程 和 子程序 中使用,signal的使用和定义的范围是 实体 ,结构体 和程序包 。12. IEEE库中预定义的标准逻辑位的逻辑共有9 种13. FPGA的一般采用SRAM 工艺14. 在VHDL程序的基本结构 ,由设计库 ,程序包 ,实体 和结构体 以及配置 5个部分组成15. 对CPLD编程的目标文件扩展名为.pof,对FPGA配置的目标文件扩展名为.sof。16. 设D0为0,
3、D1为1,D2为1,D3为0,D3&D2&D1&D0的运算结果是:0110,(D3 or D2)and(D1 and not D0)的运算结果是:1 。17VHDL的数据STD_LOGIC定义了9种数据,其中Z表示高阻态,取值X表示不确定。18. VHDL的两大基本描述语句是顺序语句和并行语句19. VHDL的子程序有两种类型,即函数和过程。20. 程序包得结构体由程序包首声明和程序包体两部分组成21. Moore状态机输出只依赖于器件的当前状态,与 输入信号 无关22. 在VHDL程序中,实体和结构体是两个必须的基本结构23. 在VHDL的端口声明语句中,端口方向包括in,out,inout
4、和buffer。二、选择题1.VHDL程序设计结构体的基本功能是:(C)A.声明结构体中将用到的数据类型,元件,常数,子程序等B定义本设计的输入/输出端口C说明设计内部结果与外部端口间的逻辑关系D为本设计特定的结构体2. 在下列操作中,最高优先级的运算操作符是(C)A.AND B.OR C.NOT D.*3进程中的变量赋值语句,其变量更新是 (A)A.立即完成;B.按顺序完成; C.在进程的最后完成; D.都不对4. 在一个VHDL设计中idata是一个信号,数据类型为std_logic_vector,试指出下面赋值语句错误的是 (D)A.idata=“00001111” B.idata=B“
5、0000_1111” C.idata=X“AB” D.idata=B“21”5. 下述哪个语句用于描述组合电路 (C)A.case is when B.if then elsif then C.when else D.if then 6. 在下列类型的语句中不属于顺序语句的是(C)A.赋值语句 B.LOOP语句 C.进程语句 D.CASE语句7. 执行Quartus的(A)命令,可以在底层设计时创建元件的图形符号A.Create Default Symbol B.Simulator C.Compiler D.Timing Analvzer8. 在VHDL语言中,用语句 (B) 表示检测到时钟c
6、lk的上升沿A.clkevent B.rising edge(clk) C.clk=0 D.clk=19. 在VHDL中为目标signal赋值符号为 (B)A.= B.= C.I:= D.=:10. 假设输入信号a=6,b=E,则以下程序执行后,c的值为 (B)Entity logic isPort(a,b:in std_logic_vector(3 downto 0);C:out sed_logic_vector(7 downto 0);End logic;Architecture a of logic isBeginC(0)=a(0);C(2 downto 1)=a(2 downto 1)
7、 and b(2 downto 1);C(3)=1xor b(3);_xor表示异或C(7 downto 4)=“1111”when (a(2)=b(2) else“0000”;End a;A.F8 B.F6 C.F7 D.0F11. 规模可编程器件主要有FPGA,CPLD两类下列对FPGA结构与工作原理的描述中,正确的是(B)A.FPGA即是现场可编程逻辑器件的英文简称B.FPGA是基于查找表结构的可编程逻辑器件C.早期的CPLD是从GAL的结构扩展而来D.在Altera公司生产的器件中,FLEX10K系列属CLPD结构12. 下面哪种VHDL库使用时不需要声明(C)A.IEEE库 B.AS
8、IC库 C.WORK库 D.ALTERA库13. 嵌套使用IF语句,其综合结果可实现(A)A.带优先级且条件相与的逻辑电路 B.条件相或的逻辑电路C.三态控制电路 D.双向控制电路14. 在IEEE预定义的标准逻辑位数据中“Z”表示(D)A.强未知的 B.强0 C.强1 D.高阻态15. 类属说明的正确格式是:(B)A.GENERIC(delay:TIME=20us) B. GENERIC(delay:TIME:=20us)C.GENERIC(delay TIME=20us) D. GENERIC(delay=TIME:=20us)16. 用于下载到目标芯片进行硬件调试的文件类型是(A)A.s
9、cf B.bdf C.vhd D.v17. 在VHDL中用(D)来把特定的结构体关联到一个确定的实体A.输入 B.输出 C.综合 D.配置18. 能反馈输出信号至内部的端口模式是(C)A.IN B.OUT C.BUFFER D.INOUT19. 在VHDL中为目标Variable赋值符号(C) A.= B.= C.:= D.=:20. 进程中对Signal进行赋值,其更新是(C)A.立即完成;B.按顺序完成; C.在进程的最后完成; D.都不对21VHDL语言中,下列对时钟边沿检测描述中,错误的是(D)A.if clkevent and clk 1then B.if falling edge(
10、clk) thenC.if clkevent and clk 0then D. if clkstable and not clk 1then22. 若s1为“1011”,s2为“0101”,下面程序执行后,outValue输出结果为:(B)Liberary ieee;Use ieee.std_logic_1164.all;Entity ex isPort( 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;.outV
11、alue(3 downto 0)=(s1(2 downto 0) and not s2(1 to 3) and s2(0);end rtlA.0101 B.O100 C.0001 D.0000三、EDA名词解释,写出下列缩写的中文(或者英文)含义。1.FGPA:现场可编程门阵列 2.EDA:电子设计自动化3.VHDL:超高速硬件描述语言 4.ASIC:专用集成电路5.CPLD:复杂可编程逻辑器件 6.EAB:嵌入式阵列块7.RIT:寄存传输级四、根据题目要求完成如下:1. 阅读下列VHDL程序,画出相应RTL图Library ieee;Use ieee.std_logic_1164.all;E
12、ntity lfsr isPort(clk,clr,d:in std_logic;Mount:out std_logic);End lfsr;Architecture rtl of lfsr issignal sreg : std_logic; beginProcess(clk,clr)variable s : std_logic;BeginIf clr=1then s:=0;Elsif rising_edge(clk) thenS:=sreg xor (not d);End if;Sreg=s;End process;Mout=sreg;End rtl;2. 阅读下列VHDL程序,画出相应R
13、TL图,并说明其功能Entity quansub isPort(a,b,c_in:in bit;Sub,c_out:out bit);End quansubArchitecture one of quansub isProcedure bansub(signal x,y:in bit;signal s,c:out bit) isBeginS=x xor y after 5nsC=(not x) and y after 5ns;End procedure bansub;Procedure orgate(singal m,n:in bit; signal o:out bit) isBegin0=m
14、 or n;End Procedure orgate;Signal temp1,temp2,temp3:bit;BeginU0:bansub(a,b,temp1,temp2);U1:bansub(temp1,c_in,sub,temp3);U2:bansub(temp1,temp2,c_out);End one;五、VHDL程序改错1) library ieee;2) Use ieee.std_logic_1164.all;3) Entity moor is4) Port(datain:in std_logic_vector(1 downto 0)5) Clk,rst:in std_logic
15、;6) Q:out std_logic_vector(2 downto 0);7) End moor;8) Architecture behave of moor is9) Signal st_type is (st0,st1,st2);10) Signal c_st:st_tytp;11) Begin12) Process(clk,rst)13) Begin14) If rst=1then c_st=st0;q if datain=“10”then c_st=st1;18) Else c_st=st0;19) End if; Q if datain=“11”then c_st=st2;21)
16、 Else c_st=st1;22) End if; Q if datain=“01”then c_st=st3;24) Else c_st=st0;25) End if; Qc_st=st0;library ieee;Use ieee.std_logic_1164.all;Entity mux41 isPort(s1,s2:in std_logic;A,b,c,d:in std_logic;Y:out std_logic;加个“)”End mux41;Architecture beh of mux41 isSignal s:std_logic_vector(2 downto 0);改为(1
17、downto 0)BeginSyyyyy=c&b&a;Process(indata)BeginIf(g1=1 and g2a=0and g2b=0) thenCase indata isWhen “000”=yyyyyyyyy=“Z”;-改为“ZZZZZZZZ”End case;Else y=“11111111”;添加一句“end if”End process;End one;六、1)设计一数据选择器MUX,其系统模块图和功能表如下图所示试采用下面三种方式中的两种来描述该数据选择器MUX的结构体。(a)用if语句 (b)用case语句 (c)用when else语句library ieee;U
18、se ieee.std_logic_1164.all;Entity mymux isPort(sel: in std_logic_vector(1 downto 0);Ain ,bin:in std_logic_vector(1 downto 0);Cout :out std_logic_vector(1 downto 0);End mymux;Architecture one of mymux isBeginProcess(sel,ain,bin)Begin If sel=“00” then cout=ain and bin;Elsif sel=“01” then cout=ain xor
19、bin;Elsif sel=“10” then cout=not ain;Else coutcout coutcoutcout=not bin;End case;End process;End two;Architecture three of mymux isBeginCout=ain and bin when sel=“00”elseain xor bin when sel=“01”elsenot ain when sel=“10”elsenot bin;End three;2)看下面原理图,补充完相应VHDL描述。DFF为上升沿触发,LATCH为高电平选通library ieee;Use
20、 ieee.std_logic_1164.all;Entity mycir isPort(A,B,clk: in std_logic;Q:out std_logic);End mycir;Architecture beh of mycir isSignal ta,tc;Begintc=ta nand B;Process(clk)Beginif clkevent and clk=1thenta=A;End if;End process;Process(clk,tc)BeginIf clk=1thenQ=tc;End if;End process;End beh;3.利用元件例化和生成语句完成74
21、373的8位三态锁存器的设计 1位锁存器LATCH的逻辑描述library ieee;Use ieee.std_logic_1164.all;Entity latch isPort(D,ENA: in std_logic;Q:out std_logic);End entity latch;Architecture one of latch isSignal sig:std_logic;BeginProcess(D,ENA)BeginIf ENA=1then sig=d;End if;Q=sig;End process;End Architecture one;- 8位锁存器74373逻辑描述L
22、IBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY SN74373 IS PORT ( D : IN STD_LOGIC_VECTOR( 7 DOWNTO 0 ); OEN ,G : IN STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END SN74373;ARCHITECTURE one OF SN74373 IS COMPONENT Latch PORT ( D, ENA : IN STD_LOGIC; Q : OUT STD_LOGIC ); END COMPONENT; SIGNAL s
23、ig: STD_LOGIC_VECTOR( 8 DOWNTO 1 ); BEGIN FOR i IN 7 DOWNTO 0 GENERATE Latch PORT MAP(D( i ), G, sig ( i ); END GENERATE; Q 0); elsif clkevent and clk = 1 then q := q + 1; end if; if q = 100 then cout = 1; else cout = 0; end if; end process;end one;以下是elev2模块的VHDL实体描述(结构体部分省略):entity elev2 is port (clk, rst : in std_logic; - 时钟、复位信号 cout : in std_logic; - 定时溢出信号 door : out std_logic; - 门控信号,低电平开门 up : out std_logic; - 上升信号 down : out std_logic; - 下降信号 en : out std_logic); - 延时计数清零、使能信号end
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1