verilog_并串换

verilog_并串换

ID:47219443

大小:820.00 KB

页数:9页

时间:2019-08-24

verilog_并串换_第1页
verilog_并串换_第2页
verilog_并串换_第3页
verilog_并串换_第4页
verilog_并串换_第5页
资源描述:

《verilog_并串换》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、.题目要求:实现8位的并行数据转换为串行的数据。题目分析:并行转串行,只要把每个输入按从高到低的顺序输出即可。即每个时钟脉冲输出一个数据。但是下面的代码有一个的问题,不能解决在8为数据串行输出的过程当中如果又有一个并行的输入数据输入,没有做到缓冲处理。也许这个缓冲处理可以在调用此模块时在外部实现吧。功能代码:modulepara_to_serial_8bit(para_in,clock,reset,ser_out);input[7:0]para_in;inputreset,clock;outputser_out;regser_out

2、;reg[7:0]data;always@(posedgeclockornegedgereset)beginif(~reset)beginser_out<=1'b0;data<=para_in;endelsebegindata<={data[6:0],data[7]};ser_out<=data[7];endendendmodule测试代码:moduletest_para_to_ser;reg[7:0]para_in;regclock,reset;wireout;para_to_serial_8bitf1(.para_in(para

3、_in),.clock(clock),.reset(reset),.ser_out(out));initial$monitor($time,"in_8bit=%b,reset=%b,ser_out=%b,data=%b",para_in,reset,out,f1.data);initialbeginclock=1'b0;..reset=1'b0;#3reset=1'b1;#300$stop;endinitialpara_in=8'b1010_0100;always#5clock=~clock;endmodule测试结果:测试波形如下

4、:..作业二题目要求:实现8位的串行数据转换为并行的数据。题目分析:8位串行数据转换为并行数据,需要一个模为8的计数器,当计到8个时钟脉冲时,把之前的8个数据全部输出,然后从新接收。功能模块代码:模8计数器:modulecounter_mod_8(clock,reset,Q);inputclock;//posedgeeffectiveinputreset;//negedgeeffectiveoutput[2:0]Q;reg[2:0]Q;always@(posedgeclockornegedgereset)beginif(~reset

5、)Q<=3'd0;elseQ<=Q+1;endendmodule串转并模块:moduleser_to_par_8bit(ser_in,clk,rst,out);..inputser_in,clk,rst;output[7:0]out;wire[7:0]out;reg[7:0]par_out;wire[2:0]count;counter_mod_8f1(.clock(clk),.reset(rst),.Q(count));always@(posedgeclkornegedgerst)beginif(~rst)par_out<=8'b0

6、000_0000;elsebeginpar_out<={par_out[6:0],ser_in};endendassignout=(count==7)?par_out:8'b0000_0000;endmodule测试模块代码:moduletest_ser_par;reg[7:0]data;wiredata_in;regclock,reset;wire[7:0]out;initialbeginclock=1'b0;reset=1'b0;#3reset=1'b1;data=8'b1001_1101;#300$stop;endalways

7、#5clock=~clock;always@(posedgeclock)data={data[6:0],data[7]};assigndata_in=data[7];ser_to_par_8bita(.ser_in(data_in),.clk(clock),.rst(reset),.out(out));initial..$monitor($time,"reset=%b,data=%b,data_in=%b,out=%b",reset,data,data_in,out);endmodule测试结果:测试波形:..作业三题目:可变模计数

8、器,当控制信号为1时,模值为16,当控制信号为0是模值为32。功能模块代码://contr=1mod=16;contr=0mod=32modulecount_mod_chg(clk,reset,contr,Q);inputclk,re

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。