原创 FPGA资源优化一则

2014-11-8 11:36 472 4 4 分类: FPGA/CPLD

群里突然有人发问优化代码段:

module youhua(input a,
input b,
input c,
input d,
input sel,
output /*reg*/ [1:0] sum);
always @(a,b,c,d,sel)
if(sel)
sum = a+b;
else sum = c+d;
 
很早之前就看到了类似的题目,好像也是面试题,所以我很快就想到了减少加法器。
但是群里有人说用assign sum = sel? (a+b)c+d);代替上面的always块,
我觉得很奇怪,这样跟上面的完全没有什么两样,起不到任何优化的效果
qq图片20141108111717.jpg
我想到的是用多路选择器选择a,b,c,d然后接入加法器:
reg a_r,b_r;
always @(a,b,c,d,sel)
if(sel)
begin
a_r <= a;
b_r <= b;
end
else begin
a_r <= c;
b_r <= d;
end
assign sum = a_r + b_r;
RTL如下
qq图片20141108105950.jpgqq图片20141108110253.jpg

文章评论0条评论)

登录后参与讨论
相关推荐阅读
htbadboy_451650020 2015-12-08 19:47
CycloneIV的上电之AS配置
       最早看到相关的知识是在coyoo的博客上看见的控制FPGA上电、配置以及初始化时http://bbs.ednchina.com/BLOG_ARTICLE_276249.HTM, ...
htbadboy_451650020 2015-03-12 11:30
异步时钟域的电平同步器
最近一直在看异步时钟域的亚稳态问题,有好多疑问   从简单的电平同步器开始,如上图。 假设clk2 = 1.5clk1(或者更高),用clk2来同步clk1的单bit da...
htbadboy_451650020 2014-10-09 16:27
cyclone ii的M4K应用
     无意中看到compilation report-filter ram summary,看到了M4K的使用情况,工程里用到了4个fifo,两块ram,     256*8...
htbadboy_451650020 2014-09-25 09:32
altera的EPCS选型
    最近公司领导突然说要将以前的FPGA配置芯片换成EPCS系列,涉及到了器件选型,由于行业原因,不会用到高端FPGA,选用的cycloneii的EP2C5系列的,查了下手册,配置文件.rbf...
广告
我要评论
0
4
1
2
3
4
5
6
7
8
9
0
广告
关闭 热点推荐上一条 /6 下一条