已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
深 圳 大 学 实 验 报 告 课程名称: Verilog数字系统设计 实验名称: 四个8位2进制输入数据的冒泡排序 学院: 信息工程学院 专业: 电子信息工程 班级: 2010级电子2班 组号: 指导教师: 报告人: 学号: 实验时间: 2012 年 11 月 6 日 星期 二 实验地点 南区N413 实验报告提交时间: 2012.11.11 实验要求:1、 掌握任务在Verilog模块设计中的应用;2、 学会在电平敏感列表的always中使用拼接操作、任务和阻塞赋值等语句,并生成复杂组合逻辑的高级方法;3、 掌握利用有限状态机实现一般时序逻辑分析的方法;4、掌握用Verilog编写可综合的有限状态机的标准模版;掌握用Verilog编写状态机模块的测试文件的一般方法。实验内容:1、 设计一个功能相同的模块,该模块能完成四个8位2进制输入数据的冒泡排序。假设8位数据是按照时钟节拍串行输入的,要求用时钟触发任务的执行法,每个时钟周期完成一次数据交换的操作。2、使用纯组合逻辑实现四个8位2进制输入数据的冒泡排序。实验代码:A.Verilog程序代码_时钟触发module Rank(clk,x_input,ra0,rb0,rc0,rd0,ra1,rb1,rc1,rd1);input clk;reg3:0 state;input 7:0 x_input;output7:0 ra0,rb0,rc0,rd0,ra1,rb1,rc1,rd1;reg7:0 va,vb,vc,vd;reg7:0 ra0,rb0,rc0,rd0,ra1,rb1,rc1,rd1;parameter IDLE0=d0,IDLE1=d1,IDLE2=d2,IDLE3=d3,A=d4,B=d5,C=d6,D=d7,E=d8;always(posedge clk) casex(state) IDLE0:begin va=x_input;state=IDLE1; end IDLE1:begin vb=x_input;state=IDLE2; end IDLE2:begin vc=x_input;state=IDLE3; end IDLE3:begin vd=x_input; state=A; ra0,rb0,rc0,rd0=va,vb,vc,vd; end A:begin sort2(va,vc);state=B; end B:begin sort2(vb,vd);state=C; end C:begin sort2(va,vb); state=D; end D:begin sort2(vc,vd);state=E; end E:begin sort2(vb,vc); ra1,rb1,rc1,rd1=va,vb,vc,vd; state=IDLE0; enddefault:statey) begin tmp=x;x=y;y=tmp; end endtask endmodule A.Verilog测试代码_时钟触发 module Test;/ Inputsreg clk;reg 7:0 x_input;/ Outputswire 7:0 ra0;wire 7:0 rb0;wire 7:0 rc0;wire 7:0 rd0;wire 7:0 ra1;wire 7:0 rb1;wire 7:0 rc1;wire 7:0 rd1;/ Instantiate the Unit Under Test (UUT)Rank uut (.clk(clk), .x_input(x_input), .ra0(ra0), .rc0(rc0), .rb0(rb0), .rd0(rd0),.ra1(ra1), .rb1(rb1), .rc1(rc1), .rd1(rd1);always #10 clk=clk;always (posedge clk)x_input=$random%256;/保证随机数不大于8位initial begin/ Initialize Inputsclk = 0;x_input = 0;#100 $stop; end endmodule仿真波形RTL级仿真:综合后门级仿真:B.Verilog程序代码_纯组合逻辑module Rank(ra,rb,rc,rd,a,b,c,d);input 7:0 a, b, c, d;output7:0 ra,rb,rc,rd;reg7:0 ra,rb,rc,rd;reg7:0 va,vb,vc,vd;always(a or b or c or d) begin va,vb,vc,vd=a,b,c,d; sort2(va,vc); sort2(vb,vd); sort2(va,vb); sort2(vc,vd); sort2(vb,vc); ra,rb,rc,rd=va,vb,vc,vd; endtask sort2; inout7:0 x,y; reg7:0 tmp; if(xy) begin tmp=x;x=y;y=tmp; endendtask endmoduleB.Verilog测试代码_纯组合逻辑module Test;/ Inputsreg 7:0 a;reg 7:0 b;reg 7:0 c;reg 7:0 d;/ Outputswire 7:0 ra;wire 7:0 rb;wire 7:0 rc;wire 7:0 rd;/ Instantiate the Unit Under Test (UUT)Rank uut (.ra(ra), .rb(rb), .rc(rc), .rd(rd), .a(a), .b(b), .c(c), .d(d);initial begin/ Initialize Inputsa = 0;b = 0;c = 0;d = 0;repeat(50)begin#100 a=$random%256;b=$random%256;c=$random%256;d=$random%256; end/ Wait 100 ns for global reset to finish#100 $stop; / Add stimulus hereend endmodule仿真结果:仿真波形RTL级仿真: 综合后门级仿真:实验过程分析:一、代码分析I. 对于纯组合逻辑做法。第一种做法主要同过书写一个task,这一点有点类似C语言的子函数。随后便是利用这个task做简单的纯组合逻辑电路设计II. 对于时序触发做法。第二种做法主要使用状态机,通过一个始终周期的到来先进行数据的串行输入,然后再进行数据交换,以此达到冒泡排序的目的。2、 仿真分析I. 对于纯组合逻辑做法。在clk前四个时钟周期里,进行了数据的输入,此时并未排序。从第五个时钟周期开始到第九个时钟周期结束,数据进行冒泡排序并输出。接下来循环50次。II. 对于时序触发做法。 在波形上已经很清晰的指出输入数据以此冒泡排序后的数据,不涉及任何延迟。 实验心得总结:通过这一次的实验,可以说是悲剧万分呀。主要还是对于时钟触发这种做法不太理解,从一开始的完全一头雾水到最后做到较为透彻的理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年北京丰台区中考一模英语模拟试卷试题(含答案详解)
- 2026中国魔芋胶行业竞争现状与销售前景预测报告
- 2026中国透明质酸钠行业应用态势及需求趋势预测报告
- 2026及未来5-10年L-醋酸赖氨酸项目投资价值市场数据分析报告
- 2026福建福州商业储运有限公司社会招聘1人笔试模拟试题及答案解析
- 2026山西大同广灵县社区专职网格员纳入社区专职工作人员管理选聘笔试备考题库及答案解析
- 2026山东威海火炬高技术产业开发区管理委员会选聘工作人员68人笔试模拟试题及答案解析
- 2026首都医科大学附属北京安贞医院第二批面向应届毕业生(含社会人员)招聘21人笔试备考试题及答案解析
- 2026年侧吸式油烟机行业分析报告及未来发展趋势报告
- 2026年骑行服行业分析报告及未来发展趋势报告
- 2026年网格员考试公基全真模拟训练题库(含答案)
- 钢连廊吊顶及屋顶幕墙安装施工方案
- 2026年北京市顺义区高三一模语文试题
- 2026年广东交通职业技术学院单招职业适应性测试题库附参考答案详解(完整版)
- 公司业务首单奖励制度
- 【《斯特林发动机的发展现状与趋势文献综述》1800字】
- 塔吊安拆工培训
- 常用英语不规则动词时态完全解析
- 最新隧道施工安全教育培训课件
- 爱朋全自动泵操作教学课件
- 发酵生产记录
评论
0/150
提交评论