基于FPGA的双边沿触发实现
双边沿触发的实现不仅可以解决单边沿触发系统的时钟冗余跳变引起的功率浪费问题,而且在保证与单边沿触发系统同样的数据吞吐量情况下,时钟频率降低 50%,或在同样的时钟频率下,系统的数据吞吐量提升 100%。
对于双边沿触发系统的实现方法主要有以下两种。一种是以双边沿触发器的实现为着眼点,如文献[1]设计的高性能半静态双边沿 D 触发器。另一种是从倍频时钟源为着眼点,如文献[2]通过基于 RC 电路的双边沿触发的单稳态触发器来实现时钟源倍频的。对于第一种方法,文献[3]详细比较了双边沿触发器与单边沿触发器在同等条件下的时延、功耗、晶体管数目等指标,指出双边沿触发器如果设计不当,会带来版图面积大的弊端,从而失去其在延时和功耗方面的优势[3]。第二种时钟倍频的方法可以在不改变既有系统结构的情况下实现双边沿触发系统。这对使用 CPLD/FPGA 进行数字系统开发而言具有普遍的指导意义。本文切合 FPGA 开发的特点有针对性的提出了倍频时钟的方法: 延时法、单稳态触发器法、采样法,实现了系统的双边沿触发。
1 双边沿触发的实现
1.1 延时法
延时法的基本思想是利用门电路的传输延时来模拟文献[2]中 RC 电路的延时来实现的。具体如图 1b 所示,时钟 CLK 与移相后的 CLK( D_CLK) 异或后就生成了 O_CLK。可见 O_CLK 在CLK 时钟的上升沿与下降沿处分别产生了一个与 CLK 同步的正脉冲,从而实现了 CLK 的倍频。系统的双边沿触发也实现了。
1.1.1 门电路延时法
图 1a 中利用一个与门来实现 CLK 信号的延时。HDL 综合器总会执行:公式
可见,失去延时与门后,O_CLK 总为低电平。使用下面的声明语句可以让综合器保留用做延时的与门。
图 2 为利用与门电路延时法实现的时钟倍频RTL 电路。在图中与门的位置出现了一个 BUF( LCELL) 器件,可见 LCELL 是 ALTERA 公司 FP-GA 中默认的延时单元( 原语,Primitive) 。所以,可以考虑延时单元直接使用 BUF( LCELL) 器件来实现。
1.1.2 LCELL 延时法
作为 ALTERA 公司 FPGA 器件中的一个延时组件,LCELL 在 FPGA 器件中是通过穿过一个LUT 来实现。同样的,为了避免 LCELL 被综合器优化掉,需要对 Quartus II 软件中的两个选项进行设置。“Remove redundant logic cells”项 设 为“off”,“Ignore LCELL buffers”项设为“off”。
声明 LCELL 的语句如下:
component lcell
port ( a_out: out STD_LOGIC;
a_in: in STD_LOGIC) ; end component;
在图 1a 的与门位置例化一个 LCELL 即可实现2.1同样的电路功能。
相关文章
- 2024-10-15分析弹性支承输流管道的失稳临界流速
- 2024-01-02提高工程力学专业研究生创新能力的探究
- 2024-05-27车辆动态称重技术现状及典型动态称重方法的探讨
- 2022-06-24基于PCIE/104总线的高速数据接口设计
- 2024-08-21曲面曲率精简算法研究
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。