CN1622464A - 输出格雷码计数的方法及其计数器 - Google Patents

输出格雷码计数的方法及其计数器 Download PDF

Info

Publication number
CN1622464A
CN1622464A CN 200310116620 CN200310116620A CN1622464A CN 1622464 A CN1622464 A CN 1622464A CN 200310116620 CN200310116620 CN 200310116620 CN 200310116620 A CN200310116620 A CN 200310116620A CN 1622464 A CN1622464 A CN 1622464A
Authority
CN
China
Prior art keywords
cnt
trigger
output
counting
gray
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 200310116620
Other languages
English (en)
Inventor
李斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 200310116620 priority Critical patent/CN1622464A/zh
Publication of CN1622464A publication Critical patent/CN1622464A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulation Of Pulses (AREA)

Abstract

本发明公开了两种输出格雷码计数的方法及计数器,输出N(N>1)位格雷码,包括N+1个触发器CNT[N:0];其中触发器CNT[0]在每个计数时钟沿反向;当触发器CNT[0]为1(或0)时,触发器CNT[1]在计数时钟沿反向;触发器CNT[M-1]为1(或0),触发器CNT[0]到触发器CNT[M-2]全为0(或1),触发器CNT[M]在计数时钟沿反向(1<M<N);触发器CNT[0]到触发器CNT[N-2]全为0(或1),触发器CNT[N]在计数时钟沿反向。第N位触发器CNT[N]到第1位触发器CNT[1]输出的即是N位格雷码计数输出。本发明的格雷码计数器输出计数值在相邻码元之间变化时不会出现中间过渡状态,所用触发器资源极少,可以很方便地实现正向及反向计数。

Description

输出格雷码计数的方法及其计数器
技术领域
本发明涉及微电子技术领域的输出格雷码计数的方法及其计数器。
背景技术
目前微电子领域如电子计算机等内部都是使用二进制编码计数器,包括自然码计数器与格雷码计数器。
自然码是我们常用的计数编码,每次作加1运算时,可能有多个编码位发生变化。下表为一个3位自然码编码格式:
    Q2     Q1     Q0
    0     0     0
    0     0     1
    0     1     0
    0     1     1
    1     0     0
    1     0     1
    1     1     0
    1     1     1
该编码存在的一个缺点就是在相邻编码间可能有多个编码位发生变化。由于各编码位编发时间存在差别,就有可能出现错误的中间态。比如说,上表计数值从011变化到100时,由于三个比特都发生变化,若比特2最先变化,然后比特1变化,最后比特0变化,就有可能出现111、101两个我们并不希望得到的中间态。比如说,如果我们用组合逻辑判断,当计数到111时引爆炸弹,那么实际上可能在计数值从011变化到100时,由中间态111误触发而引爆炸弹。
格雷码是一种做加1运算时,只变化一位的编码,下表即为一个三位格雷码编码格式:
    Q2     Q1     Q0
    0     0     0
    0     0     1
    0     1     1
    0     1     0
    1     1     0
    1     1     1
    1     0     1
    1     0     0
由于相邻码元之间只有一个比特发生变化,不会出现错误的中间态,在工程领域具有很强的使用价值。
通常由自然码转换得到格雷码的方法如下:
对于一个N比特的计数器,该方法直接对其进行N比特的自然码计数,得到计数值CNT[N-1:0];然后将CNT右移一位,高位补0得到CNT_SFT[N-1:0];最后将CNT[N-1:0]与CNT_SFT[N-1:0]按位异或,得到格雷码GCNT[N-1:0]。
用该方实现3比特格雷码计数器的过程如下:
    CNT[2:0]   CNT_SFT[2:0]     GCNT[2:0]
    000     000     000
    001     000     001
    010     001     011
    011     001     010
    100     010     110
    101     010     111
    110     011     101
    111     011     100
