用Verilog实现串并转换

一、串转并转换模块

串转并就是将低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
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值