- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
频率计数器论文关于变频器论文
多位格雷码计数器的Verilog HDL描述方法
摘要:该文介绍了格雷码的概念和使用格雷码计数的原因并给出了多位格雷码计数器的Verilog HDL的两种描述方法。
关键词:格雷码;格雷码计数器;Verilog;竞争—冒险
1 格雷码
格雷码(Gray Code)是由贝尔实验室的Frank Gray在20世纪40年代提出的,用来在使用PCM(Pusle Code Modulation)方法传送讯号时避免出错,并于1953年3月17日取得美国专利。格雷码属于可靠性编码,因为,虽然自然二进制码可以直接由数/模转换器转换成模拟信号,但在某些情况,例如从十进制的3转换为4时二进制码的每一位都要变,能使数字电路产生很大的尖峰电流脉冲。而格雷码则没有这一缺点,它在相邻位间转换时,只有一位产生变化。它大大地减少了由一个状态到下一个状态时逻辑的混淆。但格雷码是一种无权码,每一位码没有确定的大小,不能直接进行比较大小和算术运算。
2 组合逻辑电路中的竞争—冒险现象
在组合逻辑电路的设计分析中,经常将高低电的变化看成理想化的。但在实验中,当信号经过电路时,由于门电路传输延迟时间的不同,可能使电路输出端出现尖峰脉冲的现象,这种尖峰脉冲将使负载产生误动作,为此应当识别电路是否有竞争冒险现象,并采取措施加以解决。
1) 竞争冒险的产生
在没有考虑信号通过导线和逻辑门的传输延迟时间的理想情况下,门电路的输入与输出为稳定状态。但实际情况是信号通过导线和门电路时,都存在时间延迟;信号发生变化时也有一定的上升时间或下降时间。我们将门电路两个输入信号同时向相反的逻辑电平跳变(一个从1 变为0,另一个从0 变为1)的现象称为竞争。由于竞争而在电路输出端可能产生尖峰脉冲的现象就称为竞争—冒险。这些尖峰信号又称为“毛刺”。
2) 竞争冒险现象的影响
由于FPGA以及其它的CPLD器件内部的分布电容和电感对电路中的毛刺基本没有什么过滤作用,因此这些毛刺信号就会被“保留”并传递到后一级,从而使得毛刺问题更加突出。可见,即使是在最简单的逻辑运算中,如果出现多路信号同时跳变的情况,在通过内部走线之后,就可能会产生毛刺。而现在使用在数字电路设计以及数字信号处理中的信号往往是由时钟控制的,多数据输入的复杂运算系统,甚至每个数据都由相当多的位数组成。这时,每一级的毛刺都会对结果有严重的影响,如果是多级的设计,那么毛刺累加后甚至会影响整个设计的可靠性和精确性。
通过对格雷码的特点分析可知,使用格雷码计数(每次计数只有一位发生变化)可以消除组合逻辑电路中可能存在的竞争—冒险现象。下面主要讲述了格雷码计数器的实现。
3 多位格雷码计数器的实现
在设计格雷码计数器的时候可以使用状态机,给每个码设定一个状态然后用时钟来控制它在状态间转换,这样就完成了我们需要的功能,但是若是状态比较多,如n=6,这时就会有64个状态,显然再用状态机非常不方便,当然理论上是可以的。所以我们需要的是一种通用的计数方式,本文给出了一种办法就是设计一个二进制计数器binary counter,通过它来计数,然后利用binary -gray的转换编码就可以得到对应的格雷码计数器, 另一办法就是找出格雷码计数的规律,给出了一个不需要用二进制计数器转换的纯格雷码计数器的Verlilog描述。
本文根据我的实际需要,给出了以上两种不同思路的带同步清零端的10232进制(14位)格雷码计数器的Verilog HDL 描述方法。并且这两种方法都已经通过Quartus 软件实现了仿真,最后的仿真结果是一样的。
1) 使用二进制计数器转换的格雷码计数器的Verilog描述:
module graycounter_14(clk,nclr, q);
inputclk,nclr;
output[13:0] q;
reg[13:0] q;
always @ (posedge clk or negedge nclr)
begin
if(!nclr)q = 14b0;
else q = next(q);//求计数格雷码
end
function[13:0] next;
input[13:0] incode;
reg[13:0] code;
integeri;
begin
code[13] = incode[13]; //当前格雷码转二进制码
for(i=12;i=0;i=i-1)
code[i] = code[i+1]^incode[i];
if(code == 14b10_0111_1111_0111)code = 14
您可能关注的文档
最近下载
- 质量控制计划-INSPECTION-AND-TEST-PLAN(ITP).xls VIP
- 数字信号处理(姚天任江太辉第三版)课后习题答案.pdf VIP
- 化学品安全技术说明书MSDS天那水.doc VIP
- 电子电气装配(商飞) 电子电气装配(商飞) 电气代码.pptx VIP
- TCMEA2-2018道路塌陷隐患雷达检测技术规范.pdf VIP
- 第5课 走近科学家 第3课时(课件)2025-2026学年道德与法治三年级上册统编版.pptx VIP
- 公路工程施工安全技术规范.doc VIP
- 机器设备评估常用数据与参数.docx
- 2025年重庆市中考数学试卷(含解析).docx
- 《混凝土结构通用规范》复习试题有答案.doc
文档评论(0)