集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1367|回复: 3

帮忙看看程序

[复制链接]
wangxia6112 发表于 2011-3-2 09:51:04 | 显示全部楼层 |阅读模式
always @(posedge clk40m)
begin
        caladdata0[15:12]<=4'h0;
        caladdata0[11:0]<=(adw==0)?((laddata[11:0]-cz)*(f_st+cf))/f_base+ad_bipf:caladdata0[11:0];
                                                  //(caladdata[11:0]>ad_unif)?ad_unif:
                                                  //(caladdata[11:0]<0)?0:caladdata[11:0];
end

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

请高手给提个建议。
至芯汪老师 发表于 2011-3-3 10:17:55 | 显示全部楼层
真正设计中, 不要用这样的写法。对应电路是有多个优先级的逻辑运算。

完全可以展开写,那么。。。 你懂得。
至芯项老师 发表于 2011-3-3 10:39:34 | 显示全部楼层
汪老师说的对,你这么写在实际电路上不容易实现,写代码的时候想一想对应的电路。不能照C代码的风格写。
 楼主| wangxia6112 发表于 2011-3-4 16:26:16 | 显示全部楼层
感谢楼上两位的建议,我后来采用了状态机来实现,效果有所改善。
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-5-5 14:57 , Processed in 0.074291 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表