该方法的格雷码是由自然码转换得到的,由于自然码计数过程中存在中间态,因而得到的格雷码也会出现中间态。比如说,上表中自然码从011变化为100时若出现中间态111,那么,格雷码从010变化到110时也会出现中间态100。
若在计数时钟边缘对格雷码进行一次锁存可以消除格雷码的中间态,但会多用一倍的触发器资源。
发明内容
本发明公开了一种输出格雷码计数的方法及计数器,可以克服
现有技术的缺陷。
本发明的目的是这样实现的:一种输出格雷码计数的方法,输出N位格雷码,N为大于1的自然数,其特征在于:采用N+1个触发器CNT[N:0];其中
第0位触发器CNT[0]在每个计数时钟沿反向;
第1位触发器CNT[1],当第0位触发器CNT[0]为1时,第1位触发器CNT[1]在计数时钟沿反向;
第M位触发器CNT[M],M为大于1小于N的自然数,当第M-1位触发器CNT[M-1]为1,第0位触发器CNT[0]到第M-2位触发器CNT[M-2]全为0,第M位触发器CNT[M]在计数时钟沿反向;
第N位触发器CNT[N],当第0位触发器CNT[0]到第N-2位触发器CNT[N-2]全为0,第N位触发器CNT[N]在计数时钟沿反向;
第N位触发器CNT[N]到第1位触发器CNT[1]输出的即是N位格雷码计数输出。
可选地,所述输出计数值在每一个计数时钟沿变化,循环输出2n个计数值。
优选地,对最后的触发器CNT[0]赋初值1,对前N个触发器CNT[N:1]赋初值0,得到正向计数顺序的计数。
优选地,对首尾两个触发器CNT[N]、CNT[0]赋初值1,对中间N-1个触发器CNT[N-1:1]赋初值0,得到反向计数顺序的计数。
一种输出格雷码计数的方法,输出N位格雷码,N为大于1的自然数,其特征在于:采用N+1个触发器CNT[N:0];其中
第0位触发器CNT[0]在每个计数时钟沿反向;
第1位触发器CNT[1],当第0位触发器CNT[0]为0时,第1位触发器CNT[1]在计数时钟沿反向;
第M位触发器CNT[M],M为大于1小于N的自然数,当第M-1位触发器CNT[M-1]为0,第0位触发器CNT[0]到第M-2位触发器CNT[M-2]全为1,第M位触发器CNT[M]在计数时钟沿反向;
第N位触发器CNT[N],当第0位触发器CNT[0]到第N-2位触发器CNT[N-2]全为1,第N位触发器CNT[N]在计数时钟沿反向;
第N位触发器CNT[N]到第1位触发器CNT[1]输出的即是N位格雷码计数输出。
所述输出计数值在每一个计数时钟沿变化,循环输出2n个计数值。
本发明还提出一种格雷码计数器,输出N位格雷码,N为大于1的自然数,其特征在于:采用N+1个触发器CNT[N:0],其中
第0位触发器CNT[0]输出端经非门与其输入端相连接;
第1位触发器CNT[1],第0位触发器CNT[0]的输出端连接CNT[1]的使能端,CNT[1]输出端经非门与其输入端相连接;
第M位触发器CNT[M],M为大于1小于N的自然数;第0位触发器CNT[0]到第M-2位触发器CNT[M-2]的输出分别经非门与第M-1位触发器CNT[M-1]的输出一起输入第M与门,所述第M与门的输出连接所述第M位触发器CNT[M]的使能端;
第N位触发器CNT[N];第0位触发器CNT[0]到第N-2位触发器CNT[N-2]的输出分别经非门后输入第N与门,所述第N与门的输出连接第N位触发器CNT[N]的使能端;
第N位触发器CNT[N]到第1位触发器CNT[1]输出的即是N位格雷码计数输出。
本发明因为采用了上述技术方案,使得本发明公开的格雷码计数器输出计数值在相邻码元之间变化时不会出现中间过渡状态。利用触发器实现该计数器时,所用触发器资源极少,对于一个N位的格雷码计数器,只需要使用N+1个触发器。通过对计数器赋不同初值,可以很方便地实现正向及反向计数。
附图说明
图1是第0位触发器CNT[0]的逻辑电路图;
图2是第1位触发器CNT[1]的逻辑电路图;
图3是第M位触发器CNT[M]的逻辑电路图;
图4是第N位触发器CNT[N]的逻辑电路图;
图5是本发明输出3位格雷码的实施例电路图。
具体实施方式
下面结合附图和实施例对本发明作进一步的阐述:
对于输出N位格雷码的格雷码计数器,设置N+1个触发器CNT[N:0],根据需要得到的计数系列,可以对其赋不同的初值。在此,N为大于1的自然数。
如图1所示,第0位触发器CNT[0]输出端经非门与其输入端相连接,使第0位触发器CNT[0]在每个计数时钟沿反向。
如图2所示为第1位触发器CNT[1],第0位触发器CNT[0]的输出端连接CNT[1]的使能端,CNT[1]输出端经非门与其输入端相连接;
若第0位CNT[0]为1(或0),第1位触发器CNT[1]在计数时钟沿反向。
如图3所示为第M位触发器CNT[M],M为大于1小于N的自然数,第0位触发器CNT[0]到第M-2位触发器CNT[M-2]的输出分别经非门与第M-1位触发器CNT[M-1]的输出一起输入第M与门,所述第M与门的输出连接所述第M位触发器CNT[M]的使能端;
若第M-1位触发器CNT[M-1]为1(或0),第0位触发器CNT[0]到第M-2位触发器CNT[M-2]全为0(或1),第M位触发器CNT[M]在计数时钟沿反向,在此,1<M<N。
如图4所示为第N位触发器CNT[N],第0位触发器CNT[0]到第N-2位触发器CNT[N-2]的输出分别经非门后输入第N与门,所述第N与门的输出连接第N位触发器CNT[N]的使能端;
若第0位触发器CNT[0]到第N-2位触发器CNT[N-2]全为0(或1),第N位触发器CNT[N]在计数时钟沿反向。
第N位触发器到第1位触发器CNT[N:1]的输出即为N位的格雷码计数输出。
各触发器的输出计数值在每一个计数时钟沿变化,循环输出2n个计数值。
当对最后的触发器(CNT[0])赋初值1,对前N个触发器(CNT[N:1])赋初值0,得到的计数顺序是正向计数。
当对首尾两个触发器(CNT[N]、CNT[0])赋初值1,对中间N-1个触发器(CNT[N-1:1])赋初值0,得到的计数顺序是反向计数。
对于一个3位的格雷码计数器,计数输出格雷码系列实例如下(按上述各触发器括号“( )”外的描述实施):
1、若CNT[3:0]赋初置为0001,则输出的格雷码计数系列为CNT[3:1]=000->001->011->010->110>111->101->100->000。这就是我们常用的正向计数。
2、若CNT[3:0]赋初置为1001,则输出的格雷码计数系列为CNT[3:1]=100->101->111->110->010>011->001->000->100。这就是我们常用的反向计数。
在计数时钟沿,通过对计数器初置的识别,可以判断格雷码计数器各比特的计数是否反向。
本发明的一个3位格雷码计数器的实施例电路图如图5所示,输出的格雷码系列为000->100->101->111->110->010>011->001->000。

