《EDA考试题目+答案》由会员分享,可在线阅读,更多相关《EDA考试题目+答案(7页珍藏版)》请在金锄头文库上搜索。
1、简答:1. VHDL中变量与信号的主要区别一、变量是一个局部量,只能在进程和子程序,无延时,立即发生,主要作用是在进程中 作为临时的数据存储单元。二、信号是一个全局量,有延时,进程只对信号敏感,不对变量敏感比较对象信号SIGNAL变量 VARIABLE基本用法用于作为电路中的信号连线用于作为进程中局部数据存储单元与Verilog对比信号赋值类似于非阻塞式赋值变疑賦值类似于阻塞式赋值适用范围在整个结构体内的任何地方都适用只能在所定义的进程中使用行为特性在进程最后才对信号赋值,有延时立即赋值,无延时从VHDL语句功能和行为仿真来看,信号与变量的差异主要表现在接受信息的方式和信息 保持与传递的区域大
2、小上。(1)如:信号可以设置传输延迟咼,而变量则不能:(2)如:信号可作为模块间的信息载体,如在结构体中个进程间传递信息:变量只能作为 局部的信息载体,如只能在所龙义的进程中有效。(3)变量的设置有时只是一种过渡,最后的信息传输和界而间的通信都是靠信号来完成综 合后的信号将对应更多的硬件结构。2. ASIC. FPGA、EDA、ISP 的含义ASIC:专用集成电路 FPGA:可编程逻辑器件EDA:电子设计自动化ISP:因特网服务提供商3常用的库的名称(IEEE STD WORK VITAL)5.进程语句的特点(1)进程与进程,或其它并行语句之间的并行性,体现硬件电路并行运行特征。(2)进程内部
3、的顺序语句具有顺序与并行双重性。顺序行为体现硬件的逻辑功能,并行行 为体现硬件特征。进程内部使用顺序语句,对一个系统进行算法、行为和逻辑功能进行描述,可以具 有髙抽象性的特点,可以与具体的硬件没有关联。这种顺序仅是指语句执行上的顺序(针对于HDL的行为仿真),并不意味着 PROCESS语句在综合后所对应的硬件逻辑行为也同样具有顺序性。VHDL程序无法进行诸如软件语言那样的“单步”调试,因为整个程序是一个整体, 不能割裂每一句,只能通过仿真波形来了解程序的问题。(3)进程有启动与挂起两种状态。(4)进程与进程,或其它并行语句之间通过信号交流。(5)时序电路必须由进程中的顺序语句描述,而此顺序语句
4、必须由不完整的条件语句构成。 推荐在一个进程中只描述针对同一时钟的同步时序逻辑,而异步时序逻辑或多时钟逻借必须 由多个进程来表达。6实体左义时端口方向OUT与BUFFER有何不同?OUT:输岀端口。定义的通道为单向输出(写)模式,即通过此端口只能将实体内的数据 流向外部。BUFFER:缓冲端口。其功能与INOUT类似,区别在于当需要输入数据时,只允许内部回 读输出的信号,即允许反馈。如:在计数器的设计中,将计数器输出的计数信号回读,作为下一次计数的初值 与OUT模式相比,BUFFER回读信号不是由外部输入的,而是由内部产生.向外输出信号。即OUT结构体内部不能再使用,BUFFER结构体内部可再
5、使用。半加器的完整VHDL描述ENTITY half.adder ISPORT (x,y : IN BIT;s: OUT BIT;c: OUT BIT);END ENTITY half.adder;ARCHITECTURE dataflow OF halCadder ISBEGINs = x XOR y;c = x AND y;END ARCHITECTURE dataflow;改错1. PROCESSEND PROCESS;BEGINWITH s SELECT youtselselv=”110”; END CASE;4 什么是函数的重载?举例说明。VHDL允许以相 同的函数名泄义 函数,但要
6、求函数 中泄义的操作数 具有不同的数据 类型,以便调用时 用以分辨不同功 能的同名函数,以 此左义的函数称 为重载函数LIBRARY IEEE ;USE IEEESTD_LOGIC_1164.ALL;PACKAGE packexp ISFUNCTION max( a.b : IN STD_LOGIC_VECTOR)RETURN STD_LOGIC_VECTOR :FUNCTION max( a.b : IN BIT.VECTOR)RETURN BIT.VECTOR :FUNCTION max( a.b : IN INTEGER )RETURN INTEGER :END;7.Moore型状态机与
7、Mealy型状态机有何区别从输出时序上看,前者属于同步输出状态机,而后者属于异步输出状态机。Moore型状态机的输出仅为当前状态的函数,这类状态机在输入发生变化时还必须 等待时钟的到来,时钟使状态发生变化后才导致输出的变化,所以比Mealy机要多等待一 个时钟周期。Mealy型状态机的输出是当前状态和所有输入信号的函数,它的输出是在输入变化 后立即发生,不依赖时钟的同步。编程:3-8译码器8位移位寄存器LIBRARY IEEE;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LO
8、GIC_UNSIGNED.ALL:ENTITY shift ISENTITY dec38 ISPORT (clkJoad:IN STD.LOGIC;PORT(sel:IN STD_L0GIC_VECT0R(2din: IN STD_LOGIC_VECTOR(7DOWNTO 0);DOWNTO 0);en: IN STD_LOGIC;dout: OUT STD_LOGIC_VECTOR(7y: OUT STD_L0GIC_VECT0R(7DOWNTO 0);DOWNTO 0);qb: OUT STD_LOGIC);END dcc38;END shift;ARCHITECTURE rtl OF d
9、ec38 ISARCHITECTURE behav OF shift ISBEGINSIGNAL reg8: STD_LOGIC_VECTOR(7PROCESS(seLen)DOWNTO 0);BEGINBEGINIF(en=r)THENPROCESS(clkJoad)y*Or);BEGINy(CO N VN TEGER( scl)v=T;IFclkEVENT AND elk二T THENEND IF;END PROCESS;END rtl;IF load=rTHENreg8=din;ELSE reg8(6 DOWNTO 0)=reg8(7 DOWNTO 1);END IF:END IF;EN
10、D PROCESS;qb=reg8(O); doutJ O);ELSIF CLKJ EVENT AND CLK=,f THENIF EN = T THENIF(LOAD二O)THENQ:二DATA;ELSEIF Q 30 THEN Q :二 Q + l; ELSE Q:= (OTHERS 二 O); END 比END IF;END IF;END IF;IF Q二 30 THEN COUT = 1 T ;ELSECOUT = O;END IF;DOUT = Q;END PROCESS;END behav;END LOOP; y comb_outpuis=,0*comb.outpuls : OUT STD_LOGIC_VECTORIF k = *0* THEN next_state=stO:(3 DOWNTO 0);ELSE next_state comb_outputs= O:TYPE FSM_ST IS (slO,stLsl2);IF statejnpuls = *0* THEN nexl_slate=st2:SIGNAL curren