并串串并转换设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

并串/串并转换电路设计

一、实验目的:

用verilog语言设计一个8:1的并串转换电路、设计一个1:8的串并转换电路。

二、实验原理:

实现8位的并行数据转换为串行的数据:并行转串行,只要把每个输入按从高到低的顺序输出即可。即每个时钟脉冲输出一个数据。

实现8位的串行数据转换为并行的数据:8位串行数据转换为并行数据,需要一个模为8的计数器,当计到8个时钟脉冲时,把之前的8个数据全部输出,然后从新接收。

三、实验内容:

用verilog实现8位的并行数据转换为串行的数据:

module bingchuan(out,in,rst,clk);

output out;

reg out;

input [7:0] in;

input rst,clk;

integer i=0;

always@(posedge clk)

begin

if(rst)

out<=0;

else

begin

if(i==8)

begin

out<=0;

end

else

out<=in[i];

i<=i+1;

end

end

endmodule

module textbingchuan;

reg [7:0] in;

reg rst,clk;

wire out;

bingchuan bc(out,in,rst,clk);

initial clk=1;

always #5 clk=~clk;

initial

begin

rst=1;

#100 rst=0;in=8'b11101110;

end

endmodule

仿真后的波形:

用verilog实现8位的串行数据转换为并行的数据:module chuanbing(out,in,rst,clk);

output [7:0] out;

reg [7:0] out;

input in,rst,clk;

reg[7:0] temout;

reg[2:0] cd;

always@(posedge clk)

begin

if(rst)

cd=3'b111;

else

begin

temout[cd]<=in;

cd<=cd-1'b1;

if(cd==3'b111)

begin

out<=temout;

end

else

out<=8'bz;

end

end

endmodule

module textchuanbing;

reg rst,clk,in;

wire [7:0] out; chuanbing ch(out,in,rst,clk); initial clk =0;

always#5 clk=~clk;

initial

begin

rst=1;

#10 rst =0;in=1;

#10 in=0;

#10 in=1;

#10 in=1;

#10 in=0;

#10 in=1;

#10 in=0;

#10 in=1;

#10 in=1;

#10 in=1;

#10 in=0;

#10 in=1;

end

endmodule

仿真后的波形:

相关文档
最新文档