Claims (7)

1、一种输出格雷码计数的方法,输出N位格雷码,N为大于1的自然数,其特征在于:采用N+1个触发器CNT[N:0];其中
第0位触发器CNT[0]在每个计数时钟沿反向;
第1位触发器CNT[1],当第0位触发器CNT[0]为1时,第1位触发器CNT[1]在计数时钟沿反向;
第M位触发器CNT[M],M为大于1小于N的自然数,当第M-1位触发器CNT[M-1]为1,第0位触发器CNT[0]到第M-2位触发器CNT[M-2]全为0,第M位触发器CNT[M]在计数时钟沿反向;
第N位触发器CNT[N],当第0位触发器CNT[0]到第N-2位触发器CNT[N-2]全为0,第N位触发器CNT[N]在计数时钟沿反向;
第N位触发器CNT[N]到第1位触发器CNT[1]输出的即是N位格雷码计数输出。
2、根据权利要求1所述的输出格雷码计数的方法,其特征在于,所述输出计数值在每一个计数时钟沿变化,循环输出2n个计数值。
3、根据权利要求1或2所述的输出格雷码计数的方法,其特征在于:对最后的触发器CNT[0]赋初值1,对前N个触发器CNT[N:1]赋初值0,得到正向计数顺序的计数。
4、根据权利要求1或2所述的输出格雷码计数的方法,其特征在于:对首尾两个触发器CNT[N]、CNT[0]赋初值1,对中间N-1个触发器CNT[N-1:1]赋初值0,得到反向计数顺序的计数。
5、一种输出格雷码计数的方法,输出N位格雷码,N为大于1的自然数,其特征在于:采用N+1个触发器CNT[N:0];其中
第0位触发器CNT[0]在每个计数时钟沿反向;
第1位触发器CNT[1],当第0位触发器CNT[0]为0时,第1位触发器CNT[1]在计数时钟沿反向;
第M位触发器CNT[M],M为大于1小于N的自然数,当第M-1位触发器CNT[M-1]为0,第0位触发器CNT[0]到第M-2位触发器CNT[M-2]全为1,第M位触发器CNT[M]在计数时钟沿反向;
第N位触发器CNT[N],当第0位触发器CNT[0]到第N-2位触发器CNT[N-2]全为1,第N位触发器CNT[N]在计数时钟沿反向;
第N位触发器CNT[N]到第1位触发器CNT[1]输出的即是N位格雷码计数输出。
6、根据权利要求5所述的输出格雷码计数的方法,其特征在于,所述输出计数值在每一个计数时钟沿变化,循环输出2n个计数值。
7、一种格雷码计数器,输出N位格雷码,N为大于1的自然数,其特征在于:采用N+1个触发器CNT[N:0],包括:
第0位触发器CNT[0]输出端经非门与其输入端相连接;
第1位触发器CNT[1],第0位触发器CNT[0]的输出端连接CNT[1]的使能端,CNT[1]输出端经非门与其输入端相连接;
第M位触发器CNT[M],M为大于1小于N的自然数;第0位触发器CNT[0]到第M-2位触发器CNT[M-2]的输出分别经非门与第M-1位触发器CNT[M-1]的输出一起输入第M与门,所述第M与门的输出连接所述第M位触发器CNT[M]的使能端;
第N位触发器CNT[N],第0位触发器CNT[0]到第N-2位触发器CNT[N-2]的输出分别经非门后输入第N与门,所述第N与门的输出连接第N位触发器CNT[N]的使能端;
第N位触发器CNT[N]到第1位触发器CNT[1]输出的即是N位格雷码计数输出。
CN 200310116620 2003-11-27 2003-11-27 输出格雷码计数的方法及其计数器 Pending CN1622464A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200310116620 CN1622464A (zh) 2003-11-27 2003-11-27 输出格雷码计数的方法及其计数器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200310116620 CN1622464A (zh) 2003-11-27 2003-11-27 输出格雷码计数的方法及其计数器

