数字芯片设计流程之verilog设计

数字芯片设计流程:

功能验证之前与工艺库没多大联系,验证芯片设计的功能是否正确,针对抽象的代码进行功能验证理想值。

一致性验证确保生成的网表和代码设计功能一致;DFT之后是数字后端。

静态时序分析,从逻辑综合开始拿给后端,确保每一个阶段没有问题。

后仿真,证明加入延迟后功能是否正确。

一、verilog设计

可综合语句四大关键字:always、if-else、assign、case

1、if-else通常被逻辑综合工具映射为多路选择器Multiplex。

重构if-else映射硬件结构代码,减少加法器能减少硬件面积,但是会增加控制语句的延时。

单if语句会被映射为无优先级的判断结构,主要描述多条件判断结构。(if-elseif-elseif)

多if语句被映射为具有优先级的判断结构,具有优先级的多选结构会消耗组合逻辑,不推荐使用。在设计中要求某些信号先到达(关键使能信号、选择信号),有些信号需要后到达(慢速信号、有效时间长的信号),此时需要if-if结构。

2、case:无优先级的判断结构

与单if语句条件互斥,多用于指令译码电路。

3、latch:慎用

一般只有异步电路和门控时钟时候使用。

latch由电平触发,非同步控制;DFF由时钟沿触发,同步控制。latch容易产生毛刺,DFF不易产生毛刺。

不完备的条件判断语句产生latch:if缺少else,case缺少default。

4、full-case和parallel-case原语

full-case:告诉综合器,当前case结构所列条件已完备,避免latch。

parallel-case:如果case条件不互斥,用这条原语告诉DC,所有条件均互斥,且并行,无优先权。

5、逻辑复制:均衡负载

通过逻辑复制,降低关键信号的扇出,进而降低该信号的传播延迟,提高电路性能。

资源顺序重排:降低传播延时。

改进:

面积与速度的互换、乒乓操作、流水线操作

乒乓操作

猜你喜欢

转载自blog.csdn.net/qq_34849963/article/details/107498054