已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗十八项核心制度记忆歌诀
- 综合环境整治工程EPC总承包施工组织设计
- 电梯管理公约
- 教科版五年级下册科学2.4《增加船的载重量》教学设计
- 二年级童话剧-木偶奇遇记剧本
- 软件产品规划书
- 2026年报告文学(事实核查技巧)试题及答案
- 小学端午节包粽子活动方案2026
- 诚信考试国旗下演讲稿
- 小学2026年一年级招生工作方案
- 玻璃栈道审批管理办法
- DB53-T 1032-2021 公路隧道超前地质预报技术规程
- 中央储备成品油管理办法
- T/CBMCA 039-2023陶瓷大板岩板装修镶贴应用规范
- 2025年全国HIV抗体诊断试剂临床质量评估报告范文
- 初中物理跨学科教学的创新策略与实践路径
- 2025-2030全球滑移装载机行业风险评估及未来销售趋势预测研究报告
- 快递车辆承包协议书
- 《专业论文选读与写作》教学大纲
- 早产临床防治指南(2024版)解读
- 混凝土强度评定表(GB/T50107-2010)
评论
0/150
提交评论