基于某Verilog地任意模长可加减计数器设计.doc
《基于某Verilog地任意模长可加减计数器设计.doc》由会员分享,可在线阅读,更多相关《基于某Verilog地任意模长可加减计数器设计.doc(12页珍藏版)》请在课桌文档上搜索。
1、基于Verilog 的任意模长可加减计数器设计一、 设计要求计数器是一种在时钟的触发下,完成计数功能的时序逻辑电路,输出结果由输入时钟和计数器上一状态的计数共同决定。本设计要某某现的计数器,具有以下功能:(1) 要某某现计数器工作状态的控制;(2) 要某某现计数器的异步清零功能;(3) 要某某现计数器递增和递减的功能;(4) 要某某现计数器的计数X围模长任意改变;二、 设计思路计数器工作状态的控制,可以设计一个使能端,在外部时钟的触发下,只有当使能端信号有效高电平,才启动计数器的计数功能递增或递减,否如此计数器输出结果不变。计数器的异步清零功能,可以设计一个外部输入的清零端,在外部输入信号有效
2、低电平的情况下,直接清零计数器,不用等待下一个外部时钟的触发,即计数器的清零是异步的。计数器计数方向的控制,设计一个加减可控的信号端口,在时钟的触发、异步清零无效以与计数器使能端有效的情况下,该输入端为高电平如此计数器完成递增功能,低电平如此完成递减功能。实现计数器的任意模长,即进入下一个计数周期,其计数的最大值可以发生变化。设计一个4位最大模长为16的输入端口,可以在当前计数周期完毕,即计数器产生一个溢出信号的同时,判断该端口输入的信号是否发生变化,通过相邻两个计数周期的端口数据作异或运算,结果为高电平如此代表模长发生变化,即进入的下一个计数周期,其计数最大值要发生变化。三、 程序设计本次设
3、计使用的是Quartus 11.0开发环境,该软件没有自带仿真功能9.0版本以后都没自带,需要使用第三方的Modelsim软件,故本设计的程序包括计数器的Verilog设计以与仿真测试需要的testbench激励文件两局部。计数器的Verilog设计:module Prj(clk,rst_input,en,add_sub,data_input,full,data_output);input clk; / 外部时钟input rst_input; / 外部清零异步input en; / 计数使能input add_sub; / 计数方向input 3:0 data_input; / 计数器模长输
4、入output reg full; / 计完当前模长output 3:0 data_output; / 计数器输出reg 3:0 current_counter;/ 当前计数值输出reg update_length_en; / 改变模长的使能信号/ 当前计数周期与上个计数周期的模长输入reg 3:0 current_clk_data_input,last_clk_data_in put;reg 3:0 counter_length; / 下个计数周期的模长reg 1:0 k;always (posedge clk,negedge rst_input)beginif(!rst_input) /
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Verilog 任意 模长可 加减 计数器 设计

链接地址:https://www.desk33.com/p-23088.html