FPGA综合编码

1 判决树

在FPGA中判断使用if else语句以及case实现。

a) if else 是有特权的,类似于优先编码(当两个条件同时成立,仅判断条件靠前的成立),所以当有特权条件时应该采用if else结构,对于并行的if条件语句其特权顺序恰好与if else 相反。

b) case 语句常常(不总是)用在所有条件互不相容的条件下进行的。但是默认条件下case依然是有特权的,编译器会选择附加逻辑产生特权逻辑。如果我们确定条件是互斥的,那么我们可以利用编译伪指令‘parallel_case’来实现完全并行结构。

c)  对于case默认条件下当所有条件均不满足则保持当前值,我们也可以采用伪指令full_case来取消默认条件。

2 利用阻塞赋值可以模拟组合逻辑,非阻塞赋值可以模拟时序逻辑。但是不能把阻塞和非阻塞混合到一个always模块中。

3 for loop可以用来压缩某些功能一致的语句。

4 Idef应该为全局定义利用。

5 参数应该为局部利用,从模块到模块转换。

6 命名参数传递优于位置参数传递或者deparameter.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值