既然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端输出立刻输出为低电平或高电平,而不用边沿信号驱动。
-
寄存器
+关注
关注
31文章
5334浏览量
120208 -
RTL
+关注
关注
1文章
385浏览量
59752 -
D触发器
+关注
关注
3文章
164浏览量
47896 -
异步复位
+关注
关注
0文章
47浏览量
13311 -
CLK
+关注
关注
0文章
127浏览量
17154
发布评论请先 登录
相关推荐
评论