《数字电路制作与测试》答案(项目4)_第1页
《数字电路制作与测试》答案(项目4)_第2页
《数字电路制作与测试》答案(项目4)_第3页
《数字电路制作与测试》答案(项目4)_第4页
《数字电路制作与测试》答案(项目4)_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、丿塑I思考与练习答案1选择题1) Quartus II作为CPLDFPGA主要开发工具,是由哪家公司推出的。(A )A. AlteraB. Xili nxC. LatticeD. ATMEL2) 基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入A ) t综合t适配编程下载t硬件测试。功能仿真时序仿真 逻辑综合配置引脚锁定A .B.C.D.3) 芯片EPM1270T144C5属于以下哪个系列的芯片。( D )A. MAX7000 B. Cyclo ne C. Stratix D. MAX II4) 包含有STD_LOGIC_1164程序包的库是(A )A. IEEEB.

2、ARITHC. WORK D. STD5) VHDL程序中要求项目名必须与以下哪个相一致(A )A.实体名 B.结构体名 C.进程名 D.元件名6) A的端口类型为 STD_LOGIC_VECTOR (3 downto 0),以下赋值语句中正确的是(C )A. A = 1001 B. A = 9 C. A =“1001” D. A = 0x97) 设计完成之后,下载到芯片中的文件后缀为( C )A. VHDB. VWFC. POFD. TDF8) VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述(D )oA.器件外部特性B.器件的综合约束C.器件外部

3、特性与内部功能;D.器件的内部功能。9) 大规模可编程器件主要有 FPGA、CPLD两类,下列对 CPLD结构与工作原理的描述 中,正确的是:( D )A. CPLD 是基于 :查找表结构的可编程逻辑器件B. CPLD即是现场可编程逻辑器件的英文简称C. 早期的CPLD是从FPGA的结构扩展而来D. 在Xilinx公司生产的器件中,XC9500系列属CPLD结构2. 简答题1) 简述Quartus n的设计流程。答:利用Quartus n EDA软件设计可编程逻辑器件的步骤主要包括设计输入、设计实现、设 计验证与器件下载。1设计输入:设计输入的形式有硬件描述语言输入、原理图输入、状态图输入、波

4、形 输入或几种方式混合输入等,其中硬件描述语言输入是最重要的设计输入方法。2设计实现:设计实现是将设计输入转换为可下载至目标器件的数据文件的全过程。设计实现主要包括优化(Optimization)、合并(Merging)、映射(Mapping)、布局(Placement)、布线(Routing)、产生下载数据等步骤。3设计验证:设计验证包括功能仿真、时序仿真与硬件测试。这一步通过仿真器来完 成,利用编译器产生的数据文件自动完成逻辑功能仿真和延时特性仿真。PC4.器件下载:器件下载也称为器件编程,这一步是将设计实现阶段产生的下载数据通 过下载电缆下载至目标器件的过程。使用器件厂商提供的专用下载电

5、缆,该电缆一端与 的 USB 口相连, 另一端接到 CPLD 器件所在 PCB( 印刷电路板 )上的 10 芯插头。 编程数据通 过该电缆下载到 CPLD 器件中,这个过程称为在系统编程 (ISP)。2) 什么是硬件描述语言?它与一般的高级语言有哪些异同? 答:所谓硬件描述语言, 实际就是一个描述工具, 描述的对象就是待设计电路系统的逻辑功 能、实现该功能的算法以及选用的电路结构与其他各种约束条件等。通常要求 HDL 既能描 述系统的行为,也能描述系统的结构。HDL 的使用与普通的高级语言相似, 编制的 HDL 程序也需要首先经过编译器进行语法、 语义的检查, 并转换为某种中间数据格式。 但与

6、其他高级语言相区别的是, 用硬件描述语言 编制程序的最终目的是要生成实际的硬件,因此 HDL 中有与硬件实际情况相对应的并行处 理语句。此外,用 HDL 编制程序时,还需注意硬件资源的消耗问题(如门、触发器、连线等的数目 ),有的 HDL 程序虽然语法、语义上完全正确,但并不能生成与之对应的实际硬件, 原因就是要实现这些程序所描述的逻辑功能,消耗的硬件资源十分巨大。3) 怎样使用库及库内的程序包?列举出三种常用的程序包。 答:库是专门用于存放预先编译好的程序包的地方, 对应一个文件目录, 程序包的文件就放 在此目录中,其功能相当于共享资源的仓库, 所有已完成的设计资源只有存入某个 “库”内 才

7、可以被其他实体共享。 库的说明总是放在设计单元的最前面, 表示该库资源对以下的设计 单元开放。库语句格式如下:LIBRARY 库名 ;STD_LOGIC_1164 程序包、 STD_LOGIC_ARITH 程序包、 STD_LOGIC_UNSIGNED 程 序包4) BUFFER 与 INOUT 有何异同?答: BUFFER 是 INOUT 的子集,它与 INOUT 的区别在于: INOUT 是双向信号,既可以输 入,也可以输出; 而 BUFFER 是实体的输出信号, 但作输入用时, 信号不是由外部驱动的, 而是从输出反馈得到,即 BUFFER 类的信号在输出外部电路的同时,也可以被实体本身的

