一、串转并转换模块
串转并就是将低3位信号和输入信号一起赋值。因为经过转换后,码元速率会将为原来四分之一,所以设置4分频时钟,将其输出。而并转串就是不断右移,取高位输出。
module serial_par(
input clk,
input d,
output reg [3:0]q
);
//四分频模块
reg [13:0]cnt;
parameter N = 4;
reg clk_out;
always @(posedge clk)
begin
if(cnt == N/2 - 1)begin
cnt <= 14'b0;
clk_out <= ~clk_out;
end
else
cnt <= cnt + 1'b1;
end
reg [3:0]data;
always @(posedge clk)
begin
data <= {data[2:0],d};
end
always @(posedge clk_out)
begin
q <= data;
end
endmodule
1) 利用移位寄存器
串行转并行数据输出:采用位拼接技术(移位寄存器),将串行的数据总数先表示出来,然后发送一位数据加一,后面的接收的这样标志:
data_o <= {data_o[6:0],data_i };
1输入8输出 的 串转并模块的Verilog代码
module serial_parallel(
input clk,
input