名称:时钟同步状态机设计Verilog代码VIVADO仿真
软件:VIVADO
语言:Verilog
代码功能:
设计一个具有2个输入(A和B)、1个输出(Z)的时钟同步状态机,Z为1的条件为:
(1)在前两个脉冲触发沿上,A的值相同;或者
(2)从上一次第1个条件为真起,B在前两个脉冲触发沿上的值也相同。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. Testbench
5. 仿真图
部分代码展示:
//时钟同步状态机设计 module?state_machine( input?clk,//时钟 input?A,//输入A input?B,//输入B output?reg?Z//输出Z ); reg?[1:0]?state=2'd0;//定义状态寄存器 //定义4个状态 parameter?s_start=2'd0; parameter?s_same_A=2'd1; parameter?s_wait_AB=2'd2; parameter?s_same_B=2'd3; reg?A_buf; always@(posedge?clk) A_buf<=A;//A_buf存储上一次A的值 reg?B_buf; always@(posedge?clk) B_buf<=B;//B_buf存储上一次B的值
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=883
阅读全文