用Verilog HDL设计计数器.doc

上传人:j****9 文档编号:3213029 上传时间:2019-05-25 格式:DOC 页数:5 大小:155.13KB
下载 相关 举报
用Verilog HDL设计计数器.doc_第1页
第1页 / 共5页
用Verilog HDL设计计数器.doc_第2页
第2页 / 共5页
用Verilog HDL设计计数器.doc_第3页
第3页 / 共5页
用Verilog HDL设计计数器.doc_第4页
第4页 / 共5页
用Verilog HDL设计计数器.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、用 Verilog HDL 设计计数器一、 实验目的1. 学习使用 Verilog HDL 语言,并学会使用进行 Quartus软件编程和仿真;2. 掌握数字电路的设计方法,熟悉设计过程及其步骤;3. 培养学生的动手能力,能学以致用,为今后从事电子线路设计打下良好基础;4. 巩固加深对数电知识的理解,在仿真调试过程中,能结合原理来分析实验现象;二、 实验内容1. 设计内容及要求1) 利用 Verilog HDL 设计一个以自己学号后三位为模的计数器;2) 编写源程序;3) 给出仿真电路图和仿真波形图;2. 需求分析:由于本人的学号后 3 位为 212,所以应编一个以 212 为模的加法计数器。

2、若采用同步清零的方法,则计数为 0211,化为二进制数即为 0 0000 0000 计到 0 1101 0011。3. 编写源代码:module count_212(out,data,load,reset,clk); output 8:0 out;input 8:0 data;input load,reset,clk;reg 8:0 out;always (posedge clk) /clk 上升沿触发beginif(!reset)out=9h000; /同步清零,低电平有效else if (load)out=data; /同步预置else if (out=211)out=9h000; /计数

3、最大值为 211,超过清零else out=out+1; /计数endendmodule 程序说明:该计数器为一个 9 位计数器,计数范围 0211,具有同步同步置数和同步清零功能。时钟的上升沿有效,当 clk 信号的上升沿到来时,如果清零信号为 0,则清零;若不为 0,计数器进行计数,计至 211 处同步清零。4. 画出仿真电路图:图 1 为同步置数、同步清零加法计数器的仿真电路图+A8.0B8.0 ADERCINA8.0B8.0LES_THAN1DENAQPRECLRDENAQPRECLRDENAQPRECLRDENAQPRECLRDENAQPRECLRDENAQPRECLRDENAQPR

4、ECLRDENAQPRECLRDENAQPRECLRSELDATADATAB OUT0MUX21SELDATADATAB OUT0MUX21SELDATADATAB OUT0MUX21LessThan09 h0D3 -out0reg0out1reg0out2reg0out3reg0out4reg0out5reg0out7reg0 out8reg0out8.09 h00 -resetclkout8.0data8.0out26.189 h00 -out17.9loadout6reg0 Add09 h01 -图 1 仿真电路图5. 画出仿真波形先对逻辑波形进行初始化设置,将清零信号restest置

5、1,置数信号load置 0,得到的仿真波形图 2 所示,波形终止处如图 3 所示,图 4 为计数到 211 后自动清零。当 reset=0,计数器清零;当 reset=1,load=0 时,计数器计数;当 reset=1、load=1 时,计数器计数。由于延时较长,上升沿触发显示不是很明显。图 2 开始计数的状态波形图 3 逻辑波形-波形终止处图 4 计数到 211 然后清零三、 实验结果由仿真波形可以看出,计数器从 0 0000 0000 计到 0 1101 0011 后便清零。而 0 1101 0011B=211D, 所以该计数器即为一个模为 211 的计数器,符合实验要求。四、 实验总结

6、1. 计数器功能表Clk Reset Load Out上升沿 0 X 清零上升沿 1 0 置数(data)上升沿 1 1 计数2. 应熟知计数器的使用方法,并能设计出任意进制的计数器,在设计时才能得心应手。计数进制的改变,包括清零法(同步清零和异步清零)和置数法。假定计数器的计数进制为 N,要将其改为 M进制的计数器,M N 。当计数器从全零状态开始计数,若采用同步清零法,设计时应经过 M-1 个状态后清零;若采用异步清零法,设计时应经过 M 个状态后清零。这样就跳过了 M 个状态,实现了 M进制计数器。因为采用异步清零法会产生清零不可靠的问题,本实验采用的为同步清零法。3. 本实验采用的是数据流描述方式来描述电路,通过assign 连续赋值实现组合逻辑功能,使用简单,语句易于读懂。4. 调试过程中,应沉着冷静,出现错误时,应该根据数电知识原理来分析,找出错误原因,对症下药;也可上网搜查该错误的含义,可能是软件的使用方法不对。

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

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。