完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
逻辑复制与资源共享 本文节选自特权同学的图书《FPGA设计实战演练(逻辑篇)》 配套例程下载链接:http://pan.baidu.com/s/1pJ5bCtt 逻辑复制是一种通过增加面积来改善时序条件的优化手段。逻辑复制最主要的应用是调整信号的扇出。如果某个信号需要驱动的后级逻辑信号较多,换句话说,也就是其扇出非常大,那么为了增加这个信号的驱动能力,就必须插入很多级的Buffer,这样就在一定程度上增加了这个信号的路径延时。这时可以复制生成这个信号的逻辑,用多路同频同相的信号驱动后续电路,使平均到每路的扇出变低,这样不需要插入Buffer就能满足驱动能力增加的要求,从而节约该信号的路径延时。 资源共享和逻辑复制恰恰是逻辑复制的一个逆过程,它的好处就在于节省面积,同时可能也要以速度的牺牲为代价。(特权同学,版权所有) 看一个实例,如下: // Verilog例程 module example(sel, a, b, c, d, sum); input sel,a,b,c,d; output[1:0] sum; wire[1:0] temp1 = {1'b0,a}+{1'b0,b}; wire[1:0] temp2 = {1'b0,c}+{1'b0,d}; assign sum = sel ? temp1:temp2; endmodule 该代码综合后的视图如图5.12所示,和我们的代码表述的一致,有连个加法器进行运算,结果通过2选1选择器后输出给sum。(特权同学,版权所有)
5.12 两个加法器的视图 同样实现这个的功能,我们还可以这么编写代码: // Verilog例程 module example(sel, a, b, c, d, sum); input sel; input[7:0] a,b,c,d; output[7:0] sum; wire[7:0] temp1 = sel ? a:c; wire[7:0] temp2 = sel ? b:d; assign sum = temp1+temp2; endmodule 综合后的视图如图5.13所示,原先两个加法器我们现在用一个加法器同样可以实现。而原先的一个2选1选择器则需要4选2选择器(可能是两个2选1选择器来实现)替代。如果在设计中加法器资源更宝贵些,那么后面这段代码通过加法器的复用,相比前面一段代码更加节约资源。(特权同学,版权所有) |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
885个成员聚集在这个小组
加入小组4542 浏览 0 评论
特权同学 Verilog边码边学 Lesson01 Vivado下载与安装
2651 浏览 1 评论
玩转Zynq连载50——[ex69] FIR滤波器IP仿真实例
4347 浏览 2 评论
玩转Zynq连载49——[ex68] MT9V034摄像头的图像FFT滤波处理
5277 浏览 1 评论
玩转Zynq连载48——[ex67] Vivado FFT和IFFT IP核应用实例
5330 浏览 0 评论
1948浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 05:54 , Processed in 0.504784 second(s), Total 65, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号