Publications (1)

Publication Number Publication Date
CN1622464A true CN1622464A (zh) 2005-06-01

Family

ID=34760706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200310116620 Pending CN1622464A (zh) 2003-11-27 2003-11-27 输出格雷码计数的方法及其计数器

Country Status (1)

Country Link
CN (1) CN1622464A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102497198A (zh) * 2011-12-15 2012-06-13 电子科技大学 一种格雷码双边沿触发计数器
CN102916691A (zh) * 2012-11-06 2013-02-06 南通大学 基于可逆逻辑的bcd码十进制计数器
CN104766121A (zh) * 2015-03-13 2015-07-08 东莞捷荣技术股份有限公司 一种计数码盘
CN105653238A (zh) * 2015-12-08 2016-06-08 沈阳东软医疗系统有限公司 一种计时方法及装置
CN108055034A (zh) * 2018-01-08 2018-05-18 北京大学(天津滨海)新代信息技术研究院 一种异步格雷码计数器
CN108880531A (zh) * 2018-07-09 2018-11-23 电子科技大学 一种偶数次格雷码计数器电路
CN110299920A (zh) * 2018-03-22 2019-10-01 三星电子株式会社 格雷码生成器
CN112087227A (zh) * 2019-06-13 2020-12-15 豪威科技股份有限公司 格雷码计数信号分布系统

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102497198B (zh) * 2011-12-15 2014-02-12 电子科技大学 一种格雷码双边沿触发计数器
CN102497198A (zh) * 2011-12-15 2012-06-13 电子科技大学 一种格雷码双边沿触发计数器
CN102916691A (zh) * 2012-11-06 2013-02-06 南通大学 基于可逆逻辑的bcd码十进制计数器
CN102916691B (zh) * 2012-11-06 2015-06-24 南通大学 基于可逆逻辑的bcd码十进制计数器
CN104766121B (zh) * 2015-03-13 2017-09-22 康凯 一种计数码盘
CN104766121A (zh) * 2015-03-13 2015-07-08 东莞捷荣技术股份有限公司 一种计数码盘
CN105653238B (zh) * 2015-12-08 2018-10-02 沈阳东软医疗系统有限公司 一种计时方法及装置
CN105653238A (zh) * 2015-12-08 2016-06-08 沈阳东软医疗系统有限公司 一种计时方法及装置
CN108055034A (zh) * 2018-01-08 2018-05-18 北京大学(天津滨海)新代信息技术研究院 一种异步格雷码计数器
CN108055034B (zh) * 2018-01-08 2021-05-25 北京大学(天津滨海)新一代信息技术研究院 一种异步格雷码计数器
CN110299920A (zh) * 2018-03-22 2019-10-01 三星电子株式会社 格雷码生成器
CN110299920B (zh) * 2018-03-22 2023-07-21 三星电子株式会社 格雷码生成器
CN108880531A (zh) * 2018-07-09 2018-11-23 电子科技大学 一种偶数次格雷码计数器电路
CN108880531B (zh) * 2018-07-09 2020-02-18 电子科技大学 一种偶数次格雷码计数器电路
CN112087227A (zh) * 2019-06-13 2020-12-15 豪威科技股份有限公司 格雷码计数信号分布系统
CN112087227B (zh) * 2019-06-13 2022-08-26 豪威科技股份有限公司 格雷码计数信号分布系统

