VHDL试题
VHDL参考试题
一、选择题(共10分,每题2分)1.在一个VHDL设计中Idata是一个信号,数据类型为std_logic_vector,试指出下面赋值语句错误的是__ ___。
A. idata <= “00001111”;B. idata <= b”0000_1111”;C. idata <= X”AB”;D. idata <= B”21”;2.在VHDL语言中,下列对时钟边沿检测描述中,错误的是__ ___。
A. if clk’event and clk = ‘1’ thenB. if falling_edge(clk) thenC. if clk’event and clk = ‘0’ thenD. if clk’stable and not clk = ‘1’ then3.请指出Altera Cyclone系列中的EP1C6Q240C8这个器件是属于_____A. ROMB. CPLDC. FPGAD.GAL4.状态机编码方式中,其中一位热码编码占用触发器较多,但其实现比较适合_____的应用。
A. FPGAB. CPLDC. PALD.GAL5.进程中的信号赋值语句,其信号更新是_______。
a)按顺序完成;b)比变量更快完成;c)在进程的最后完成;d)都不对。
二、EDA名词解释(共10分,每题2分)1.ASIC2.FPGA3.VHDL4.EDA5.SOC三、程序补充题(共10分,每空1分)下面程序是一个10线-4线优先编码器的VHDL描述,试补充完整。
LIBRARY __________ ;USE IEEE._____________________.ALL;ENTITY coder ISPORT ( din : IN STD_LOGIC_VECTOR(____________________);output : __________ STD_LOGIC_VECTOR(3 DOWNTO 0) );END coder;ARCHITECTURE behav OF _____________ ISSIGNAL SIN : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS (___________)BEGINIF (din(9)='0') THEN SIN <= "1001" ;__________________ THEN SIN <= "1000" ;ELSIF (din(7)='0') THEN SIN <= "0111" ;ELSIF (din(6)='0') THEN SIN <= "0110" ;ELSIF (din(5)='0') THEN SIN <= "0101" ;ELSIF (din(4)='0') THEN SIN <= "0100" ;ELSIF (din(3)='0') THEN SIN <= "0011" ;ELSIF (din(2)='0') THEN SIN <= "0010" ;ELSIF (din(1)='0') THEN SIN <= "0001" ;ELSE _______________ ;________________END PROCESS ;_______________;END behav;四、程序改错题(共15分)仔细阅读下列程序,改正程序中的错误并说明该程序的功能。
VHDL程序练习题(含答案)
VHDL程序填空题(一) 在下面横线上填上合适的VHDL关键词,完成2选1多路选择器的设计。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;1 MUX21 ISPORT(SEL:IN STD_LOGIC;A,B:IN STD_LOGIC;Q: OUT STD_LOGIC );END MUX21;2 BHV OF MUX21 ISBEGINQ<=A WHEN SEL=’1’ EL SE B;END BHV;(二) 在下面横线上填上合适的语句,完成BCD-7段LED显示译码器的设计。
LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;ENTITY BCD_7SEG ISPORT( BCD_LED : IN STD_LOGIC_VECTOR(3 DOWNTO 0);LEDSEG : OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END BCD_7SEG;ARCHITECTURE BEHAVIOR OF BCD_7SEG ISBEGINPROCESS(BCD_LED)3IF BCD_LED="0000" THEN LEDSEG<="0111111";ELSIF BCD_LED="0001" THEN LEDSEG<="0000110";ELSIF BCD_LED="0010" THEN LEDSEG<= 4 ;ELSIF BCD_LED="0011" THEN LEDSEG<="1001111";ELSIF BCD_LED="0100" THEN LEDSEG<="1100110";ELSIF BCD_LED="0101" THEN LEDSEG<="1101101";ELSIF BCD_LED="0110" THEN LEDSEG<="1111101";ELSIF BCD_LED="0111" THEN LEDSEG<="0000111";ELSIF BCD_LED="1000" THEN LEDSEG<="1111111";ELSIF BCD_LED="1001" THENLEDSEG<="1101111";ELSE LEDSEG<= 5 ;END IF;END PROCESS;END BEHAVIOR;(三) 在下面横线上填上合适的语句,完成数据选择器的设计。
EDA技术(VHDL)试卷及答案
一、单项选择题(30分) 1.以下描述错误的是 CA .QuartusII 是Altera 提供的FPGA/CPLD 集成开发环境B .Altera 是世界上最大的可编程逻辑器件供应商之一C .MAX+plusII 是Altera 前一代FPGA/CPLD 集成开发环境QuartusII 的更新换代新产品D .QuartusII 完全支持VHDL 、Verilog 的设计流程2.以下工具中属于FPGA/CPLD 开发工具中的专用综合器的是 BA .ModelSimB .Leonardo SpectrumC .Active HDLD .QuartusII 3.以下器件中属于Xilinx 公司生产的是 CA .ispLSI 系列器件B .MAX 系列器件C .XC9500系列器件D .FLEX 系列器件 4.以下关于信号和变量的描述中错误的是 BA .信号是描述硬件系统的基本数据对象,它的性质类似于连接线B .信号的定义范围是结构体、进程 1’0’1’图为某一状态机对应的状态图,试用VHDL 语言描述这一状态机。
(18分)S0S1S3S21/10011/11110/11000/0000其它/0000其它/1111其它/1100其它/1001参考程序如下: LIBRARY IEEE; USE FSM2 ISPORT ( clk,reset,in1 : IN STD_LOGIC;out1 : OUT STD_LOGIC_VECTOR(3 downto 0)); END;ARCHITECTURE bhv OF FSM2 ISTYPE state_type IS (s0, s1, s2, s3);SIGNALcurrent_ state,next_state: state_type; BEGINP1:PROCESS(clk,reset) BEGINIF reset = ‘1’ THEN current_state <= s0; ELSIF clk='1' AND clk'EVENT THENcurrent_state <=next_state; END IF;END PROCESS;P2:PROCESS(current_state) BEGINcase current_state isWHEN s0 => IF in1=‘1’THEN next_state<=s1; ELSE next_state<=s0; END IF;WHEN s1 => IF in1='0'THEN next_state<=S2;ELSE next_state<=s1; END IF;WHEN s2 => IF in1='1'THEN next_state<=S3;ELSE next_state<=s2; END IF;WHEN s3 => IF in1='0'THEN next_state<=S0;ELSE next_state<=s3; END IF; end case; END PROCESS;p3:PROCESS(current_state) BEGINcase current_state isWHEN s0 => IF in1=‘1’THEN out1<=“1001”; ELSE out1<="0000"; END IF; WHEN s1 => IF in1='0'THEN out1<="1100"; ELSE out1<="1001"; END IF; WHEN s2 => IF in1='1'THEN out1<="1111"; ELSE out1<="1001"; END IF; WHEN s3 => IF in1='1'THEN out1<="0000"; ELSE out1<="1111"; END IF; end case; END PROCESS; end bhv;。
VHDL练习题
12. VHDL语言中变量定义的位置是 D 。
A. 实体中中任何位置B. 实体中特定位置C. 结构体中任何位置D. 结构体中特定位置13. VHDL语言中信号定义的位置是 D 。
A. 实体中任何位置B. 实体中特定位置C. 结构体中任何位置D. 结构体中特定位置14. 变量是局部量可以写在 B 。
A. 实体中B. 进程中C. 线粒体D. 种子体中15. 变量和信号的描述正确的是 A 。
A. 变量赋值号是:=B. 信号赋值号是:=C. 变量赋值号是<=D. 二者没有区别16. 变量和信号的描述正确的是 B 。
A. 变量可以带出进程B. 信号可以带出进程C. 信号不能带出进程D. 二者没有区别17. 关于VHDL数据类型,正确的是 D 。
A. 数据类型不同不能进行运算B. 数据类型相同才能进行运算C. 数据类型相同或相符就可以运算D. 运算与数据类型无关18. 下面数据中属于实数的是 A 。
A. B. 3 C. ‘1’ D. “11011”19. 下面数据中属于位矢量的是 D 。
A. B. 3 C. ‘1’ D. “11011”20. 关于VHDL数据类型,正确的是。
A. 用户不能定义子类型B. 用户可以定义子类型C. 用户可以定义任何类型的数据D. 前面三个答案都是错误的21. 可以不必声明而直接引用的数据类型是 C 。
A. STD_LOGICB. STD_LOGIC_VECTORC. BITD. 前面三个答案都是错误的22. STD_LOGIG_1164中定义的高阻是字符 D 。
A. XB. xC. zD. Z23. STD_LOGIG_1164中字符H定义的是 A 。
A. 弱信号1B. 弱信号0C. 没有这个定义D. 初始值24. 使用STD_LOGIG_1164使用的数据类型时 B 。
A.可以直接调用B.必须在库和包集合中声明C.必须在实体中声明D. 必须在结构体中声明25. 关于转化函数正确的说法是。
vhdl期末考试题库及答案
vhdl期末考试题库及答案VHDL期末考试题库及答案一、选择题1. VHDL是一种用于电子设计自动化的硬件描述语言,主要用于描述什么?A. 软件程序B. 硬件电路C. 数据库D. 操作系统答案:B2. 在VHDL中,哪个关键字用于定义一个进程?A. processB. procedureC. functionD. package答案:A3. 下列哪个不是VHDL的预定义数据类型?A. bitB. integerC. realD. boolean答案:A4. VHDL中,哪个属性用于获取信号的稳定值?A. 'stable'B. 'event'C. 'quiet'D. 'transaction'答案:A5. 在VHDL中,以下哪个是合法的信号赋值语句?A. signal a : integer := 5;B. signal a : integer is 5;C. signal a <= 5;D. signal a : integer = 5;答案:C二、简答题1. 简述VHDL中的并发语句和顺序语句的区别。
答案:并发语句用于描述多个独立操作同时发生,如进程和并行块;顺序语句描述操作的顺序执行,如if语句、case语句等。
2. 解释VHDL中的时序仿真和功能仿真的区别。
答案:时序仿真考虑了信号的时序特性,如延迟和时间,用于验证设计在实际工作条件下的行为;功能仿真则不关心时序,只验证设计的功能正确性。
三、编程题1. 编写一个VHDL程序,实现一个简单的二进制加法器。
答案:```vhdlentity adder isport(A, B : in bit_vector(1 downto 0);Sum : out bit_vector(1 downto 0);Carry : out bit);end entity adder;architecture behavior of adder isbeginprocess(A, B)begincase A iswhen "00" => Sum <= "00"; Carry <= '0';when "01" => Sum <= "01"; Carry <= '0';when "10" => Sum <= "01"; Carry <= '0';when "11" => Sum <= "10"; Carry <= '1';end case;end process;end architecture behavior;```四、论述题1. 论述在VHDL中使用测试平台(testbench)的重要性。
vhdl考试题库
vhdl考试题库题目一计时秒表难度系数:1.2一、计时秒表的功能要求计时秒表是我们经常见的,在体育运动上也应用非常广的一种工具。
譬如我们在进行50米、100米短跑运动中,需要一个计时非常经准的秒表来测速。
在这里,我们需设计一个计时秒表,具有以下功能:①有启/停开关,用于开始/结束计时操作;②用四个七段数码管显示计时数;③秒表计时长度为59分59秒,超过计时长度,有溢出则报警;④设置复位开关,在任何情况下,只要按下复位开关,秒表都要无条件地进行复位清0操作。
二、发挥部分①具有暂停的功能;②秒表的计时长度可手动设置。
三、评分标准组成部分项目满分基本要求设计与总结报告:方案比较、设计分析、有关设计文件等50分实际调试完成情况50分发挥部分完成①10分完成②10分题目二彩灯控制器难度系数:1.1 一、彩灯控制器的功能基本要求要求设计一个8路彩灯控制器,能控制8路彩灯按照两种节拍、三种花型循环变化。
两种节拍分别为0.25s和0.5s。
三种花型分别是:①8路彩灯从左至右按次序渐亮,全亮后逆次序渐灭。
②从中间到两边对称的渐亮,全亮后仍由中间向两边逐次渐灭。
③8路彩灯分成两半,从左至右顺次渐亮,全亮后则全灭。
用点阵实现下载后的调试.二、发挥部分①在此三种花型循环变化的基础上,再加一种花型,譬如:8路彩灯分成两半,从左至右顺次渐亮,然后从右至左逆次渐灭。
②加一个8路彩灯,与上面的彩灯按照相同的节拍和花型循环变化。
三、评分标准组成部分项目满分基本要求设计与总结报告:方案比较、设计分析、有关设计文件等50分实际调试完成情况50分发挥部分完成①10分完成②10分题目三交通灯控制器难度系数:1.4一、任务书(1)简要说明在十字路口,每条道路各有一组红、黄、绿灯和倒计时显示器,用以指挥车辆和行人有序地通行。
其中,红灯(R)亮,表示该条道路禁止通行;黄灯(Y)亮,表示停车;绿灯(G)亮,表示可以通行。
倒计时显示器是用来显示允许通行和禁止通行地时间。
VHDL试卷6套
填空题(20分,每空格1 分)1、一个完整的VHDL语言程序通常包含实体(entity ) , 构造体(architecture ),酉己置 (configuration ),包集合(package)禾和库(library ) 5 各部分。
2、在一个实体的端口方向说明时,输入使用in表示,那么构造体内部不能再使用的输出是用out 表示;双向端口是用in out 表示;构造体内部可再次使用的输出是用buffer表示;3、一个构造体可以使用几个子结构,即相对比较独立的几个模块来构成。
VHDL语言可以有以下3种形式的子结构描述语句:BLOCK 语句结构;PROCESS语句结构和SUBPROGRAMS结构。
4、VHDL的客体,或称数据对象包括了常数、变量variable 和信号signal 。
5、请列出三个VHDL语言的数据类型,如实数、位等。
位矢量,字符,布尔量。
6、设D0 为'0', D1 为'0', D2为'1', D3为'0', D0 & D1 & D2 & D3 的运算结果是“ 0010”,D3 & D2 & D1 & D0 的运算结果是“ 0100 ”。
7、构造体的描述方式包括三种,分别是寄存器传输(RTL)描述方法或称数据流;构造体的结构描述方式和构造体的行为描述方式。
1、传统的系统硬件设计方法是采用自上而下(top down )的设计方法,利用硬件描述语言(HDL的硬件电路设计方法采用自下而上 (bottom up)的设计方法。
(X )传统的系统硬件设计方法是采用自下而上(bottom up)的设计方法,利用硬件描述语言(HDL 的硬件电路设计方法采用自上而下(top down )的设计方法2、VHDL可以采用层次化的设计,一个高层的结构体中可以调用低层的实体(V )3、一个VHAL程序中仅能使用一个进程(process )语句。
vhdl 试题
一、填空题1. 在VHDL中最常用的IEEE标准库是std_logic_1164数据包。
VHDL是一种硬件描述语言。
3. 可编程控制器所使用的软件主要是Alter公司的Quartus_软件进行开发设计和仿真。
4. 可编程控制器是针对PLD的可编程使用HDL语言,其中PLD的意思是_ 可编程逻辑器件_,HDL的意思是____硬件描述语言___________。
VHDL中,下降沿的描述语言是___clk'event and clk='0'(下降沿)clk'event and clk='1'(上升沿)____________。
6. 实体的关键字是___Entity________,变量的关键字是___Port____________。
PLA是同时对__与____和“或”阵列,而PAL只对__与_______进行变成。
8. 两位逻辑变量的取值有四个,分别是___“00”“01”“10”“11”__________________(要求用程序中的书写格式表示)。
9. 在可VHDL语言中,‘Z’表示______高阻抗_______状态,‘-’表示______忽略________________。
10. 调用标准程序包的调用语句是____use ieee.std_logic_1164.all_____________________________________。
process语句中必须加上敏感信号_________列表,以__End process;____________结束。
12. 信号的赋值用___<=______,变量的赋值用____:=______。
VHDL程序的基本结构由库、程序包、__实体________、__结构体______和配置等部分组成。
14. 可编程控制器是针对PLD的可编程使用HDL语言,其中PLD的意思是__可编程逻辑器件______,HDL的意思是____硬件描述语言_________。
VHDL试题
VHDL试题1.结构体的三种描述⽅式:-⾏为描述-数据流描述-结构化描述2.⼀般将⼀个完整的VHDL程序称为设计实体3. VHDL设计实体的基本结构由库、程序包、实体、结构体和配置组成。
4.VHDL不区分⼤⼩写。
5.常⽤的库:library ieee ,程序包:use ieee.std_logic_1164.all6.VHDL程序的基本结构⾄少应包括实体、结构体和对库的引⽤声明。
7.在VHDL程序中使⽤的⽂字、数据对象、数据类型都需要事先声明。
8. VHDL的实体由实体声明和结构体组成。
VHDL的实体声明部分指定了设计单元的输⼊出端⼝或引脚,它是设计实体对外的⼀个通信界⾯,是外界可以看到的部分。
VHDL的结构体⽤来描述实体的逻辑结构和逻辑功能,它由VHDL语句构成,是外界看不到的部分。
9.端⼝⽅向模式:IN(输⼊)、OUT(输出<构造体内部不能再使⽤>)、INOUT(双向)、BUFFER (缓冲<构造体内部可再使⽤>)10.VHDL的标识符名必须以(字母开头),后跟若⼲字母、数字或单个下划线构成,但最后不能为(下划线),不能连续两个下划线相连。
11. 为信号赋初值的符号是(:=);程序中,为变量赋值的符号是(:=),为信号赋值的符号是(<=)12. VHDL的数据类型包括标量类型、复合类型、存储类型和⽂件类型请列出3个VHDL语⾔的数据类型,如实数、位等。
位⽮量,字符,布尔量,整数,字符串,时间,错误等级,⾃然数,正整数。
13. VHDL的操作符包括逻辑、算术、关系和并置四类14.可编程逻辑器件:CPLD、FPGA、GAL、PLA、PAL(早期)CPLD(复杂可编程逻辑器件):基于乘机项技术构造的可编程逻辑器件,不需要配置外部程序寄存芯⽚FPGA(现场可编程门阵列):基于查找表技术构造的可编程逻辑器件,需要配置外部程序寄存芯⽚15.VHDL客体或数据对象:常量、信号、变量(可被多次赋值)、⽂件。
vhdl期末考试试题及答案
vhdl期末考试试题及答案VHDL期末考试试题一、选择题(每题2分,共20分)1. VHDL是一种用于描述______的硬件描述语言。
A. 软件程序B. 硬件电路C. 数据结构D. 操作系统2. 在VHDL中,以下哪个关键字用于定义实体的端口?A. entityB. portC. endD. begin3. VHDL中,以下哪个语句用于定义信号的初始值?A. initialB. defaultC. initial_valueD. none of the above4. 以下哪个是VHDL中的基本数据类型?A. integerB. realC. stringD. array5. 在VHDL中,以下哪个关键字用于定义进程?A. processB. procedureC. functionD. block6. VHDL中,以下哪个属性用于获取信号的稳定值?A. 'stableB. 'eventC. 'last_valueD. 'delayed7. 在VHDL中,以下哪个语句用于实现条件语句?A. ifB. caseC. selectD. when8. 以下哪个是VHDL中用于描述时序逻辑的语句?A. processB. concurrentC. sequentialD. none of the above9. VHDL中,以下哪个关键字用于定义常量?A. constantB. variableC. signalD. type10. 在VHDL中,以下哪个属性用于获取信号的上升沿?A. 'eventB. 'last_eventC. 'rising_edgeD. 'falling_edge二、简答题(每题5分,共20分)1. 解释VHDL中的实体和结构体的区别。
2. 描述VHDL中进程的工作原理。
3. 什么是VHDL中的并发语句,它们有什么特点?4. 解释VHDL中的信号和变量的区别。
vhdl考试题库
题目一计时秒表难度系数:1.2一、计时秒表的功能要求计时秒表是我们经常见的,在体育运动上也应用非常广的一种工具。
譬如我们在进行50米、100米短跑运动中,需要一个计时非常经准的秒表来测速。
在这里,我们需设计一个计时秒表,具有以下功能:①有启/停开关,用于开始/结束计时操作;②用四个七段数码管显示计时数;③秒表计时长度为59分59秒,超过计时长度,有溢出则报警;④设置复位开关,在任何情况下,只要按下复位开关,秒表都要无条件地进行复位清0操作。
二、发挥部分①具有暂停的功能;②秒表的计时长度可手动设置。
三、评分标准题目二彩灯控制器难度系数:1.1一、彩灯控制器的功能基本要求要求设计一个8路彩灯控制器,能控制8路彩灯按照两种节拍、三种花型循环变化。
两种节拍分别为0.25s和0.5s。
三种花型分别是:①8路彩灯从左至右按次序渐亮,全亮后逆次序渐灭。
②从中间到两边对称的渐亮,全亮后仍由中间向两边逐次渐灭。
③8路彩灯分成两半,从左至右顺次渐亮,全亮后则全灭。
用点阵实现下载后的调试.二、发挥部分①在此三种花型循环变化的基础上,再加一种花型,譬如:8路彩灯分成两半,从左至右顺次渐亮,然后从右至左逆次渐灭。
②加一个8路彩灯,与上面的彩灯按照相同的节拍和花型循环变化。
三、评分标准题目三交通灯控制器难度系数:1.4一、任务书(1)简要说明在十字路口,每条道路各有一组红、黄、绿灯和倒计时显示器,用以指挥车辆和行人有序地通行。
其中,红灯(R)亮,表示该条道路禁止通行;黄灯(Y)亮,表示停车;绿灯(G)亮,表示可以通行。
倒计时显示器是用来显示允许通行和禁止通行地时间。
交通灯控制器就是用来自动控制十字路口的交通灯和计时器,指挥各种车辆和行人安全通行。
(2)任务和要求①在十字路口的两个方向上各设一组红、绿、黄灯,显示顺序为其中一方向(东西方向)是绿灯、黄灯、红灯;另一方向(南北方向)是红灯、绿灯、黄灯。
②设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间,其中绿灯、黄灯、红灯的持续时间分别是20s、5s和25s。
最新VHDL试题资料
一.选择填空(每题4分,共40分)I. .MAX7000结构中包含五个主要部分,即逻辑阵列块、宏单元、扩展乘积项(共享和并联)、可编程连线阵列、I/O 控制块。
2. EDA勺设计输入主要包括(原理图输入)、状态图输入、波形图输入和HDL 文本输入。
3. 当前最流行的并成为IEEE标准的硬件描述语言包括具VHDL 和Verilog 。
4. 常用EDA工具大致可分为设计输入编辑器、HDL综合器、仿真器、适配器和下载器 5 个模块。
5. CPLD结构特点为以乘积项结构方式构成逻辑行为;FPGA吉构特点为以查表法结构方式构成逻辑行为。
7. VHDL中最常用的库是IEEE 标准库,最常用的程序包是STD-LOGIC-1164 程序包。
常用的四种库是IEEE库、STD库、WORK 库及VITAL库。
IEEE库是VHDL设计中最常用的库,它包含有IEEE标准的程序包和其他一些支持工业标准的程序包。
8. VHDL程序的基本结构9. 基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入一功能仿真一综合一适配一时序仿真一编程下载一硬件测试。
10. 源文件保存时,建议文件名尽可能与该程序的实体名保持一致。
II. 资源优化可以分为资源共享,逻辑优化、串行化。
速度优化分为流水线设计, 寄存器配平和关键路径法。
12. 三类数据对象:变量、常量和信号。
13. 在VHDL中有逻辑操作符、关系操作符、算术操作符和符号操作符四类操作符,如果逻辑操作符左边和右边值的类型为数组,则这两个数组的尺寸,即位宽要相等。
在一个表达式中有两个以上的算符时,需要使用括号将这些运算分组。
如果一串运算中的算符相同,且是AND OR XOR这三个算符中的一种,则不需要使用括号。
14. 时序电路产生的条件:利用不完整的条件语句的描述。
15. 结构体中的可综合的并行语句主要有七种:并行信号赋值、进程、块语句、条件信号语句、元件例化语句、生成语句和并行过程调用语句。
vhdl考试题库
题目一计时秒表难度系数: 1.2一、计时秒表的功能要求计时秒表是我们经常见的,在体育运动上也应用非常广的一种工具。
譬如我们在进行 50 米、100 米短跑运动中,需要一个计时非常经准的秒表来测速。
在这里,我们需设计一个计时秒表,具有以下功能:①有启 / 停开关,用于开始 / 结束计时操作;②用四个七段数码管显示计时数;③秒表计时长度为 59 分 59 秒,超过计时长度,有溢出则报警;④设置复位开关,在任何情况下,只要按下复位开关,秒表都要无条件地进行复位清0 操作。
发挥部分①具有暂停的功能;②秒表的计时长度可手动设置。
三、评分标准题目二彩灯控制器难度系数: 1.1一、彩灯控制器的功能基本要求要求设计一个 8 路彩灯控制器,能控制 8 路彩灯按照两种节拍、三种花型循环变化。
两种节拍分别为 0.25s 和 0.5s。
三种花型分别是:①8 路彩灯从左至右按次序渐亮,全亮后逆次序渐灭。
②从中间到两边对称的渐亮,全亮后仍由中间向两边逐次渐灭。
③8 路彩灯分成两半,从左至右顺次渐亮,全亮后则全灭。
用点阵实现下载后的调试 .二、发挥部分①在此三种花型循环变化的基础上,再加一种花型,譬如: 8 路彩灯分成两半,从左至右顺次渐亮,然后从右至左逆次渐灭。
②加一个 8 路彩灯,与上面的彩灯按照相同的节拍和花型循环变化。
三、评分标准题目三交通灯控制器难度系数: 1.4 一、任务书(1)简要说明在十字路口,每条道路各有一组红、黄、绿灯和倒计时显示器,用以指挥车辆和行人有序地通行。
其中,红灯( R)亮,表示该条道路禁止通行;黄灯( Y )亮,表示停车;绿灯(G)亮,表示可以通行。
倒计时显示器是用来显示允许通行和禁止通行地时间。
交通灯控制器就是用来自动控制十字路口的交通灯和计时器,指挥各种车辆和行人安全通行。
(2)任务和要求①在十字路口的两个方向上各设一组红、绿、黄灯,显示顺序为其中一方向(东西方向)是绿灯、黄灯、红灯;另一方向(南北方向)是红灯、绿灯、黄灯。
vhdl期末考试复习题大全
VHDL 复习一.问答题一.问答题1信号赋值语句在什么情况下作为并行语句?在什么情况下作顺序语句?信号赋值和变量赋值符号分别是什么?两种赋值符号有什么区别?赋值符号分别是什么?两种赋值符号有什么区别?l 信号赋值语句在进程外作并行语句,并发执行,与语句所处的位置无关。
信号赋值语句在进程内或子程序内做顺序语句,按顺序执行,与语句所处的位置有关。
语句在进程内或子程序内做顺序语句,按顺序执行,与语句所处的位置有关。
l 信号赋值符号为“<=”变量赋值用变量赋值用““:=”。
信号赋值符号用于信号赋值动作,信号赋值符号用于信号赋值动作,不立不立即生效。
变量,赋值符号用于变量赋值动作,立即生效。
即生效。
变量,赋值符号用于变量赋值动作,立即生效。
2进程的敏感信号表指的是什么?简述敏感信号表在进程中的作用?进程的敏感信号表指的是什么?简述敏感信号表在进程中的作用?l 进程的“敏感信号表”也称敏感表,是进程的激活条件,可由一个或多个信号组成,各信号间以“,”号分隔。
当敏感信号表中的任一个信号有事件发生,即发生任意变化,此时,进程被激活,进程中的语句将从上到下逐句执行一遍,当最后一条语句执行完毕之后,进程即进入等待挂起状态,直到下一次敏感表中的信号有事件发生,进程再次被激活,如此循环往复。
件发生,进程再次被激活,如此循环往复。
3什么是库、程序包、子程序、过程调用和函数调用?什么是库、程序包、子程序、过程调用和函数调用?l 库和程序包用来描述和保存元件、类型说明和子程序等,以便在其它设计中通过其目录可查询、调用。
子程序由过程和函数组成。
在子程序调用过程中,过程能返回多个变量,多个变量,函数只能返回一个变量。
函数只能返回一个变量。
函数只能返回一个变量。
若子程序调用的是一个过程,若子程序调用的是一个过程,若子程序调用的是一个过程,就称为过程调用,就称为过程调用,若子程序调用的是一个函数,则称为函数调用。
过程调用、函数调用都是子程序调用。
VHDL选择题
VHDL选择题VHDL选择题1.题目:嵌套的IF语句,其综合结果可实现__ D 。
A:条件相与的逻辑;B:条件相或的逻辑;C:条件相异或的逻辑;D:三态控制电路2.题目:在一个VHDL设计中Idata是一个信号,数据类型为std_logic_vector,试指出下面哪个赋值语句是错误的 DA:idata <= “00001111”;B:idata <= b”0000_1111”;C:idata <= X”AB”;D: idata <= B”26”;3.题目:在VHDL语言中,下列对时钟边沿检测描述中,错误的是__D___。
A:if clk’event and clk = ‘1’ then;B:if falling_edge(clk) thenC:if clk’event and clk =‘0’then;D:if clk’stable and not clk =‘1’then4.题目:下面对利用原理图输入设计方法进行数字电路系统设计,哪一种说法是不正确的__C__。
A:原理图输入设计方法直观便捷,但不适合完成较大规模的电路系统设计;B:原理图输入设计方法一般是一种自底向上的设计方法;C:原理图输入设计方法无法对电路进行功能描述;D:原理图输入设计方法也可进行层次化设计。
5.题目:在一个VHDL设计中idata是一个信号,数据类型为integer,数据范围0 to 127,下面哪个赋值语句是正确的___C___。
A:idata := 32; B:idata <= 16#A0#; C:idata <= 16#7#E1; D:idata := B#1010#;6.题目:FPGA的可编程是主要基于什么结构: AA:查找表(LUT); B:与阵列可编程; C:或阵列可编程; D:与或阵列可编程;7.题目:CPLD的可编程是主要基于什么结构: BA:查找表(LUT); B:与或阵列可编程; C:PAL可编程; D:ROM 可编程;8.题目:在VHDL语言中,下列对时钟边沿检测描述中,错误的是_ C___。
VHDL试题
VHDL试题⼀. 选择填空(每题4分,共40分)1..MAX7000结构中包含五个主要部分,即逻辑阵列块、宏单元、扩展乘积项(共享和并联)、可编程连线阵列、I/O控制块。
2.EDA的设计输⼊主要包括(原理图输⼊)、状态图输⼊、波形图输⼊和HDL ⽂本输⼊。
3. 当前最流⾏的并成为IEEE标准的硬件描述语⾔包括具VHDL 和 Verilog 。
4. 常⽤EDA⼯具⼤致可分为设计输⼊编辑器、HDL综合器、仿真器、适配器和下载器 5个模块。
5. CPLD结构特点为以乘积项结构⽅式构成逻辑⾏为;FPGA结构特点为以查表法结构⽅式构成逻辑⾏为。
7. VHDL中最常⽤的库是 IEEE 标准库,最常⽤的程序包是 STD-LOGIC-1164 程序包。
常⽤的四种库是IEEE库、STD库、WORK库及VITAL库。
IEEE库是VHDL设计中最常⽤的库,它包含有IEEE标准的程序包和其他⼀些⽀持⼯业标准的程序包。
8. VHDL程序的基本结构9. 基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL⽂本输⼊→功能仿真→综合→适配→时序仿真→编程下载→硬件测试。
10. 源⽂件保存时,建议⽂件名尽可能与该程序的实体名保持⼀致。
11. 资源优化可以分为资源共享,逻辑优化、串⾏化。
速度优化分为流⽔线设计,寄存器配平和关键路径法。
12. 三类数据对象:变量、常量和信号。
13. 在VHDL中有逻辑操作符、关系操作符、算术操作符和符号操作符四类操作符,如果逻辑操作符左边和右边值的类型为数组,则这两个数组的尺⼨,即位宽要相等。
在⼀个表达式中有两个以上的算符时,需要使⽤括号将这些运算分组。
如果⼀串运算中的算符相同,且是AND、OR、XOR这三个算符中的⼀种,则不需要使⽤括号。
14. 时序电路产⽣的条件:利⽤不完整的条件语句的描述。
15. 结构体中的可综合的并⾏语句主要有七种:并⾏信号赋值、进程、块语句、条件信号语句、元件例化语句、⽣成语句和并⾏过程调⽤语句。
VHDL复习题
一、选择题( A )1.一个项目的输入输出端口是定义在:A. 实体中B. 结构体中C. 任何位置D. 进程体( B)2.描述项目具有逻辑功能的是:A. 实体B. 结构体C. 配置D. 进程( A )3.关键字ARCHITECTURE定义的是:A. 结构体B. 进程C. 实体D. 配置( D )4.VHDL语言中变量定义的位置是:A. 实体中中任何位置B. 实体中特定位置C. 结构体中任何位置D. 结构体中特定位置( D )5.VHDL语言中信号定义的位置是:A. 实体中任何位置B. 实体中特定位置C. 结构体中任何位置D. 结构体中特定位置( B )6.变量是局部量可以写在:A. 实体中B. 进程中C. 线粒体D. 种子体中( A )7.变量和信号的描述正确的是:A. 变量赋值号是:=B. 信号赋值号是:=C. 变量赋值号是<=D. 二者没有区别( B )8. 变量和信号的描述正确的是:A. 变量可以带出进程B. 信号可以带出进程C. 信号不能带出进程D. 二者没有区别( )9.对于信号和变量的说法,哪一个是不正确的:A. 信号用于作为进程中局部数据存储单元B. 变量的赋值是立即完成的C. 信号在整个结构体内的任何地方都能适用D. 变量和信号的赋值符号不一样( A )10.下列关于变量的说法正确的是:A.变量是一个局部量,它只能在进程和子程序中使用B.B. 变量的赋值不是立即发生的,它需要有一个δ延时C. 在进程的敏感信号表中,既可以使用信号,也可以使用变量D. 变量赋值的一般表达式为:目标变量名<= 表达式( C )11.可以不必声明而直接引用的数据类型是:A. STD_LOGICB. STD_LOGIC_VECTORC. BITD. 前面三个答案都是错误的( C )12.STD_LOGIG_1164中定义高阻的字符是:A. XB. xC. zD. Z( A )13.STD_LOGIG_1164中字符H定义的是:A. 弱信号1B. 弱信号0C. 没有这个定义D. 初始值( B )14.使用STD_LOGIG_1164中的数据类型时:A. 可以直接调用B. 必须在库和包集合中声明C. 必须在实体中声明D. 必须在结构体中声明( B )15.关于转化函数说法正确的是:A. 任何数据类型都可以通过转化函数相互转化B. 只有特定类型的数据类型可以转化C. 任何数据类型都不能转化D. 前面说法都是错误的( C )16.VHDL运算符优先级说法正确的是:A. 逻辑运算的优先级最高B. 关系运算的优先级最高C. 逻辑运算的优先级最低D. 关系运算的优先级最低( D )17.VHDL运算符优先级说法正确的是:A. NOT的优先级最高B. AND和NOT属于同一个优先级C. NOT的优先级最低D. 前面的说法都是错误的( D )18.VHDL运算符优先级说法正确的是:A. 括号不能改变优先级B. 不能使用括号C. 括号的优先级最低D. 括号可以改变优先级( B )19.如果a=1,b=0,则逻辑表达式(a AND b)OR(NOT b AND a)的值是:A. 0B. 1C. 2D. 不确定( B )20.正确给变量X赋值的语句是:A. X<=A+B;B. X:=A+b;C. X=A+B;D. 前面的都不正确( )21.VHDL文本编辑中编译时出现如下的报错信息,其错误原因是:Error: VHDL syntax error: choice value length must match selector expression value lengthA. 表达式宽度不匹配B. 错将设计文件存入了根目录,并将其设定成工程C. 设计文件的文件名与实体名不一致D. 程序中缺少关键词( D )22.在VHDL语言中,下列对时钟边沿检测描述中,错误的是:A. if clk’event and clk = ‘1’ thenB. if falling_edge(clk) thenC. if clk’event and clk = ‘0’ thenD. if clk’stable and not clk = ‘1’ then( D )23.在VHDL中,可以用以下哪条语句表示检测clock下降沿:A. clock’ eventB. clock’ event and clock=’1’(上升沿)C. clock=’0’D. clock’ event and clock=’0’( D )24.VHDL语言共支持四种常用库,其中哪种库是用户的VHDL设计现行工作库:A. IEEE库B. VITAL库C. STD库D. WORK工作库( A )25.VHDL常用的库是:A. IEEEB. STDC. WORKD. PACKAGE( B )26.下列语句中,不属于并行语句的是:A. 进程语句B. CASE语句C. 元件例化语句D. WHEN…ELSE…语句( D )27.下面哪一个可以用作VHDL中的合法的实体名:A. ORB. V ARIABLEC. SIGNALD. OUT1( B )28.下列关于CASE语句的说法不正确的是:A. 条件句中的选择值或标识符所代表的值必须在表达式的取值范围内B. CASE语句中必须要有WHEN OTHERS=>NULLC. CASE语句中的选择值只能出现一次,且不允许有相同的选择值的条件语句出现D. CASE语句执行必须选中,且只能选中所列条件语句中的一条( D )29.VHDL中,为目标变量赋值符号是:A. =:B. =C. <=D. :=( B )30.VHDL语言是一种结构化设计语言,一个设计实体(电路模块)包括实体与结构体两部分,结构体描述:A. 器件外部特性B. 器件的内部功能C. 器件的综合约束D. 器件外部特性与内部功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.结构体的三种描述方式:-行为描述-数据流描述-结构化描述2.一般将一个完整的VHDL程序称为设计实体3. VHDL设计实体的基本结构由库、程序包、实体、结构体和配置组成。
4.VHDL不区分大小写。
5.常用的库:library ieee ,程序包:use ieee.std_logic_1164.all6.VHDL程序的基本结构至少应包括实体、结构体和对库的引用声明。
7.在VHDL程序中使用的文字、数据对象、数据类型都需要事先声明。
8. VHDL的实体由实体声明和结构体组成。
VHDL的实体声明部分指定了设计单元的输入出端口或引脚,它是设计实体对外的一个通信界面,是外界可以看到的部分。
VHDL的结构体用来描述实体的逻辑结构和逻辑功能,它由VHDL语句构成,是外界看不到的部分。
9.端口方向模式:IN(输入)、OUT(输出<构造体内部不能再使用>)、INOUT(双向)、BUFFER (缓冲<构造体内部可再使用>)10.VHDL的标识符名必须以(字母开头),后跟若干字母、数字或单个下划线构成,但最后不能为(下划线),不能连续两个下划线相连。
11. 为信号赋初值的符号是(:=);程序中,为变量赋值的符号是(:=),为信号赋值的符号是(<=)12. VHDL的数据类型包括标量类型、复合类型、存储类型和文件类型请列出3个VHDL语言的数据类型,如实数、位等。
位矢量,字符,布尔量,整数,字符串,时间,错误等级,自然数,正整数。
13. VHDL的操作符包括逻辑、算术、关系和并置四类14.可编程逻辑器件:CPLD、FPGA、GAL、PLA、PAL(早期)CPLD(复杂可编程逻辑器件):基于乘机项技术构造的可编程逻辑器件,不需要配置外部程序寄存芯片FPGA(现场可编程门阵列):基于查找表技术构造的可编程逻辑器件,需要配置外部程序寄存芯片15.VHDL客体或数据对象:常量、信号、变量(可被多次赋值)、文件。
16.一个VHDL程序中可以使用多个进程process语句,一个设计实体可以拥有多个结构体。
17.VHDL的预算操作包括:逻辑运算符、关系运算符、乘法运算符(优先级<<<)逻辑运算符、关系运算符、加减并置运算符、正负运算符、乘法运算符、18.VHDL中std_logic类型:‘Z’表示高阻,‘X’表示不确定19.将一个信width定义为一个4位标准逻辑向量为:signal width :std_logic_vector(3 downto 0) 定义一个变量a,数据类型为4位位向量:variable a :bit_vector(3 downto 0)20.赋值语句是并行执行,IF语句是串行执行。
21.标准逻辑是一个具有九值逻辑的数据类型22.表示‘0’‘1’两值逻辑的数据类型是bit,表示‘0’‘1’‘Z’等九值逻辑的数据类型是std_logic ,表示空操作的数据类型是NULL23.<=是小于等于关系运算符,又是赋值运算操作符/=是不相等操作符,功能是在条件判断是判断操作符两端不相等。
NOT是逻辑运算符,表示取反,在所有操作符中优先级最高。
30.并置运算符 & 的功能是把多个位或位向量合并为一个位向量。
24.位类型的初始化采用字符,位矢量用字符串25.进程必须位于结构体内部,变量必须定义于进程内部26.进程执行的机制是敏感信号发生跳变27. VHDL语言可以有以下3种形式的子结构描述语句: BLOCK语句结构; PROCESS语句结构和SUBPROGRAMS结构。
29整型对象的范围约束通常用 range 关键词,位矢量用 downto/to 关键词。
31. 判断CLK信号上升沿到达的语句是 if clk’event and clk = ‘1’ then .32. IF语句各条件间具有不同的优先级。
33、任何时序电路都以时钟为驱动信号,时序电路只是在时钟信号的边沿到来时,其状态才发生改变。
34、 Moore状态机输出只依赖于器件的当前状态,与输入信号无关。
35.、IF语句根据指定的条件来确定语句执行顺序,共有3种类型:用于门闩控制的IF语句、用于二选一控制的IF语句、用于多选择控制的IF语句。
简答题:1、简述信号与变量的区别。
a.信号延时赋值,变量立即赋值b.信号的代入使用<=,变量的代入使用:=;c.信号在实际的硬件当中有对应的连线,变量没有2、简述可编程逻辑器件的优点。
a.集成度高,可以替代多至几千块通用IC芯片.极大减小电路的面积,降低功耗,提高可靠性b.具有完善先进的开发工具.提供语言、图形等设计方法,十分灵活.通过仿真工具来验证设计的正确性c.可以反复地擦除、编程,方便设计的修改和升级d.灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间f.保密性好3、试比较moore状态机与mealy状态机的异同。
Moore输出只是状态机当前状态的函数. Mealy输出为有限状态机当前值和输入值的函数3、简述VHDL语言与计算机语言的差别。
a.运行的基础。
计算机语言是在CPU+RAM构建的平台上运行。
VHDL设计的结果是由具体的逻辑、触发器组成的数字电路b.执行方式.计算机语言基本上以串行的方式执行.VHDL在总体上是以并行方式工作c.验证方式.计算机语言主要关注于变量值的变化.VHDL要实现严格的时序逻辑关系4、简述实体端口的模式输入(Input):clk、reset、en、addr等输出(Output):输出信号,不能内部引用双向(Inout):可代替所有其他模式,用于设计双向总线缓冲(Buffer):与Output类似,但允许该管脚名作为一些逻辑的输入信号5、进程语句是设计人员描述结构体时使用最为频繁的语句,简述其特点。
a.它可以与其它进程并发执行,并可存取结构体或实体中所定义的信号;b.进程结构中的所有语句都是按顺序执行的c.为了启动进程,在进程结构中必须包含一个显式的敏感信号量表或者包含一个wait语句;d.进程之间的通信是通过信号量的传递来实现的6、简述如何利用计数器精确控制时序。
a.只要知道晶振频率f,即可知道周期T=1/f;b.使用一个计数器,可以通过计数值n,精确知道当计数值为n时消耗的时间t=nT;上例中以n为控制条件,可以控制其它信号在某时刻变高,某时刻变低,从而产生精确时序编程题:1.3-8译码器0LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder_3_to_8 ISPORT (a,b,c,g1,g2a,g2b:IN STD_LOGIC;y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END decoder_3_to_8;ARCHITECTURE rtl OF decoder_3_to_8 ISSIGNAL indata:STD_LOGIC_VECTOR (2 DOWNTO 0);BEGINindata <= c & b & a;PROCESS (indata,g1,g2a,g2b)BEGINIF (g1 = '1' AND g2a = '0' AND g2b = '0' ) THENCASE indata ISWHEN "000"=> y <= "11111110";WHEN "001" => y <= "11111101";WHEN "010" => y <= "11111011";WHEN "011" => y <= "11110111";WHEN "100" => y <= "11101111";WHEN "101" => y <= "11011111";WHEN "110" => y <= "10111111";WHEN "111" => y <= "01111111";WHEN OTHERS=> y <= "XXXXXXXX";END CASE;ELSEy <= "11111111";END IF;END PROCESS;END rtl;3、填写完成一个3-8线译码器的真值表(5分),并写出其VHDL程序(10分)。
3-8译码器的真值表en a2a1a0 y1 000 000000011 001 000000101 010 ********1 011 000010001 100 000100001 101 001000001 110 010000001 111 100000000 xxx 00000000entity tri_eight isport(a: in std_logic_vector (2 downto 0);en: in std_logic;y: out std_logic_vector (7 downto 0));end tri_eight; (2) architecture a of tri_eight issignal sel: std_logic_vector (3 downto 0); (4) beginsel(0) <= a(0); sel(1) <= a(1); sel(2) <= a(2); sel(3) <= en; (5) with sel selecty <= "00000001" when "1000","00000010" when "1001","00000100" when "1010","00001000" when "1011","00010000" when "1100","00100000" when "1101","01000000" when "1110","10000000" when "1111","00000000" when others; (9) end a; (10) 3、根据下表填写完成一个3-8线译码器的VHDL程序(16分)。