EDA技术习题.doc_第1页
EDA技术习题.doc_第2页
EDA技术习题.doc_第3页
EDA技术习题.doc_第4页
EDA技术习题.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

一、 填空1. 当前最流行的并成为IEEE标准的硬件描述语言包括 VHDL语言 和 Verilog HDL语言 。2. EDA中文全称是 电子设计自动化 。IP核在EDA技术和开发中具有十分重要的地位,IP指的是 知识产权核或知识产权模块 。3. 将硬件描述语言转化为硬件电路的重要工具软件称为 HDL综合器 。P214. 一般情况下,FPGA是基于 与或阵列 的可编程逻辑结构,CPLD是基于 查找表 的可编程逻辑结构。P285. EDA仿真过程中主要涉及 时序 仿真和 功能 仿真。6. EDA的优化设计主要是进行 资源 优化和速度优化,其中速度优化主要有 流水线设计 、 寄存器配平 和 关键路径法 等三种优化方法。P3267. VHDL子程序有 PROCEDURE 、 FUNCTION 两类。P2308. EDA的中文全称为_电子设计自动化_,HDL为 _硬件描述语言_。9. 基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入_功能仿真_综合适配_时序仿真_编程下载硬件测试。10. FPGA中文全称是_现场可编程门阵列_,CPLD中文全称是_复杂可编程逻辑器件_。其中_CPLD_是基于乘积项的可编程逻辑结构,_FPGA_是基于查找表的可编程逻辑结构。P2811. VHDL语言按照执行顺序的不同可以分为_顺序语句_和 并行语句_语句。12. 在仿真延时中,y = x AFTER 20ns 中的20ns指的是_固有_延时, y= TRANSPORT x AFTER 20 ns中的20ns指的是 _传输_延时。P15113. 资源优化主要有_资源共享_、_逻辑优化_和 _串行化_等三种优化方式。P326二、 问答题1 与传统电子设计方法相比,EDA采什么设计方法?比较这两种设计方法的区别?答:EDA采用自顶向下的设计方法手工设计方法缺点: 1)设计、调试十分困难。2)查找和修改十分不便。3)大量文档,不易管理。4)可移植性差。 5)只有在设计出样机或生产出芯片后才能进行实测。EDA技术有很大不同: 1)采用硬件描述语言作为设计输入。2)库(Library)的引入。3)设计文档的管理。 4)强大的系统建模、电路仿真功能。5)具有自主知识产权。 6)标准化、规范化及IP核的可利用性。7)自顶向下设计方案。8)自动设计、仿真和测试技术。9)对设计者的硬件知识、经验要求低。10)高速性能好(与以CPU为主的电路系统相比) 。11)纯硬件系统的高可靠性。.2 简述EDA设计流程。答:设计输入 综合 适配 仿真 下载 硬件测试3 根据编程方式的不同, PLD器件可以分为哪几类?熔丝型器件;反熔丝型器件;EPROM型;EEPROM型;SRAM型;Flash型。4 什么是重载?重载函数有何用处?答:同样名称的函数可以用不同的数据类型作为此函数的参数定义多次,以此定义的函数称为重载函数;5 VHDL语言按照执行顺序的不同可以分为哪两类基本语句?并且各举一例说明。答:顺序语句 和 并行语句 1. 什么是自顶向下的设计方法?与传统电子设计方法相比有什么优点?答:自顶向下就是在整个设计流程中各个设计流程逐步求精的过程,即是从高抽象级别到低抽象级别的整个设计周期。 优点:在整个设计过程中不必太注意目标器件的设计细节。2. 在FPGA 设计过程中,综合的含义是什么?主要有哪几种类型的综合?答:综合:将用行为和功能层次表达的电子系统转换成为低层次的便于具体实现的模块组合装配的过程。 有语言综合、行为综合、逻辑综合、结构综合3. EDA技术最终实现目标的ASIC可以通过哪三种途径完成?答:门阵法 标准单元法 可编辑逻辑器件控制法4. 简述信号与变量的主要区别。(3分)1 答:p130信号signal变量variable基本用法用于电路线路中信号的连接用于作为进程中局部数据存储单元适用范围在整个结构体中任何地方都可以适用只能在所定义的进程中使用行为特征在进程最后才对信号赋值立即赋值5. 在VHDL设计中,给触发器复位有哪两种方法?如果时钟进程中用了敏感信号表,哪种复位方式必须要把复位信号放在敏感信号表中?(3分)答:同步复位 异步复位。 异步复位6利用FPGA构成数字系统时为什么需要配备一个PROM或EEPROM? (2分)三、 VHDL程序填空:(10分,每空1分)下面程序是一个具有加法和减法功能的16位计数器VHDL描述,试补充完整。 空1 IEEE; (LIBRARY)use 空2 .STD_LOGIC_1164.all; (IEEE)use ieee. 空3 .all; (STD_LOGIC_UNSIGNED) 空4 cnt_add_sub is (ENTITY) port(clk : in STD_LOGIC; rst : in STD_LOGIC; enable : in STD_LOGIC; add_sub : in STD_LOGIC; q : out STD_LOGIC_VECTOR(15 downto 0);end cnt_add_sub;architecture cnt_add_sub of 空5 is (cnt_add_sub) 空6 q_tmp: STD_LOGIC_VECTOR(15 downto 0);(SIGNAL)begin 空7 (clk,rst) (PROCESS) begin 空8 rst=1 then q_tmp0);( if ) elsif 空9 and clk=1 then (clkevent) if enable=1 then if add_sub=1 then q_tmp=q_tmp+1; else q_tmp=q_tmp-1; 空10 ; (end if) end if ; end if ; end process; q=q_tmp;end cnt_add_sub;下面程序是一位全加器的VHDL描述,试补充完整。-半加器描述 空1 IEEE; (library)USE IEEE.STD_LOGIC_1164.ALL; ENTITY 空2 IS (h_adder) 空3 (a, b : IN STD_LOGIC; (PORT) co, so : OUT STD_LOGIC); END ENTITY h_adder; ARCHITECTURE 空4 OF h_adder is (fh1)BEGIN so = NOT(a XOR (NOT b) ; co ain,b=bin,co=d,so=e); (h_adder) u2 : h_adder PORT MAP(a= 空9 , b=cin,co=f,so=sum);(e) cout temp := 00000001;第18行 when 001 = temp := 00000010;第19行 when 010 = temp := 00000100;第20行 when 011 = temp := 00001000;第21行 when 100 = temp := 00010000;第22行 when 101 = temp := 00100000;第23行 when 110 = temp := 01000000;第24行 when 111 = temp := 10000000;第25行 end if; (前插入 END CASE)第26行 Q1 = temp; (Q0)第27行 end process;第28行 end architecture code1;四、 VHDL程序改错:(10分) 在程序中存在5处错误,试找出错误,写出错误原因,并写出正确语句。第1行 library IEEE;第2行 use IEEE.STD_LOGIC_1164.all;第3行 entity mux4 is第4行 port( s0,s1,a,b,c,d : in STD_LOGIC ;第5行 y : out STD_LOGIC ; ); (删去;)第6行 end mux4;第7行 architecture one of mux is ( mux4)第8行 signal s:std_logic_vector( 2 downto 0 ); ( 1 )begin第9行 syyyy=d;)第17行 end process;第18行 end one ;五、 编写VHDL程序:(共20分,每题10分)1. 图1是一个含有下降沿触发的D触发器的时序电路,试写出此电路的VHDL设计文件。 图1 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MULTI ISPORT(CL:IN STD_LOGIC; -输入选择信号 CLK0:IN STD_LOGIC; -输入信号 OUT1:OUT STD_LOGIC);-输出端END ENTITY;ARCHITECTURE ONE OF MULTI ISSIGNAL Q : STD_LOGIC;BEGINPR01: PROCESS(CLK0)BEGINIF CLK0EVENT AND CLK0=0THEN Q=NOT(CL OR Q);ELSEEND IF;END PROCESS;PR02: PROCESS(CLK0)BEGINOUT1=Q;END PROCESS;END ARCHITECTURE ONE;2. “111”序列检测器的功能是连续输入三个或三个以上的1时,电路输出为“1”,其余情况下输出为“0”。请画出该序列检测器的状态图,并编写完成该功能的程序。1. 3、画出程序描述的状态转移图。(9分)library IEEE;use IEEE.STD_LOGIC_1164.all;entity state_84 isport (clk,reset:in std_logic;ina: in std_logic_vector(2 downto 0);outa :out std_logic_vector(3 downto 0); end state_84;architecture state_84 of state_84 istype state_fs is (s0,s1,s2,s3);signal cur_state,next_state: state_fs;beginprocess(clk,reset)beginif reset=1 then cur_state=s0;elsif clkevent and clk=1 thencur_state next_state=s1; if ina=101 then outa=0010; elsif ina=111 then outa=1100; else outa if ina=110 then next_state=s2; elsif ina=000 then next_state=s1; else null; end if; outa if ina=100 then next_state=s2; elsif ina=011 then next_state=s1; elsif ina/=011 then next_state=s3; else null; end if; outa next_state=s0; if ina=101 then outa=1101; elsif ina=011 then outa=1110; else outa next_state=s0; outa=0000;end case;end process;end state_84; 1、EDA与传统电子设计方法的比较:手工设计方法缺点: 1)设计、调试十分困难。 2)查找和修改十分不便。 3)大量文档,不易管理。 4)可移植性差。 5)只有在设计出样机或生产出芯片后才能进行实测。EDA技术有很大不同: 1)采用硬件描述语言作为设计输入。 2)库(Library)的引入。 3)设计文档的管理。 4)强大的系统建模、电路仿真功能。 5)具有自主知识产权。 6)标准化、规范化及IP核的可利用性。 7)自顶向下设计方案。 8)自动设计、仿真和测试技术。 9)对设计者的硬件知识、经验要求低。10)高速性能好(与以CPU为主的电路系统相比) 。11)纯硬件系统的高可靠性。2、FPGACPLD设计流程3(4-1) 画出与下例实体描述对应的原理图符号元件:ENTITY buf3s IS - 实体1: 三态缓冲器 PORT (input : IN STD_LOGIC ; - 输入端 enable : IN STD_LOGIC ; - 使能端 output : OUT STD_LOGIC ) ; - 输出端 END buf3s;ENTITY mux21 IS -实体2: 2选1多路选择器 PORT (in0, in1, sel : IN STD_LOGIC; output : OUT STD_LOGIC);END mux21;4、(4-2)图4-37所示的是4选1多路选择器,试分别用IF_THEN语句和CASE语句的表达方式写出此电路的VHDL程序,选择控制的信号s1和s0的数据类型为STD_LOGIC_VECTOR;当s1=0,s0=0;s1=0,s0=1;s1=1,s0=0和s1=1,s0=1分别执行y=a、y=b、y=c、y=d。方法一:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX41 ISPORT(s:IN STD_LOGIC_VECTOR(1 DOWNTO 0); -输入选择信号 a,b,c,d:IN STD_LOGIC; -输入信号 y:OUT STD_LOGIC);-输出端END ENTITY;ARCHITECTURE ONE OF MUX41 ISBEGINPROCESS(s)BEGINIF (S=00) THEN y=a;ELSIF (S=01) THEN y=b;ELSIF (S=10) THEN y=c;ELSIF (S=11) THEN y=d;ELSE y y y y yNULL;END CASE;END PROCESS;END two; 5、写出MUXK的顶层文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUXK ISPORT (a1,a2,a3,s0,s1:IN STD_LOGIC;outy:OUT STD_LOGIC);END ENTITY MUXK;ARCHITECTURE MUX OF MUXK IS COMPONENT MUX21APORT ( a,b,s:IN STD_LOGIC;y:OUT STD_LOGIC);END COMPONENT;SIGAL tmp:STD_LOGIC;BEGINu1: MUX21A PORT MAP ( a=a2,b=a3,s=0,y=tmp);u2:MUX21A PORT MAP (a=a1,b=tmp,s=s1,y=outy);END ARCHITECTURE MUX;6、(5-8) 判断下面3个程序中是否有错误,若有则指出错误所在,并给出完整程序。程序1:Signal A, EN : std_logic; Process (A, EN) Variable B : std_logic; Begin if EN = 1 then B = A; end if; end process; 程序2:Architecture one of sample is variable a, b, c : integer; begin c = a + b; end;程序3:library ieee; use ieee.std_logic_1164.all; entity mux21 is port ( a, b : in std_logic; sel : in std_logic; c : out std_logic;); end sam2; architecture one of mux21 is begin if sel = 0 then c := a; else c := b; end if; end two;7、一般时序状态机包括几个部分,分别是哪几个部分,请简要介绍.答:(1)包括4部分,分别是说明部、主控时序进程、主控组合进程、辅助进程(2)说明部分一般放在结构体的ARCHITECTURE 和BEGIN之间,使用TYPE语句定义新的数据类型;主

温馨提示

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

评论

0/150

提交评论