EDA设计999计数器.doc

上传人:cn****1 文档编号:551674475 上传时间:2023-05-23 格式:DOC 页数:4 大小:80.50KB
返回 下载 相关 举报
EDA设计999计数器.doc_第1页
第1页 / 共4页
EDA设计999计数器.doc_第2页
第2页 / 共4页
EDA设计999计数器.doc_第3页
第3页 / 共4页
EDA设计999计数器.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《EDA设计999计数器.doc》由会员分享,可在线阅读,更多相关《EDA设计999计数器.doc(4页珍藏版)》请在金锄头文库上搜索。

1、计算机与信息技术学院设计性实验报告专业:通信工程 年级/班级: 08级 20102011学年第二学期课程名称EDA技术指导教师xxx本组成员学号姓名xxxx实验地点计科楼111计科楼503实验时间4月19日8:00-11:504月26日8:00-11:50项目名称999计数器实验类型设计性一、 实验目的1掌握计数器的工作方式2掌握计数器程序设计方法3设计一个999计数器,使波形图从0计数到999。二、 实验仪器或设备 装Quartue II 5.0软件的微机一台三、 总体设计(设计原理、设计方案及流程等) (一) 设计原理1对于一个矩形信号脉冲序列,如果在其上升沿计一次数,就可以设计一个十进制

2、计数器,当计数够10次后,进位端就有一个输出。2 可以用三个十进制计数器设计一个电路,使其可以计数从0到999,即可以设计出一个999计数器。3在Quartue II 5.0的编译环境中,可以根据Verilog HDL的文件生成一个与源程序对应的结构功能框图。(二) 设计方案及流程1.设计方案:(1)在Verilog HDL的编译环境里,编写代码,设计一个十进制计数器即count10,使其在输入信号clk的上升沿进行计数,并在输出端q把计数结果输出。当计数到9时,进位端cout为1,并使输出端q为0 ,其他时候进位端cout为0。(2)根据count10.v生成一个与其相对应的功能结构框图,第

3、一个框图的进位输出作为第二个的输入,第二个框图的进位输出作为第三个框图的输入。则第一个框图的输出即为个位,第二个框图的输出即为十位,第三个框图的输出即为百位。三者组合即可从0计数到999。2.流程图 图1 流程图四、 实验步骤(包括主要步骤、代码分析等) (一)主要步骤1打开Quartue II 5.0集成调试软件2单击“File”“New” “Verilog HDL File”,新建一个Verilog HDL文件,命名为“count10.v”。3新建工程,命名为“count10”,进行“编译”。4单击“File”“Create/Update”生成一个十进制计数器的结构功能框图。5单击“Fil

4、e”“New”“Other Files”“Block Symbol File”,在此环境下将生成的十进制计数器的结构功能框图找出来,并找出所需要的输入输出引脚,按照电路原理图连接电路。6电路图编译无误后,进行波形仿真。选“File”“New”“Other File”“Vector Waveform File”新建一个波形仿真文件,根据需要添加clk、rst、ge、shi、bai的波形,对输入波形设置后,进行仿真。7观察波形图,分析实验结果 (二)主要代码分析always (posedge clk or negedge rst) 在clk的上升沿或rst的下降沿进行如下操作 begin if (

5、!rst) 在rst的下降沿执行下列操作 begin q= 0; 给q赋值为0 cout=0; 给cout赋值为0 endelse begin if(q=9) 当q为9时,进行如下操作 begin q=0; 令q为0 cout=1; 令cout为1 end else 当q不为9时,进行如下操作 begin q = q+1; 令q加1 cout=0; 令cout为0 end end end五、 结果分析与总结 通过本次实验,我掌握了计数器的工作方式,可以独立设计一个计数器,并掌握了定时/计数器程序设计方法利用定时器。根据所学知识设计了秒表计数器,使数码管从00.0计时到99.9。具有启动、暂停、

6、复位键,并具有其相应的功能。六、 附录(一) 电路图(二)源代码module count10(q,cout,rst,clk);output3:0 q;output cout;input rst,clk;reg3:0 q;reg cout;always (posedge clk or negedge rst) begin if (!rst) begin q= 0; cout=0; endelse begin if(q=9) begin q=0; cout=1; end else begin q = q+1; cout=0; end end endendmodule(三) 仿真后在波形图 前一部分的波形后一部分的波形教师签名: 年 月 日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号