基于Verilog的密勒码编译码器设计(6)
时间:2025-02-26
时间:2025-02-26
使用Verilog语言实现密勒码编译码器设计,课程实验。
2'b11:
outbuf_parallel[i/2] = 2'b0;
endcase
c_finish=1;
end
end
endmodule
二、 仿真验证
1. 编码器仿真验证
//miller_encoder程序的测试程序
`timescale 10ns/1ns
module miller_encoder_tb;
//主要输入寄存器
reg clk;
reg clk2;
reg signal_in;
//主要输出声明
wire signal_out;
wire o_start;
wire o_finish;
reg temp;
reg [7:0] shift;
//待测试设计例化
miller_encoder my_miller_encoder(signal_in,signal_out,clk,o_start,o_finish); //产生时钟周期是100个时间单位
always #50 clk=~clk;
always @(posedge clk)
begin
clk2<=~clk2;
end
//设计一个或多个激励信号发生器
initial
begin
clk=0;
clk2=0;
shift=16'b01001011;//信码是11010010
signal_in=shift[0];
temp=shift[0];
shift=shift>>1;
shift[7]=temp;
end
always @(posedge clk2)//注意这里是clk2时钟来控制输入数据一位一位往里进哟