一种基于格雷码计数器的低功耗非易失存储器电路
- 国知局
- 2024-07-31 20:01:20
本发明属于存储电路设计领域,尤其涉及一种基于格雷码计数器的低功耗非易失存储器电路。
背景技术:
1、非易失存储器(nvm)是一种新兴的存储器,非易失存储器在断电后依旧可以保存数据一段时间。典型的非易失存储器包括磁性随机存储器(mram),阻变随机存储器(rram)。非易失存储器存储密度高、静态功耗低,但是写速度低和耐久性低。非易失存储器进行写入操作时,每进行一次比特翻转就会消耗一定的能量与减少一定的使用寿命,在诸如针对伺服电机的编码器这一类经常会涉及到对数据进行加减1操作的场景下,这种场景下如果仍然使用二进制编码写入的方式,大多数时候每次写入时将会涉及到多个比特的翻转,这会提高写入功耗,降低存储器的使用寿命。
技术实现思路
1、本发明的目的是提供一种基于格雷码计数器的低功耗非易失存储器,针对伺服电机的编码器等涉及到计数存储的场景,使用格雷编码可以使得仅翻转一位比特即可完成数据的写入,相比于普通二进制码而言降低了比特翻转的数量,降低了非易失存储功耗,提高了非易失写入速度与使用寿命。
2、本发明提供了一种基于格雷码计数器的低功耗非易失存储器电路。主要包括以下模块:包括以下模块:控制模块、格雷码计数器、非易失存储器;
3、所述控制模块控制格雷码计数器与非易失存储器之间的通信;非易失存储器为磁性随机存储器或阻变随机存储器或铁电随机存储器;
4、所述格雷码计数器接收来自控制模块的使能信号cnt_en与计数方向选择信号cnt_mode,使能信号cnt_en对格雷码计数器进行使能,从非易失存储器中读出需要进行操作的数据;通过使用计数方向选择信号cnt_mode决定对取出的数据进行加1或减1操作;选择输出计数溢出标志cnt_spill至控制模块,表明数据是否溢出;
5、非易失存储器接收来自控制模块的使能信号mem_en决定是否使能非易失存储器,通过非易失存储器x地址信号mem_xadr及非易失存储器y地址信号mem_yadr提供读写地址,非易失存储器按照给出的读写地址为格雷码计数器提供数据以及写入数据。
6、格雷码计数器内还包含一个寄存器用以存储上一状态的格雷码a,完成一次计算后,格雷码计数器会将当前状态的格雷码b存储到寄存器当中,作为下次计算时的格雷码a使用;
7、格雷码计数器对取出的数据进行加1或减1操作具体如下:
8、加1计数:当使能信号cnt_en = 1,计数方向选择信号cnt_mode = 1时执行格雷码加1操作,利用上一状态的格雷码以及当前状态的格雷码得出下一状态的格雷码,假设格雷码总共有n位,则计算过程如下:
9、加1计数:当使能信号cnt_en = 1,计数方向选择信号cnt_mode = 1时执行格雷码加1操作,利用上一状态的格雷码以及当前状态的格雷码得出下一状态的格雷码,假设格雷码总共有n位,i表示格雷码的第i位,则计算过程如下:
10、;
11、 ;
12、 ;
13、 ;
14、其中,代表同或符号,表示两个操作数之间做同或,代表取反,表示对操作数进行取反的操作,是一个条件运算符,其中当时取,否则取,是与运算符,表示两个操作数之间进行相与,是或运算符,表示下一状态格雷码的第i位,表示上一状态格雷码的第i位,表示当前状态格雷码的第i位;表示取位数为第0位到第i-2位的,表示取位数为第0位到第n-3位的;
15、减1计数:当cnt_en = 1,cnt_mode = 0时执行格雷码减1操作,除最高位比特外,其它位比特的计算方式与加1计数时操作相同,因此只给出最高位比特的计算方式:
16、<msub><mi>c</mi><mi>n-1</mi></msub><mi>=</mi><mrow><mrow><msub><mi>b</mi><mi>n-1</mi></msub><mi>⊙</mi><msub><mi>b</mi><mi>n-2</mi></msub></mrow></mfenced><mi>&~(|b[n-3:0])</mi></mrow></mfenced><mi>?~</mi><msub><mi>b</mi><mi>n-1</mi></msub><mi>:</mi><msub><mi>b</mi><mi>n-1</mi></msub>
17、格雷码计数器在进行加减1操作时,当格雷码由其能表示的最大值跳变为最小值或者由最小值跳变为最大值时,将计数溢出标志cnt_spill置1,通过cnt_spill=1的方式告知控制模块发送了计数溢出的情况。
18、通过上述计算方式,无需格雷码与二进制码互译的编码器,直接就可以在格雷码的基础上就完成加减1的操作,降低了电路的复杂程度与时间延迟,同时有利于降低写入时的比特翻转数量。
19、溢出记录功能:使用cnt_spill作为计数溢出标志,进行加减1操作时,当格雷码由其能表示的最大值跳变为最小值或者由最小值跳变为最大值时,将计数溢出标志cnt_spill置1,表示计数溢出。
20、各个模块之间的工作流程为:
21、当需要进行数据的加减时,控制模块拉高cnt_en信号,使能格雷码计数器,同时给出cnt_mode,决定格雷码计数器进行加操作或者减操作,在此周期内控制器模块还会将mem_en信号拉高,同时给出读地址,格雷码计数器在下个周期取出非易失存储器内的数据,并对其进行加减操作,完成后,控制模块给出写地址,格雷码计数器将完成加减操作之后的数据写入非易失存储器。
22、本发明的有益效果如下:具有间歇性计数要求的场景,会频繁对数据进行加减操作,同时由于间歇性和功耗要求,必须采用非易失存储器以降低读写功耗以及避免数据丢失。此时,通常存储在非易失存储器中的数据是以二进制码形式进行存储的这种存储方式导致在进行数据写入时经常会发生多个比特都需要进行翻转的情况,对于flash(闪存),eprom(可擦除可编程只读存储器)等非易失存储器来说,写入时比特翻转的数量并不会影响他们的写入功耗以及耐久性,但对于新型非易失存储器,如mram(磁性随机存储器),rram(阻变随机存储器)等,由于写入时涉及到改变器件状态,因此降低写入时比特翻转数量可以有效降低其写入功耗,提高其写入速度以及提高其使用寿命。通过使用格雷码代替二进制码,使得每次写入时只需要翻转单个比特,以达到降低非易失存储器写入功耗,同时提高了写入速度和使用寿命的目的。
本文地址:https://www.jishuxx.com/zhuanli/20240731/185065.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表