EDA考点缩印版2.docx

上传人:b****8 文档编号:10618241 上传时间:2023-02-21 格式:DOCX 页数:15 大小:20.08KB
下载 相关 举报
EDA考点缩印版2.docx_第1页
第1页 / 共15页
EDA考点缩印版2.docx_第2页
第2页 / 共15页
EDA考点缩印版2.docx_第3页
第3页 / 共15页
EDA考点缩印版2.docx_第4页
第4页 / 共15页
EDA考点缩印版2.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

EDA考点缩印版2.docx

《EDA考点缩印版2.docx》由会员分享,可在线阅读,更多相关《EDA考点缩印版2.docx(15页珍藏版)》请在冰豆网上搜索。

EDA考点缩印版2.docx

EDA考点缩印版2

27、VHDL文本输入设计法初步

答:

(1)编辑输入并保存VHDL源文件:

为工程设计建立文件夹,输入设计项目和存盘

(2)将当前设计设定为工程和选定目标器件(3)选择VHDL文本编译版本号和排错(4)时序仿真:

建立波形文件,输入信号节点,设置波形参量,为输入信号加上激励电平并存盘,运行仿真器并观察分析波形(5)设计项目的其他信息和资源配置(6)锁定引脚(7)编程下载和测试(8)设计流程归纳:

MAX+plus设计流程,步骤1:

建立文件夹;步骤2:

输入设计项目原理图/VHDL代码;步骤3:

存盘,注意原理图/文本取名;步骤4:

将设计项目设计成project;步骤5:

选择目标器件;步骤6:

启动编译;步骤7建立仿真波形文件;步骤8:

仿真测试和波形分析;步骤9引脚锁定并编译;步骤10:

编程下载/配置;步骤11:

硬件测试。

28、信号

信号的赋值需要有一个δ延时;在进程中所有赋值语句都必须在一个δ延时中完成;当在进程中存在同一个信号有多少个赋值源时,实际完成赋值。

29、用户自定义数据类型定义语句

由用户定义的数据类型有很多,如枚举类型enumerationtype、整数类型intergertype、数组类型arraytype、记录类型recordtype、时间类型timetype、实数类型realtype等。

用户自定义数据类型是用类型定义语句type和子类型定义语句subtype实现的。

30、一般有限状态机的设计

用VHDL设计的状态机有多种形式,从状态机的信号输出方式上分有mealy型和moore型;从结构上分有单进程和多进程状态机;从状态表达方式上分有符号化状态机和确定状态编码的状态机;从编码方式上分有顺序编码状态机、一位热码编码状态机或其他编码方式状态机。

但是一般常用的状态机通常包含说明部分、主控时序进程、组空组合进程、辅助进程几个部分。

31、Mealy型有限状态机

与moore型相比,mealy机的输出变化要领先一个周期,即一旦输入信号或状态发生变化,输出信号即可发生变化。

Mealy机的组合进程中的输出信号是当前状态和当前输入的函数。

32、双向端口设计注意答:

A,在IF语句中,输出信号都有了完整的叙述才能构成组合电路;B,端口模式应采用INOUT;C,使用(描述)端口的输入特性时,要将输出设为高阻态。

33、三态

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYtri_sIS

port(enable:

INSTD_LOGIC;

datain:

INSTD_LOGIC_VECTOR(7DOWNTO0);

dataout:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDtri_s;

ARCHITECTUREbhvOFtri_sIS

BEGIN

PROCESS(enable,datain)

BEGIN

IFenable='1'THENdataout<=datain;

ELSEdataout<="ZZZZZZZZ";

ENDIF;

ENDPROCESS;

ENDbhv;

带有并行置位的

ARCHITECTUREbehavOFSHFRTIS

BEGIN

PROCESS(CLK,LOAD)

VARIABLEREG8:

STD_LOGIC_VECTOR(7DOWNTO0);

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IFLOAD='1'THEN--装载新数据

REG8:

=DIN;ELSE

REG8(6DOWNTO0):

=REG8(7DOWNTO1);

ENDIF;ENDIF;

QB<=REG8(0);

ENDPROCESS;--输出最低位

ENDbehav;

34、半加器:

LIBRARYIEEE;--半加器描述

(2)

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYh_adderIS

PORT(a,b:

INSTD_LOGIC;

co,so:

OUTSTD_LOGIC);

ENDENTITYh_adder;

ARCHITECTUREfh1OFh_adderis

SIGNALabc:

STD_LOGIC_VECTOR(1downto0);

BEGIN

abc<=a&b;

PROCESS(abc)

BEGIN

CASEabcIS

WHEN"00"=>so<='0';co<='0';

WHEN"01"=>so<='1';co<='0';

WHEN"10"=>so<='1';co<='0';

WHEN"11"=>so<='0';co<='1';

WHENOTHERS=>NULL;

ENDCASE;

ENDPROCESS;

ENDARCHITECTUREfh1;

35、7种基本逻辑操作符,AND,OR,NAND,NOR,XOR(异或)XNOR(同或),NOT。

数据对象:

信号SIGNAL,变量VERIABLE,常量CONSTANT信号属性:

ENENT,LAST_VALUE

文件具体取名最好与文件实体名相同,后缀为.vhd表示为VHDL文件,后缀为.tdf表示为AHDL文件,后缀为.v表示Verilog文件。

波形文件名后缀.scf。

采用原理图输入设计的文件后缀为.gdf.

36、变量:

变量是一个局部量,只能在进程和子程序中使用。

变量不能将信息带出对它做出定义的当前结构。

变量的赋值是一种理想化的数据传输,是立即发生的,不存在任何延时行为。

变量的主要作用是在进程中作为临时的数据存储单元。

信号:

信号是描述硬件系统的基本数据对象,其性质类似于连接线;可作为设计实体中并行语句模块间的信息交流通道。

信号不但可以容纳当前值,也可以保持历史值;与触发器的记忆功能有很好的对应关系。

37、两类延时:

传输延时、固有延时也称为惯性延时,固有延时的主要物理机制是分布电容效应。

传输延时并不考虑信号持续的时间,他仅仅表示信号传输推迟或延迟了一个时间段,即传输延时。

38、仿真δ:

VHDL仿真器和综合器自动为系统中的信号赋值配置一足够小而又能满足逻辑排序的延时量,即仿真软件的最小分辨时间,称为δ延时。

在行为仿真、功能仿真综合中,引入δ延时是必需的。

39、原理图输入设计方法配备了各种需要的元件库,其中包含基本逻辑元件库(如与非门、反相器、D触发器等)、宏功能原件(包含了几乎74系列的器件),以及类似于IP核的宏功能块LMP库。

40、异步复位:

与clk时钟信号无关。

同步清零:

只有时钟沿来时控制信号才有效。

41、在VHDL程序设计中,常用的库有IEEE,标准库std,工作库work。

42、在IEEE库中,较常用的程序包有std_logic_1164std_logic_arith,std_logic_unsigned,standard,textio.

43、VHDL程序一般包括几个组成部分,每部分的作

用是什么?

有两大部分组成:

实体:

描述了电路器件的外部情况及个信号端口的基本性质。

结构体:

负责描述电路器件的内部逻辑功能或电路结构。

44、状态机的基本结构如何?

状态机的种类有哪些?

组合逻辑部分和寄存器部分。

寄存器部分存储状态机内部状态;组合逻辑部分又分为状态译码器和输出译码器。

分为mealy和moore。

45、变量通常在进程中定义,信号在结构体中定义。

46、process语句由三个部分组成,进程说明语句、顺序描述语句和敏感信号参数表。

47、D触发器

libraryieee;

useieee.std_logic_1164.all;

entitydffis

port(d,clk:

instd_logic;q:

outstd_logic);

end;

architecturebhvofdffis

signalq1:

std_logic;

begin

process(sd,rd,clk)

begin

ifclk'eventandclk='1'thenq1<=d;

endif;

endprocess;

q<=q1;nq<=notq1;

endbhv;

或非门

libraryieee;

useieee.std_logic_1164.all;

entityfor2ais

PORT(t,y:

INSTD_LOGIC;m:

OUTSTD_LOGIC);

END;

ARCHITECTUREfh1OFfor2ais

Begin

m<=not(tory);

End;

顶层描述

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYfigureIS

PORT(a,d,clk:

INSTD_LOGIC;qq:

OUTSTD_LOGIC);

END;

ARCHITECTUREFd1OFfigureIS

COMPOENT

dffis

port(d,clk:

instd_logic;q:

outstd_logic);

ENDCOMPONENT;

COMPONENTfor2ais

PORT(t,y:

INSTD_LOGIC;m:

OUTSTD_LOGIC);

ENDCOMPONENT;

SIGNALp,e,f:

STD_LOGIC;

BNGIN

u1:

for2aPORTMAP(t=>a,y=>f,m=>p);

u2:

dffPORTMAP(d=>p,clk=>clk,q=>e);

u3:

dffPORTMAP(d=>d,clk=>e,q=>f);

qq<=f;

ENDARCHITECTUREfd1;

48、进程要点

对进行进程的设计要注意:

process为一无限循环语句;process中的顺序语句具有明显的顺序/并行运行双重性;进程必须有敏感信号的变化来启动;进程语句本身是并行语句;信号是多个进程的通信线;一个进程中只允许描述对应于一个时钟信号的同步时序逻辑。

49、带有复位和时钟使能的10进制计数器

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNT10IS

PORT(CLK,RST,EN:

INSTD_LOGIC;

CQ:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

COUT:

OUTSTD_LOGIC);

ENDCNT10;

ARCHITECTUREbehavOFCNT10IS

BEGIN

PROCESS(CLK,RST,EN)

VARIABLECQI:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

IFRST='1'THENCQI:

=(OTHERS=>'0');

ELSIFCLK'EVENTANDCLK='1'THEN

IFEN='1'THEN

IFCQI<"1001"THENCQI:

=CQI+1;

ELSECQI:

=(OTHERS=>'0');

ENDIF;ENDIF;ENDIF;

IFCQI=“1001”THENCOUT<=‘1’;

ELSECOUT<='0';

ENDIF;

CQ<=CQI;

ENDPROCESS;

ENDbehav;

50、用VHDL描述一个具有计数使能、异步复位和计数器并行预置功能的16位加法计数器。

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityt74ls161is

port(clr,ld,en,clk:

instd_logic;

q:

outstd_logic_vector(15downto0);

p:

instd_logic_vector(15downto0));

endt74ls161;

architecturearchoft74ls161is

signalm:

std_logic_vector(15downto0);

begin

process(clr,ld,en,clk)

begin

if(clr='0')thenm<=(others=>’0’);

elsif(ld='0')thenm<=p;

elsif(clk'eventandclk='1')thenif(en=’1’)then

m<=m+1;

endif;

endif;

q<=m;

endprocess;endarch;

51、用VHDL设计2位全减器电路,要求首先设计个1位全减器,然后用元件例化语句设计2位全减器。

一位全减器

LIBRaryieee;

useieee.std_logic_1164.all;

entitysuberis

port(a,b,c:

instd_logic;

dout,sub:

outstd_logic);

endsuber;

architecturearchofsuberis

signals:

std_logic_vector(2downto0);

begin

s<=c&b&a;

process(s)

begin

casesis

when"000"=>dout<='0';sub<='0';

when"001"=>dout<='1';sub<='0';

when"010"=>dout<='1';sub<='1';

when"011"=>dout<='0';sub<='0';

when"100"=>dout<='1';sub<='1';

when"101"=>dout<='0';sub<='0';

when"110"=>dout<='0';sub<='1';

when"111"=>dout<='1';sub<='1';

whenothers=>null;

endcase;endprocess;endarch;

2位全减器

LIBRaryieee;

useieee.std_logic_1164.all;

entityfullsuberis

port(x,y:

instd_logic_vector(1downto0);

sin:

instd_logic;

dout1:

outstd_logic_vector(1downto0);

sub1:

outstd_logic);

endfullsuber;

architecturearchoffullsuberis

componentsuber

port(a,b,c:

instd_logic;

dout,sub:

outstd_logic);

endcomponent;

signale:

std_logic;

begin

u1:

suberportmap(a=>x(0),b=>y(0),

c=>sin,dout=>dout1(0),sub=>e);

u2:

suberportmap(a=>x

(1),b=>y

(1),

c=>e,dout=>dout1

(1),sub=>sub1);

endarch;

52、带异步复位的D触发器

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDFF4IS

PORT(CLK:

INSTD_LOGIC;

clr,D:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC);

ENDDFF4;

ARCHITECTUREbhvOFDFF1IS

BEGIN

PROCESS(CLK,clr)

BEGIN

ifclr=‘0’thenQ<=‘0’;

elsifCLK'EVENTANDCLK='1'

THENQ<=D;

ENDIF;

ENDPROCESS;

ENDbhv;

53、带有并行置位的移位寄存器

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYSHFRTIS

PORT(CLK,LOAD:

INSTD_LOGIC;

DIN:

INSTD_LOGIC_VECTOR(7DOWNTO0);QB:

OUTSTD_LOGIC);

ENDSHFRT;

ARCHITECTUREbehavOFSHFRTIS

BEGIN

PROCESS(CLK,LOAD)

VARIABLEREG8:

STD_LOGIC_VECTOR(7DOWNTO0);

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IFLOAD='1'THENREG8:

=DIN;

ELSEREG8(6DOWNTO0):

=REG8(7DOWNTO1);

ENDIF;

ENDIF;

QB<=REG8(0);

ENDPROCESS;

ENDbehav;

54、1位2进制全加器

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYf_adderIS

PORT(ain,bin,cin:

INSTD_LOGIC;

cout,sum:

OUTSTD_LOGIC);

ENDENTITYf_adder;

ARCHITECTUREfd1OFf_adderIS

COMPONENTh_adder

PORT(a,b:

INSTD_LOGIC;

co,so:

OUTSTD_LOGIC);

ENDCOMPONENT;

COMPONENTor2a

PORT(a,b:

INSTD_LOGIC;

c:

OUTSTD_LOGIC);

ENDCOMPONENT;

SIGNALd,e,f:

STD_LOGIC;

BEGIN

u1:

h_adder

PORTMAP(a=>ain,b=>bin,co=>d,so=>e);

u2:

h_adder

PORTMAP(a=>e,b=>cin,co=>f,so=>sum);

u3:

or2aPORTMAP(a=>d,b=>f,c=>cout);

ENDARCHITECTUREfd1;

55、状态编码

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYAD574AIS

PORT(D:

INSTD_LOGIC_VECTOR(11DOWNTO0);CLK,STATUS:

INSTD_LOGIC;

OUT4:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

Q:

OUTSTD_LOGIC_VECTOR(11DOWNTO0));

ENDAD574A;

ARCHITECTUREbehavOFAD574AIS

SIGNALcurrent_state,next_state:

STD_LOGIC_VECTOR(4DOWNTO0);

CONSTANTst0:

STD_LOGIC_VECTOR(4DOWNTO0):

="11100";

CONSTANTst1:

STD_LOGIC_VECTOR(4DOWNTO0):

="00001";

CONSTANTst2:

STD_LOGIC_VECTOR(4DOWNTO0):

="00000";

CONSTANTst3:

STD_LOGIC_VECTOR(4DOWNTO0):

="00100";

CONSTANTst4:

STD_LOGIC_VECTOR(4DOWNTO0):

="00110";

SIGNALREGL:

STD_LOGIC_VECTOR(11DOWNTO0);

SIGNALLK:

STD_LOGIC;

BEGIN

COM1:

PROCESS(current_state,STATUS)

BEGIN

CASEcurrent_stateIS

WHENst0=>next_state<=st1;

WHENst1=>next_state<=st2;

WHENst2=>IF(STATUS='1')THENnext_state<=st2;

ELSEnext_state<=st3;

ENDIF;

WHENst3=>next_state<=st4;

WHENst4=>next_state<=st0;

WHENOTHERS=>next_state<=st0;

ENDCASE;

OUT4<=current_state(4DOWNTO1);

ENDPROCESSCOM1;

REG:

PROCESS(CLK)

BEGIN

IF(CLK'EVENTANDCLK='1')THENcurrent_state<=next_state;

ENDIF;

ENDPROCESSREG;

LK<=current_state

(1);

LATCH1:

PROCESS(LK)

BEGIN

IFLK='1'ANDLK'EVENTTHEN

REGL<=D;

ENDIF;

ENDPROCESS;

Q<=REGL;

ENDbehav;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 生产经营管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1