8、 结构体读入,这种类型的信号常用来描述带反馈的逻辑电路,如计数器等。3. 程序填空题1)以下程序为带异步复位 /置位端、同步使能 D 触发器的 VHDL 程序,试将程序补充完 整。LIBRARY IEEE;USE IEEE. STD_LOGIC_1164 ;-使用 IEEE 库内的 1164 程序包ENTITY dffe2 IS 填写实体名PORT( d ,clk ,clrn ,prn ,ena : IN STD_LOGIC;q : OUT STD_LOGIC );END dffe2;ARCHITECTURE a OF dffe2 ISBEGINPROCESS(clk,prn,clrn,ena

9、,d)BEGINIF prn= 0 THEN q=1; - 如果置位端为 0,D 触发器输出置 1.ELSIF clrn=0 THEN q=0;ELSIF clkevent and clk= 1THEN CLK 信号上升沿检测IF ena=1 thenq=d;END IF;End if;END PROCESS;END a;2)以下是带使能、清零的计数器的VHDL程序,试补充完整LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED ;-使用 IEEE 库内的 unsigned 程序包ENTITY cnt_e_c_

10、p ISPORT(clk : IN STD_LOGIC;clr, ena : IN STD_LOGIC;qout : BUFFER STD_LOGIC_VECTOR (7 DOWNTO 0);END cnt_e_c_p;ARCHITECTURE a OF cn t_e_c_p ISBEGINPROCESS(clk)BEGINIF clkeve nt AND clk=1 THENIF clr=0 THENqout= 00000000 ”;-输出被清零ELSIF en a=1 THENqout=qout+1 ; 输出值自加 1END IF;END IF;END PROCESS;END a ;3.程

11、序分析题1)下列程序实现的功能:实现了一个四选一的数据诜择器功能library ieee;use ieee.stdo gic_1164.all;en tity test isport( sel : in in teger range 0 to 3;in put : in stdo gic_vector(0 to 3);y : out std_logic);end test;architecture a of test isbeginy= in put(0) whe n sel=0 elsein put(1) whe n sel=1 elsein put(2) whe n sel=2 elsei

12、n put(3);end a;2)下列程序实现的功能:实现了一个10-4BCD编码器的功能LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY coder ISPORT( d:IN STD_LOGIC_VECTOR(0 to 9);b:OUT STD_LOGIC_VECTOR(3 dow nto 0);END coder;ARCHITECTURE one OF coder ISBEGINWITH d selectb=0000 WHEN 0111111111,0001 WHEN 1011111111,0010 WHEN 1101111111,0011WH

13、EN 1110111111,0100WHEN 1111011111,0101WHEN 1111101111,0110WHEN 1111110111,0111WHEN 1111111011,1000WHEN 1111111101,1001WHEN 1111111110,1111WHEN others;END one;5程序设计题1)已知数字系统的系统时钟为50MHz,若为了产生1 s和10 ms这两种周期的时钟信号,分别需要对系统时钟进行分频。程序要求首先对系统时钟分频取得10 ms的时钟信号,然后再针对10 ms的时钟信号进行分频,最终获得1 s的时钟信号。library IEEE;use I

14、EEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;en tity clock_divider isPort ( clk : in STD_LOGIC; -50MHz 时钟输入引脚Clkout: out STD_LOGIC; -100Hz 时钟输入引脚Sclk : in out STD_LOGIC); Hz 时钟输出引脚end clock_divider;architecture Behavioral of clock_divider iscon sta nt KILLCLK :

15、 STD_LOGIC_VECTOR(17 dow nto 0):= 111101000010001111;-分频比249999con sta nt DIVCLK : STD_LOGIC_VECTOR(4 dow nto 0):= 11001;-分频比49sig nal dividedCIk : STD_LOGIC;sig nal CLKT : STD_LOGIC;sig nal clkdiv : STD_L0GIC_VECT0R(17 dow nto 0);sig nal clktmp : STD_LOGIC_VECTOR(4 dow nto 0);beginprocess (clk)begi

16、nif clk = 1 and clkEvent thenclkdiv = clkdiv + 1;if(clkdiv= KILLCLK ) the n-dividedClk = not dividedClk; clkdiv 0);end if;end if;end process;Clkout = dividedClk;process (dividedClk)beginif dividedClk = 1 and dividedClk Event thenclktmp = clktmp + 1; if(clkdiv= DIVCLK ) the nCLKT = not CLKT; clktmp 0

17、); end if;end if;end process;Sclk=CLKT;end Behavioral;2)设计了一个循环移位寄存器,该循环移位寄存器具备的端口包括串行数据输入端din、并行数据输入端data、脉冲输入端clk、并行加载数据端load以及移位输出端dout。该程序的功能是将预置入该寄存器的数据进行循环移位, 向最低位,其仿真结果见下图。移位方向为由低位向高位移,而最高位移昨-严吐IE- load1 1DDd加 HD1.辭9 dcula Jan:TO.OnE 140 Vie 2TO.Ors Crs 39C On::j,L亡丐-床it ISwoi ottXQiMooI ima叩助library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity reg_turn is port (clk: in std_logic;load: in std_logic;data : in std_logic_vector(4 downto 0);dout: out std_logic_vector(4

温馨提示

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

最新文档

评论

0/150

提交评论