名称:时钟同步状态机设计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
阅读全文
377