Similar Documents

Publication Publication Date Title
CN1122371C (zh) 用于通信系统的交织/解交织设备和方法
CN1121095C (zh) 用于通信系统的交织设备和方法
CN1503938A (zh) 乘法逻辑电路
CN1114996C (zh) 交错读出地址产生器
CN1622464A (zh) 输出格雷码计数的方法及其计数器
CN109587483A (zh) 码流提取模块
CN1132966A (zh) 树状结构二进制算术编码器
CN1678985A (zh) 反馈随机数生成方法和系统
CN1921316A (zh) 同相移位方式的制约竞争计数码电路
KR100203907B1 (ko) 병렬 데이타 비트 카운터
CN1531781A (zh) 一种产生霍夫曼代码长度信息的方法
CN1333947A (zh) 低功率计数器
CN1251414C (zh) 可变长度解码系统和方法
CN1855727A (zh) 具噪声整形功能的电路
CN1115782C (zh) 一种适用于宽字符集文档的压缩方法
CN1236622C (zh) 信息熵保持编码方法与装置
CN104536719B (zh) 一种用于变系数乘法器的并行伪csd编码器
CN1290002C (zh) 高速加法器
CN1176541C (zh) 用于提高乘积码译码速度的方法及译码装置
CN1236623C (zh) 信息熵保持解码方法与装置
CN1391728A (zh) 数/模转换方法和数/模转换器
CN215773085U (zh) 格雷码计数器电路
CN1133948C (zh) 二进制数据计数装置、面积信息取样装置和霍夫变换装置
CN1463497A (zh) 解码器、解码方法、查用表和解码程序
CN1770636A (zh) 一种组合编码器和组合解码器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication