视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
3A期末总结
2024-06-26 15:31:33 责编:小OO
文档


3A期末总结

态机的结构模式相对简单。状态机容易构成性能良好的同步时序逻

辑模块。状态机的VHDL表述丰富多样。在高速运算和控制方面,状态机更有其巨大的优势。就可靠性而言,状态机的优势也是十分明显的。2、时序进程将次态信号送到现态信号3、Moore型输出仅与当前状态有关,Mealy型输出是当前状态与所有输入信号

FSM:s_machinecurrent_stateclkPROCESSPROCESSREG

COMreset

ne_t_statestate_inputs

LIBRARYIEEE;

XXX.ALL;

ENTITYs_machineIS

PORT(clk,reset:INSTD_LOGIC;

state_inputs:INSTD_LOGIC_VECTOR(0TO1);

comb_outputs:OUTINTEGERRANGE0TO15);

ENDs_machine;

ARCHITECTUREbehvOFs_machineIS

TYPEFSM_STIS(s0,s1,s2,s3);

SIGNALcurrent_state,ne_t_state:FSM_ST;

BEGIN

REG:PROCESS(reset,clk)

BEGIN

IFreset='1'THENcurrent_state<=s0;

ELSIFclk='1'ANDclk'EVENTTHEN

current_state<=ne_t_state;

ENDIF;

ENDPROCESS;

COM:PROCESS(current_state,state_Inputs)

BEGIN

CASEcurrent_stateIS

WHENs0=>comb_outputs<=5;

IFstate_inputs="00"THENne_t_state<=s0;ELSEne_t_state<=s1;

ENDIF;

WHENs1=>comb_outputs<=8;

IFstate_inputs="00"THENne_t_state<=s1;

ELSEne_t_state<=s2;

ENDIF;

WHENs2=>comb_outputs<=12;

IFstate_inputs="11"THENne_t_state<=s0;

ELSEne_t_state<=s3;

ENDIF;

WHENs3=>comb_outputs<=14;

IFstate_inputs="11"THENne_t_state<=s3;

ELSEne_t_state<=s0;

ENDIF;

ENDcase;

ENDPROCESS;

ENDbehv;

三进程有限状态机

LIBRARYIEEE;

XXX.ALL;

ENTITYAD574IS

