




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Verilog作业 姓名:zzz 班級: zzzz 學號:zzzz報告日期:2010年10月30日作业题目要求:实现8位的并行数据转换为串行的数据。题目分析:并行转串行,只要把每个输入按从高到低的顺序输出即可。即每个时钟脉冲输出一个数据。但是下面的代码有一个的问题,不能解决在8为数据串行输出的过程当中如果又有一个并行的输入数据输入,没有做到缓冲处理。也许这个缓冲处理可以在调用此模块时在外部实现吧。功能代码:module para_to_serial_8bit(para_in,clock,reset,ser_out); input 7:0 para_in; input reset,clock; output ser_out; reg ser_out; reg 7:0 data; always(posedge clock or negedge reset) begin if(reset) begin ser_out = 1b0; data = para_in; end else begin data = data6:0,data7; ser_out = data7; end endendmodule测试代码:module test_para_to_ser; reg 7:0 para_in; reg clock,reset; wire out; para_to_serial_8bit f1(.para_in(para_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); initial begin clock = 1b0; reset = 1b0; #3 reset = 1b1; #300 $stop; end initial para_in = 8b1010_0100; always #5clock = clock;endmodule测试结果:测试波形如下:作业二题目要求:实现8位的串行数据转换为并行的数据。题目分析:8位串行数据转换为并行数据,需要一个模为8的计数器,当计到8个时钟脉冲时,把之前的8个数据全部输出,然后从新接收。功能模块代码:模8计数器:module counter_mod_8(clock,reset,Q); input clock; /posedge effective input reset; / negedge effective output 2:0 Q; reg 2:0 Q; always(posedge clock or negedge reset) begin if(reset) Q = 3d0; else Q = Q + 1; endendmodule串转并模块:module ser_to_par_8bit(ser_in,clk,rst,out); input ser_in,clk,rst; output 7:0 out; wire 7:0 out; reg 7:0 par_out; wire 2:0 count; counter_mod_8 f1(.clock(clk),.reset(rst),.Q(count); always(posedge clk or negedge rst) begin if(rst) par_out = 8b0000_0000; else begin par_out = par_out6:0,ser_in; end end assign out = (count = 7)? par_out : 8b0000_0000;endmodule测试模块代码:module test_ser_par; reg 7:0 data; wire data_in; reg clock, reset; wire 7:0 out; initial begin clock = 1b0; reset = 1b0; #3 reset = 1b1; data = 8b1001_1101; #300 $stop; end always #5clock = clock; always(posedge clock) data =data6:0,data7; assign data_in = data7; ser_to_par_8bit a(.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测试结果:测试波形:作业三题目:可变模计数器,当控制信号为1时,模值为16,当控制信号为0是模值为32。功能模块代码:/ contr = 1 mod =16; contr =0 mod =32module count_mod_chg(clk,reset,contr,Q); input clk,reset,contr; output 4:0 Q; reg 4:0 Q; wire 4:0 last; assign last =(contr ? 5b01111:5b11111); always(posedge clk or negedge reset) begin if(reset | Q = last) Q = 5b00000; else Q = Q + 1; end endmodule测试模块代码:module test_count_mod_chg; reg clock,reset; reg control; wire 4:0 out; count_mod_chg counter1(.clk(clock),.reset(reset),.contr(control),.Q(out); initial $monitor($time,reset= %b,control= %b,out= %b,reset,control,out); initial begin clock = 1b0; foreve
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 皂角树特色种植项目可行性研究报告
- 年产550吨灭火器充装剂项目可行性研究报告
- 医疗器械信息咨询公司合同付款管理办法
- 防新型传销知识培训课件
- 2026届高考地理第一轮复习课件:课时23 水循环
- 精细化工行业工艺流程研究
- 浙江省金华2025年九年级上学期数学月考试题附答案
- 百校结百村结对共建协议书8篇
- 拍卖买卖合同模板6篇
- 建筑企业办公室主任合同书7篇
- 建立隐患闭环管理制度
- T/CECS 10026-2019绿色建材评价建筑门窗及配件
- 2025-2030中国甘草酸铵行业市场现状供需分析及投资评估规划分析研究报告
- 银川文化园全民健身体育运动馆地块土壤污染状况调查报告
- 天然药物活性成分的发现与筛选课件
- 2025年全国保密教育线上培训考试试题库完整答案附带答案详解
- 干部选拔任用全流程解析
- 明厨亮灶协议书
- 新药研究与开发技术 课件3.新药的工艺与质量研究
- 2025-2030中国工程监理行业市场深度调研及竞争格局与发展趋势研究报告
- “厂中厂”安全生产管理协议书(未修改版)7篇
评论
0/150
提交评论