综合实例_Verilog设计与逻辑综合实例解析(可综合RTL)

//源自微信公众号 “数字芯片实验室”

本文介绍了一些代码中可能存在的可综合 “陷阱”。

只有输入,没有输出的模块将会综合成什么?

仅有输入且无输出的模块将会被综合成没有逻辑的模块。

为什么在综合出的逻辑中看到锁存器?

有很多原因会导致在综合出的逻辑中存在锁存器。通常在综合工具的日志中都有详细的说明。

1、always语句块中的if-else子句没有最终的else子句,并且没有初始值。

2、case语句块中没有default子句,并且在进入case语句块中没有被赋初始默认值。

什么是“组合时序环(combinatorial timing loops)”?为什么要避免?

combinatorial timing loops是指一个门或者很长的组合逻辑输出被反馈作为其中一个门的输入。这些路径通常是由于大的组合逻辑块中一个信号驱动同一个组合逻辑块中的另一个信号。

这些组合反馈回路是不被需要的:

1、由于组合反馈回路中没有时钟来打断路径,所以组合逻辑环将无限振荡

,其占空比取决于组合路径上的延迟。例如,以下代码是组合逻辑环:

 assign out1 = out1 & in1 ;

这将导致out1作为其中一个组合逻辑输入。

这些循环会导致可测试性的问题。

可以通过以下手段在早期发现组合逻辑环:

1、在使用HDL语言设计过程

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值