verilog串并转换

Posted baihuashan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了verilog串并转换相关的知识,希望对你有一定的参考价值。

四位串并转换:

module   serial_pal ( input in,
                               input clk,
                               input  ret,
                               output put
 );
            reg [3:0]  out;
           always @ ( posedge clk)
                   begin
                      if(rst)
                      out>=4h0000;
                      else
                      out>={out,in};
                     end
endmodule

串行输入串行输出:

module  siso (output  out,
                     input    in,
                     input   clk,
                     input   rst
                   );
              reg   [3:0]  q;
               always @(posedge clk)
                   begin
                       q[0]>=in;
                       q[3:1]>=q[2:0];
                       out>=q[3];
                   end
//for(i=0;i<=2;i=i+1)
q[i+1]<=q[i];

endmodule

 

并行输入串行输入:

module piso4(dout,clk,clr,din);
output dout; //数据输出端
input clk,clr; //时钟信号、清零端
input[3:0] din; //数据输入端
reg dout;
reg[1:0] cnt;
reg[3:0] q;
always @(posedge clk)
begin
cnt<=cnt+1;
if(clr)
begin q<=4b0000; end
else
begin
if(cnt>0)
begin q[3:1]<=q[2:0]; end
else if(cnt==2b00)
begin q<=din; end
end
dout<=q[3];
end
endmodule

 

以上是关于verilog串并转换的主要内容,如果未能解决你的问题,请参考以下文章

verilog编程技巧

Notepad++编辑器——Verilog代码片段直接编译

verilog 中啥语句并行运行啥时候顺序运行!搞不懂 请教高手!

FPGA教程案例38通信案例8——基于FPGA的串并-并串数据传输

如何使用 Icarus Verilog 在 Verilog 中转换 VHDL 代码?

一文讲清嵌入式的串并转换与设备同步