




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
密 封线内不要答题姓 名 学 号 班 级 本套试卷共 5 页一、选择题:(20分)1 大规模可编程器件主要有FPGA、CPLD两类,下列对CPLD结构与工作原理的描述中,正确的是:_D_A. CPLD是基于查找表结构的可编程逻辑器件B. CPLD即是现场可编程逻辑器件的英文简称C. 早期的CPLD是从FPGA的结构扩展而来D. 在Xilinx公司生产的器件中,XC9500系列属CPLD结构2 基于VHDL设计的仿真包括有门级时序仿真、行为仿真、功能仿真和前端功能仿真这四种,按照自顶向下的设计流程,其先后顺序应该是:_DAB.CD3 下面对利用原理图输入设计方法进行数字电路系统设计,哪一种说法是正确的:_BA原理图输入设计方法直观便捷,很适合完成较大规模的电路系统设计B原理图输入设计方法多用于较规范、规模不大的电路设计,和HDL代码描述方法均可以被综合,相得益彰C原理图输入设计方法无法对电路进行功能描述D原理图输入设计方法不适合进行层次化设计4 在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,不正确的是:_DAPROCESS为一无限循环语句B敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动C当前进程中声明的变量不可用于其他进程D进程由说明语句部分、并行语句部分和敏感信号参数表三部分组成5 对于信号和变量的说法,哪一个是不正确的:_AA信号用于作为进程中局部数据存储单元B变量的赋值是立即完成的C信号在整个结构体内的任何地方都能适用D变量和信号的赋值符号不一样6 进程中的信号赋值语句,其信号更新是_C_。A 按顺序完成;B 比变量更快完成;C 在进程的最后完成;D 都不对。7 VHDL语言共支持四种常用库,其中哪种库是用户的VHDL设计现行工作库:_DAIEEE库BVITAL库CSTD库DWORK工作库密 封线内不要答题姓 名 学 号 班 级 8 VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述_。BA 器件外部特性;B 器件的内部功能;C 器件的综合约束;D 器件外部特性与内部功能。9 下列语句中,不属于并行语句的是:_BA进程语句BCASE语句C元件例化语句DWHENELSE语句10. 下列标识符中,_是不合法的标识符。BA. State0B. 9moonC. Not_Ack_0D. signall二、EDA名词解释或者简述(10分)写出下列缩写的中文(或者英文)含义:1. ASIC专用集成电路2. FPGA现场可编程门阵列3. IP知识产权核(软件包)4. FSM有限状态机5. HDL硬件描述语言三、VHDL程序填空:(20分)1. 以下程序是一个BCD码表示099计数器的VHDL描述,试补充完整。(10分)答案:答案:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt100b isport(clk, rst, en : in std_logic;cq: out std_logic_vector(7 downto 0);- 计数输出cout: out std_logic);- 进位输出end entity cnt100b;architecture bhv of cnt100b isbeginprocess (clk, rst, en)variable cqi : std_logic_vector(7 downto 0);beginif rst = 1 thencqi := (others = 0);- 计数器清零复位elseif clkevent and clk = 1 then- 上升沿判断if en = 1 thenif cqi(3 downto 0) 1001 then- 比较低4位cqi := cqi + 1;- 计数加1elseif cqi(7 downto 4) 0);end if;cqi (3 downto 0) := “0000”; - 低4位清零end if;end if;end if;end if;if cqi = “10011001” then- 判断进位输出cout = 1;elsecout = 0;end if;cq = cqi;end process;end architecture bhv;密 封线内不要答题姓 名 学 号 班 级 2. VHDL程序填空:下面程序是n输入与门的VHDL描述,试补充完整。(10分)_ ieee;use _.all;entity andn is_ (n : integer);- 类属参数声明port (a : in std_logic_vector( _ downto 0); c : out std_logic);end;_ behav of _ is- 结构体声明beginprocess (_)_ int : std_logic;- 变量声明beginint := _;- 变量赋初值for I in alength 1 downto 0 loop- 循环判断if a(i) = 0 thenint := 0;end if;end loop;c = _;- 输出判断结果end process;end behav;答案:libraryieee.std_logic_1164genericn-1architecture andnavariable1int四、VHDL程序调试改错:(10分)仔细阅读下列程序,回答问题LIBRARY IEEE;- 1USE IEEE.STD_LOGIC_1164.ALL;- 2ENTITY MOORE1 IS- 3PORT (DATAIN: IN STD_LOGIC_VECTOR(1 DOWNTO 0);- 4CLK, RST: IN STD_LOGIC;- 5Q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );- 6END MOORE1;- 7ARCHITECTURE BEHAV OF MOORE1 IS- 8SIGNAL ST_TYPE IS (ST0, ST1, ST2, ST3, ST4);- 9SIGNAL C_ST : ST_TYPE;- 10BEGIN- 11PROCESS (CLK, RST)- 12BEGIN- 13IF RST = 1 THEN C_ST = ST0; Q IF DATAIN = 10 THEN C_ST = ST1;- 17ELSE C_ST = ST0;- 18END IF;Q IF DATAIN = 11 THEN C_ST = ST2;- 20ELSE C_ST = ST1;- 21END IF;Q IF DATAIN = 01 THEN C_ST = ST3;- 23ELSE C_ST = ST0;- 24END IF;Q IF DATAIN = 00 THEN C_ST = ST4;- 26ELSE C_ST = ST2;- 27END IF;Q IF DATAIN = 11 THEN C_ST = ST0;- 29ELSE C_ST = ST3;- 30END IF;Q c_st = st0;密 封线内不要答题姓 名 学 号 班 级 五、阅读下列VHDL程序,说出总体实现了什么功能,并对代码进行解释。(10分)ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN PROCESS (a,b,s) BEGIN IF s = 0 THEN y = a ; ELSE y = b ;END IF; END PROCESS;END ARCHITECTURE one Y 0) ; -计数器异步复位 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF EN = 1 THEN -检测是否允许计数(同步使能) IF CQI 0); -大于9,计数值清零 END IF; END IF; END IF; IF CQI = 9 THEN COUT = 1; -计数大于9,输出进位信号 ELSE COUT = 0; END IF; CQ = CQI; -将计数值向端口输出 END PROCESS;END behav; 密 封线内不要答题姓 名 学 号 班 级 七、VHDL程序设计:(20分)设计一数据选择器MUX,其系统模块图和功能表如下图所示。试采用下面三种方式中的两种来描述该数据选择器MUX的结构体。(a) 用if语句。 (b) 用case 语句。 (c) 用when else 语句。Library ieee;Use 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)BeginIf sel = “00” then cout = ain and bin; Elsif sel = “01” then cout = ain xor bin;Elsif sel = “10” then cout = not ain;Else cout
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论