数字集成电路设计-20-multi-cycle

本文介绍了数字集成电路设计中处理组合逻辑延迟大的一种方法——multi-cycle。通过一个具体的小实验,详细阐述了multi-cycle的工作机制、RTL实现、testbench验证,并提供了nc脚本和vflist,帮助理解如何在实际设计中应用multi-cycle来提高运行效率。
摘要由CSDN通过智能技术生成

引言

前面我们介绍了流水线的写法(http://blog.csdn.net/rill_zhen/article/details/45980039),流水线是数字设计中很常用的一种设计方法,可以提高运行频率,提高吞吐量。

如果组合逻辑延迟较大,一个时钟周期完成不了时,除了插入寄存器将组合逻辑拆分成流水线外,还可以采用multi-cycle的方式。

multi-cycle的工作机制很简单,从给定输入之后,等待多个周期之后,再去采样输出结果。

本小节我们将通过一个小实验来说明multi-cycle的具体RTL实现。


1,功能介绍

假设有某个模块,其计算量很大,以致延迟较大,一个周期完成不了,需要3个cycle才行。

假设时钟周期是10,这个模块的运算分为“加法,左移,减法”三个操作,分别用时7,8,9。


2,RTL实现

如果在数字设计时,遇到上述模块描述的情况时,可以考虑multi-cycle实现。

具体RTL如下:mc.v

其中关于状态机的写法,我们之前有专门介绍,如有疑问,请参考(http://blog

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值