在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2631|回复: 1

请教综合的问题

[复制链接]
发表于 2008-1-16 11:22:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
下面是一个用半加器&全加器级联成一个加法器的小程序
在synopsys dc 却elaborate不了
显示error:indexing into a non-array variable is not supported to 'L[]'
请问是怎么回事?怎么解决?

另外我想问下实现一些算法需要二维数组的,verilog也支持,但是好象综合不了,请问有什么方法修改这样的代码,可使它综合并且对原来程序修改较少?
谢谢!

程序如下:
module adder_rc (a,b,y);
   
    parameter WIDTH = 4;
   
    input [WIDTH-1:0] a;
    input [WIDTH-1:0] b;
    output y;
   
    reg [WIDTH-1:0] y;
    reg [WIDTH-1:0] carry;
    integer i;
   
    always @(a or b)  
    begin
        
        y=0;
        carry=0;
        i=0;
        
        y[0]=half_adder_sum(a[0],b[0]);
        carry[0]=half_adder_cout(a[0],b[0]);
        
        for (i=1; i<=WIDTH-1; i=i+1)
        begin
            y=full_adder_sum(a,b,carry[i-1]);
            carry=full_adder_cout(a,b,carry[i-1]);
        end
    end
   
    function half_adder_sum;
        input a;
        input b;
        begin
            half_adder_sum=a^b;
        end
    endfunction
   
    function half_adder_cout;
        input a;
        input b;
        begin
            half_adder_cout=a&b;
        end
    endfunction
   
    function full_adder_sum;
        input a;
        input b;
        input cin;
        begin
            full_adder_sum=a^b^cin;
        end
    endfunction
   
    function full_adder_cout;
        input a;
        input b;
        input cin;
        begin
            full_adder_cout=(a&b)|(a&cin)|(b&cin);
        end
    endfunction
endmodule
 楼主| 发表于 2008-1-18 10:34:52 | 显示全部楼层
怎么都没人回答我的问题额。。。
555~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-16 23:54 , Processed in 0.020980 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表