wangxia6112 发表于 2011-3-2 09:51:04

帮忙看看程序

always @(posedge clk40m)
begin
        caladdata0<=4'h0;
        caladdata0<=(adw==0)?((laddata-cz)*(f_st+cf))/f_base+ad_bipf:caladdata0;
                                                  //(caladdata>ad_unif)?ad_unif:
                                                  //(caladdata<0)?0:caladdata;
end

发现第5行和第6行加上和去掉结果都一样,好像这个条件就没用似地。

请高手给提个建议。

至芯汪老师 发表于 2011-3-3 10:17:55

真正设计中, 不要用这样的写法。对应电路是有多个优先级的逻辑运算。

完全可以展开写,那么。。。 你懂得。

至芯项老师 发表于 2011-3-3 10:39:34

汪老师说的对,你这么写在实际电路上不容易实现,写代码的时候想一想对应的电路。不能照C代码的风格写。

wangxia6112 发表于 2011-3-4 16:26:16

感谢楼上两位的建议,我后来采用了状态机来实现,效果有所改善。
页: [1]
查看完整版本: 帮忙看看程序