verilog并串转换_第1页
verilog并串转换_第2页
verilog并串转换_第3页
verilog并串转换_第4页
verilog并串转换_第5页
免费预览已结束,剩余3页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、ys(posedge clock or n egedge reset) beg inif(reset) begi nser_out = 1b0;data = para_i n;endelse begi ndata = data6:0,data7;ser_out = data7;endenden dmodule测试代码:module test_para_to_ser;reg 7:0 para_i n;reg clock,reset;wire out;para_to_serial_8bitf1(.para_ in( para_i n),.clock(clock),.reset(reset),.se

3、r_out(out);in itial$mo nitor($time,in_8bit=%b,reset= %b,ser_out= %b,data=%b,para_ in, reset,out,f1.data);in itial begi nclock = 1b0;reset = 1b0;#3 reset = 1b1;#300 $stop;endin itial实用文档para_in = 8b1010_0100;always#5clock = clock;en dmodule测试结果:测试波形如下:作业二题目要求:实现8位的串行数据转换为并行的数据题目分析:8位串行数据转换为并行数据,需要一个模

4、为8的计数器,当计到8个时钟脉冲时,把之前的8个数据全部输出,然后从新接收。功能模块代码:模8计数器:module coun ter_mod_8(clock,reset,Q);in put clock; /posedge effectivein put reset; / n egedge effective实用文档output 2:0 Q;reg 2:0 Q;always(posedge clock or n egedge reset) begi nif(reset)Q = 3d0;elseQ = Q + 1;enden dmodule串转并模块:module ser_to_par_8bit(

5、ser_ in, clk,rst,out);in put ser_ in, clk,rst;output 7:0 out;wire 7:0 out;reg 7:0 par_out;wire 2:0 count;coun ter_mod_8 f1(.clock(clk),.reset(rst),.Q(co un t);always(posedge clk or n egedge rst) beg inif(rst)par_out = 8b0000_0000;else begi npar_out = par_out6:0,ser_ in;endendassign out = (count = 7)

6、? par_out : 8b0000_0000; en dmodule测试模块代码:module test_ser_par;reg 7:0 data;wire data_i n;reg clock, reset;wire 7:0 out;in itial begi nclock = 1b0;实用文档reset = 1bO;#3 reset = 1b1;data = 8b1001_1101;#300 $stop;endalways#5clock = clock; always(posedge clock)data =data6:0,data7; assig n data_ in = data7;

7、ser_to_par_8bit a(.ser_ in( data_ in ),.clk(clock),.rst(reset),.out(out);in itial%b,data= %b,data_i n= %b,out= %b,reset,data,data_i n,out);测试结果:测试波形:$mo nitor($time,reset=en dmodule实用文档作业三题目:可变模计数器,当控制信号为1时,模值为16,当控制信号为0是模值 为32。功能模块代码:/ contr = 1 mod =16; contr =0 mod =32module coun t_mod_chg(clk,re

8、set,c on tr,Q);in put clk,reset,c ontr;output 4:0 Q;实用文档reg 4:0 Q;wire 4:0 last;assign last =(contr ? 5b01111:5b11111);always(posedge clk or n egedge reset) beg inif(reset | Q = last)Q = 5b00000;elseQ = Q + 1;enden dmodule测试模块代码:module test_co un t_mod_chg;reg clock,reset;reg con trol;wire 4:0 out;c

9、oun t_mod_chg coun ter1(.clk(clock),.reset(reset),.c ontr(con trol),.Q(out); in itial$mon itor($time,reset= %b,c on trol= %b,out= %b,reset,c on trol,out);in itial beg inclock = 1b0;forever #5 clock = clock;endin itial begi n reset = 1b0;#5reset = 1b1; endin itial begi ncon trol = 1;#200 control = 0;enden dmodule测试结果:实用文档仿真波形如下实用文档f Wae:Messages deck0L_TT TLTLTTjirlrLn rLnrrkTln_reset1controlQD outooinotaciloa jckxniitookiKuiiboiio!bciii:roSDionniKObiioiMjiiDtomitaotaoiM10FT阴帼-MessagesJM1x rn jn_rTr1L r1 -ruL rJreset1Jcontrol0D-Jout1100 o.lotouii

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论