WHENOTHERS=>ne_t_state<=st0;ENDCASE;ENDPROCESSCOM1;COM2:PROCESS(current_state)BEGINCASEcurrent_stateISWHENst0=>CS<='1';A0<='1';RC<='1';LOCK<='0';WHENst1=>CS<='0';A0<='0';RC<='0';LOCK<='0';WHENst2=>CS<='0';A0<='0';RC<='0';LOCK<='0';WHENst3=>CS<='0';A0<='0';RC<='1';LOCK<='0';WHENst4=>CS<='0';A0<='0';RC<='1';LOCK<='1';WHENOTHERS=>CS<='1';A0<='1';RC<='1';LOCK<='0';ENDCASE;ENDPROCESSCOM2;REG:PROCESS(CLK)BEGINIF(CLK'EVENTANDCLK='1')THENcurrent_state<=ne_t_state;ENDIF;ENDPROCESSREG;LATCH1:PROCESS(LOCK)BEGINIFLOCK='1'ANDLOCK'EVENTTHENREGL<=D;ENDIF;ENDPROCESS;

Q<=REGL;ENDbehav;单进程Moore型有限状态机LIBRARYIEEE;XXX.ALL;ENTITYMOORE1ISPORT(DATAIN:INSTD_LOGIC_VECTOR(1DOWNTO0);CLK,RST:INSTD_LOGIC;Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDMOORE1;

ARCHITECTUREbehavOFMOORE1ISTYPEST_TYPEIS(ST0,ST1,ST2,ST3,ST4);SIGNALC_ST:ST_TYPE;BEGINPROCESS(CLK,RST)BEGINIFRST='1'THENC_ST<=ST0;Q<="0000";ELSIFCLK'EVENTANDCLK='1'THENCASEC_STIS

WHENST0=>IFDATAIN="10"THENC_ST<=ST1;ELSEC_ST<=ST0;ENDIF;Q<="1001";WHENST1=>IFDATAIN="11"THENC_ST<=ST2;ELSEC_ST<=ST1;ENDIF;Q<="0101";WHENST2=>IFDATAIN="01"THENC_ST<=ST3;ELSEC_ST<=ST0;ENDIF;Q<="1100";WHENST3=>IFDATAIN="00"THENC_ST<=ST4;ELSEC_ST<=ST2;ENDIF;Q<="0010";WHENST4=>IFDATAIN="11"THENC_ST<=ST0;ELSEC_ST<=ST3;ENDIF;Q<="1001";WHENOTHERS=>C_ST<=ST0;ENDCASE;ENDIF;ENDPROCESS;ENDbehav;2进程Mealy型有限状态机的设计LIBRARYIEEE;XXX.ALL;ENTITYMEALY1ISPORT(CLK,DATAIN,RESET:INSTD_LOGIC;Q:OUTSTD_LOGIC_VECTOR(4DOWNTO0));ENDMEALY1;ARCHITECTUREbehavOFMEALY1ISTYPEstatesIS(st0,st1,st2,st3,st4);SIGNALST_:states;BEGINCOMREG:PROCESS(CLK,RESET)BEGINIFRESET='1'THENST_<=ST0;ELSIFCLK'EVENTANDCLK='1'THENCASEST_ISWHENst0=>IFDATAIN='1'THENST_<=st1;ENDIF;WHENst1=>IFDATAIN='0'THENST_<=st2;ENDIF;WHENst2=>IFDATAIN='1'THENST_<=st3;ENDIF;WHENst3=>IFDATAIN='0'THENST_<=st4;ENDIF;WHENst4=>IFDATAIN='1'THENST_<=st0;ENDIF;WHENOTHERS=>ST_<=st0;ENDCASE;ENDIF;ENDPROCESSCOMREG;COM1:PROCESS(ST_,DATAIN)BEGINCASEST_IS

WHENst0=>IFDATAIN='1'THENQ<="10000";ELSEQ<="01010";ENDIF;WHENst1=>IFDATAIN='0'THENQ<="10111";ELSEQ<="10100";ENDIF;WHENst2=>IFDATAIN='1'THENQ<="10101";ELSEQ<="10011";ENDIF;WHENst3=>IFDATAIN='0'THENQ<="11011";ELSEQ<="01001";ENDIF;WHENst4=>IFDATAIN='1'THENQ<="11101";ELSEQ<="01101";ENDIF;WHENOTHERS=>Q<="00000";ENDCASE;ENDPROCESSCOM1;ENDbehav;状态编码LIBRARYIEEE;XXX.ALL;ENTITYAD574AISPORT(D:INSTD_LOGIC_VECTOR(11DOWNTO0);CLK,STATUS:INSTD_LOGIC;OUT4:OUTSTD_LOGIC_VECTOR(3ENDCASE;OUT4<=current_state(4DOWNTO1);ENDPROCESSCOM1;

REG:PROCESS(CLK)BEGINIF(CLK'EVENTANDCLK='1')THENcurrent_state<=ne_t_state;ENDIF;

ENDPROCESSREG;

LK<=current_state(1);LATCH1:PROCESS(LK)

BEGIN

IFLK='1'ANDLK'EVENTTHEN

REGL<=D;ENDIF;ENDPROCESS;Q<=REGL;

ENDbehav;

9章1、VHDL有那几种基本的顺序语句赋值语句;流程控制语句;等待语句;子程序调用语句;返回语句;空操作语句。2、什么叫顺序语句,它的适用范围是什么

执行顺序与它们的书写顺序基本一致的语句叫顺序语句,顺序语句只能出现在进程和子程序中,子程序包括函数和过程。3、VHDL并行语句几种并行信号赋值语句;进程语句;块语句;条件信号赋值语句;元件例化语句;生成语句;并行过程调用语句。4、什么叫并行语句在结构体的执行是同步进行的,或者说是并行运行的,其执行方式与书写的顺序无关。

5、VHDL中具有属性的项目:类型、子类型、过程、函数、信号、变量、常量、实体、结构体、配置、程序包、元件和语句标号等。6、综合器支持的属性有:LEFT、RIGHT、HIGH、LOW、RANGE、REVERSRANGE、LENGTH、EVENT及STABLE。

端口模式:IN单向只读OUT单向输出INOUT输入输出双向BUFFER内部回读输出信号,反馈数据类型:INTEGER整数数据BOOLEAN布尔数据STD_LOGIC标准逻辑位数据BIT位数据逻辑操作符:AND与OR或NAND与非NOR或非_OR异或_NOR同或NOT非数据对象:SIGNAL信号VARIABLE变量CONSTANT常量7、for_loop语句实现一个16位的串行并出移位寄存器

LibraryIEEE;XXX.all;XXX.all;XXX.all;Entitychuan_bingisport(load:instd_logic;

d_in:instd_logic;d_out:bufferstd_logic_vector(15downto0);clk:instd_logic);

endchuan_bing;architecturearchofchuan_bingissignall:std_logic_vector(15downto0);beginprocess(clk)beginif(clk'eventandclk='1')thenl(0)<=d_in;if(load='0')thenforiin14downto0loopl(i+1)<=l(i);endloop;elsed_out<=l;endif;endif;endprocess;endarch;

下载本文
显示全文
专题