📄 signal_detect_tb2.v
字号:
`timescale 10ns/1ns// unit / per...module Signal_detect_tb2;reg din,clk,reset;wire sig_a,sig_b,sig_c,bit_en_temp;// `include "./Signal_detect.v"Signal_detect U2 (.DIN(din),.CLK(clk),.RESET(reset), .Signal_A(sig_a),.Signal_B(sig_b), .Signal_C(sig_c),.BIT_EN_temp(bit_en_temp));reg clock;parameter step=50; // T_clock=step*10nsparameter A=16'b1111_1111_0000_0111;parameter B=16'b1111_1111_1111_1111;parameter C=16'b0000_0111_1111_1111;reg[16*11-1:0] frame1,frame2,frame3,frame4;reg[4*16*11+16*9-1:0] frame_total; // 1 start+ 8 signal +2 stop//// input miller serial signalinitial begin din=1; frame1={C,A,B,C,A,B,A,A,B,C,B}; // 1001_0110 frame2={C,C,C,C,A,B,A,B,C,C,B}; // 0001_0100 frame3={C,A,B,A,B,C,A,B,A,B,B}; // 1010_0101 frame4={C,C,C,A,B,C,A,A,A,B,B}; // 0010_0111 frame_total={B,frame1,B,B,frame2,B,B,frame3,B,B,frame4,B,B}; // add B to stop end//// generate clock & resetinitialbegin clock = 0; forever //#(16*step) #(step/2) clock=~clock; // 2MHzend//always #(step/2) clock =~clock; // 2MHzinitialbegin reset = 0; #step reset = 1; // 1 clock periodendinitial begin #((4*16*11+16*9)*step) $stop;end// inputalways @(negedge clock)begin din<=frame_total[847]; // 847=4*16*11+16*9-1 frame_total<=(frame_total<<1);end// generate system clkalways @ (clock) //din orclockbegin clk = din & clock; endendmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -