基于Verilog的密勒码编译码器设计
时间:2025-02-26
时间:2025-02-26
使用Verilog语言实现密勒码编译码器设计,课程实验。
实验三 基于Verilog的密勒码编译码器设计
一、 程序设计
1. 编码器
module miller_encoder(
signal_in,
signal_out,
clk,
o_start,
o_finish
);
//输入输出端口声明
input signal_in;
input clk;
output reg signal_out; //编码串行输出数据
output reg o_start; //编码数据开始输出指示
output reg o_finish; //编码数据输出完毕指示
//内部变量声明
reg [7:0] datain_parallel=0; //待编码数据转并行暂存
reg [15:0] outbuf_parallel=0; //编码后输出并行数据暂存
reg [3:0] count=0;
reg d_finish=0; //数据输入完毕指示
reg c_finish=0; //编码完毕指示
reg clk2=0; //分频时钟
integer i,k=15;
//本进程用来串并转换
always @ (posedge clk2)//输入用clk的二分频时钟,来保证时间相等
begin
count=count+1;
if(count==9)
begin
count<=8;
d_finish<=1; //串行数据输入完毕,可以开始计算了
end
else
begin
datain_parallel<={datain_parallel[6:0],signal_in};
end
end
//本进程用来产生2分频
always @ (posedge clk)