问题:
在课程设计中,需要数据的输入和输出,但只有一根线作为输入,一根线作为输出
需求:
实现输入输出过程中的串并转换
具体数据的串并转换思想:
对于数据,采用移位寄存器的思想,一位一位的实现数据的输入和输出,注意时钟的频率,就可以不产生问题。
具体代码如下:
// 4位的输出,最高位一次输出,并行转串行输出
always@(posedge m_clk)//串行译码输出
begin
dataout<=out_buff[3];
out_buff[3:1]<=out_buff[2:0];
if(output_cnt==2'd3)
begin
output_cnt<=2'd0;
out_buff[3:0]<=o_buff[3:0];
end
else
output_cnt<=output_cnt+2'd1;
end
实现效果:
4位的数据(out_buff)可以实现一位一位(dataout)的输出
效果串转并仿真图:
并转串效果图