既然RTL是以寄存器行为为基础,那么就必须先了解寄存器是什么,并且掌握使用寄存器做设计需要注意的事项。
寄存器从字面看,就是一个容器,将可能随时发生变化的数据存起来,确保变化不会影响到保存的数据。这个行为与“数字电路设计”中提到的D触发器行为一致,一般来说由输入数据信号D、输出数据信号Q以及边沿触发信号CLK组成。其实就是D触发器(D Flip-Flop,简称DFF)。
下图所示是一个上升沿触发寄存器常见的电路元件图形,其中CLK输入有个箭头的形状,表示边沿触发。其工作行为,由时序图所示,当CLK上升沿触发电路状态的变化,则D端输入的信号被采集并输出到Q端。如果没有CLK上升沿触发电路,则输出信号Q保持不变。以波形图t1变化为例,第2个CLK上升沿后,D端数据发生变化,但变化并不会直接传输到Q的输出上,而必须等到第3个CLK上升沿,D端的变化才会被更新到Q的输出。
常用的寄存器类型
实际在设计电路时,寄存器主要有以下几种类型:
- 上升沿触发寄存器
- 下降沿触发寄存器
- 带异步复位(高电平有效)的上升沿触发寄存器
- 带异步置位(高电平有效)的上升沿触发寄存器
- 带异步复位(高电平有效)的下降沿触发寄存器
- 带异步置位(高电平有效)的下降沿触发寄存器
- 带异步复位(低电平有效)的上升沿触发寄存器
- 带异步置位(低电平有效)的上升沿触发寄存器
- 带异步复位(低电平有效)的下降沿触发寄存器
- 带异步置位(低电平有效)的下降沿触发寄存器。
虽然寄存器种类很多,而且多数一般的标准单元库[1]都会涵盖这些寄存器类型。但考虑到电路的可靠性,以及可测试性设计(参考可测试性设计部分)的需要, 建议在设计电路时只使用带异步复位或异步置位(低电平有效)的上升沿触发寄存器 。
所谓异步复位或异步置位,就是当该信号有效时,Q端输出立刻输出为低电平或高电平,而不用边沿信号驱动。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
寄存器
+关注
关注
30文章
5028浏览量
117719 -
RTL
+关注
关注
1文章
377浏览量
59064 -
D触发器
+关注
关注
2文章
147浏览量
47378 -
异步复位
+关注
关注
0文章
45浏览量
13251 -
CLK
+关注
关注
0文章
122浏览量
16908
发布评论请先 登录
相关推荐
32位寄存器,32位寄存器是什么意思
32位寄存器,32位寄存器是什么意思
从X8086开始学了一年,第一个ASM的程序就是变32换16进制的程序,不过现在叫我从新开始写ASM程
发表于 03-08 17:26
•1.7w次阅读
移位寄存器怎么用_如何使用移位寄存器_移位寄存器的用途
移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。本文主要介绍了移位寄存器的用途以及移位寄存器
发表于 12-22 15:49
•1.9w次阅读
GPIO寄存器
每组IO口有10个寄存器组成,如果芯片有GPIOA~GPIOI,9个组那么一共有90个寄存器如果配置一个IO口需要2个位,那么刚好32位寄存器配置一组IO口16个IO口如果配置一个IO
发表于 12-08 17:06
•5次下载
不同思路的寄存器分配算法
需要注意的是,我们后续的算法会作用在最普通的四元式上,而不是SSA。在介绍寄存器分配算法之前,我们需要活跃变量分析来构建干涉图。
16位寄存器数据范围 32位寄存器数据范围 数据寄存器多少位怎么算
在单片机编程中,32 位寄存器常用于存储较大的整数或用于进行计数、计时等操作。需要注意的是,有些单片机的寄存器可能会在数据范围上有所不同,具体使用时需要查看相关单片机的技术手册或数据手
发表于 03-31 18:00
•7161次阅读
评论