欢迎来到天天文库
浏览记录
ID:44988228
大小:337.00 KB
页数:13页
时间:2019-11-06
《第四章时序逻辑电路的VHDL设计4-1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第四章时序逻辑电路的VHDL设计第四章时序逻辑电路的VHDL设计时序逻辑块的设计同步时序系统算法状态机ASM设计方法状态机的VHDL实现一、时序逻辑模块的设计D触发器ENTITYdffISPORT(d:instd_logic;clk,clrn:instd_logic;q:outstd_logic);ENDdff;ARCHITECTUREbehaviorOFdffISBEGINPROCESS(clk,clrn)BEGINIF(clrn=‘0’)THENq<=‘0’;ELSIFclk’eventandclk=‘1’THENq<=d;ENDIF;ENDPROCESS
2、;ENDbehavior;异步复位Clk上升沿触发带wait语句的D触发器ENTITYdffISPORT(d:instd_logic;clk:instd_logic;q:outstd_logic);ENDdff;ARCHITECTUREbehaviorOFdffISBEGINPROCESSBEGINwaituntilclk='1‘;q<=d;ENDPROCESS;ENDbehavior;没有敏感表waituntil:作用等同于敏感表多少个触发器?SIGNALa,b:std_logic;BEGINPROCESS(clk)BEGINIFrising_edge(clk
3、)THENa<=d;b<=a;q<=b;ENDIF;ENDPROCESS;多少个触发器?SIGNALa,b:std_logic;BEGINPROCESS(clk)BEGINIFrising_edge(clk)THENa<=d;b<=a;ENDIF;ENDPROCESS;q<=b;b到q赋值不是边沿敏感,因为不是在IF-THEN语句中多少个触发器?ARCHITECTUREreg1OFreg1ISBEGINPROCESS(clk)VARIABLEa,b:std_logic;BEGINIFrising_edge(clk)THENa:=d;b:=a;q<=b;ENDIF
4、;ENDPROCESS;ENDreg1;变量立即赋值信号在时钟边缘赋值时序电路的不同表述PROCESS(CLK)BEGINIFCLK='1'THENQ<=D;ENDIF;ENDPROCESS利用进程的启动特性产生对CLK的边沿检测时序电路的不同表述PROCESS(CLK,D)BEGINIFCLK='1'THENQ<=D;ENDIF;ENDPROCESS;电平触发型寄存器锁存器LIBRARYieee;USEieee.std_logic_1164.ALL;ENTITYlatchISPORT(data:INstd_logic;gate:INstd_logic;q:OU
5、Tstd_logic);ENDlatch;ARCHITECTUREbehaviorOFlatchISBEGINPROCESS(data,gate)BEGINIFgate='1'THENq<=data;ENDIF;ENDPROCESS;ENDbehavior;敏感表包括所有输入移位寄存器ENTITYsipoisgeneric(n:natural:=8);port(a,clk:instd_logic;q:outstd_logic_vector(n-1downto0);ENDsipo;ARCHITECTURErt1OFsipoISBEGINP0:PROCESS(clk
6、)isVARIABLEreg:std_logic_vector(n-1downto0);BEGINIFrising_edge(clk)THENreg:=reg(n-2downto0)&a;q<=reg;ENDIF;ENDPROCESS;ENDrt1;&如何实现右移?课堂练习设计8位PISO移位寄存器
此文档下载收益归作者所有