尽可能避免在RTL中调用门级电路

随着功能复杂度的快速提升,对芯片的要求也是随着提高,所以现在一款芯片的开发,往往需要数十人,长达几个月的共同开发才能完成。
因为verilog hdl的语法相对开放,所以每个人开发的verilog hdl之间的差异也是非常的大。但是一个设计团队之间,进行rtl模块的交叉review、相互调用是非常频繁的事情,所以为了增强rtl代码的可移植性,以及review的效率,我们通常在一个项目开始的时候,会统一整理一个rtl编码规则,里面的内容包括,命名的规则、单词的缩略原则,一些标准电路的常用写法等等。往往这个编码规则会写的很具体,但是个人认为,这是非常有必要的。在前面的五篇文章中,我们已经聊了一些,今天的文章,我就继续来聊一聊一般常见的规则。
rtl推荐编码规则
门级电路的使用,我们一定要特别注意。在rtl编码过程中,很多时候我们出于时序或者其他的需要,可能需要调用门级电路,那么门级电路是不是真的那么好用,可以随意调用?答案不是的。
门级电路的特点是可读性不强,难于阅读,从而导致后期维护、修改的困难很大,我们来看一个门级电路的例子。
and u_2x2and (out, input1, input2);
上面就是一个与门电路的实例化调用,我们再来解释一下这个调用方式以及门级电路的含义,首先是门级电路的类型,紧接着是实例化名,括号里面是端口名,包括input端口和output端口。具体到这个例子就是,调用一个2输入与门and,实例化名是u_2x2and,括号里面包括output端口out,以及两个输入端口input1和input2,写成rtl的形式就是out = input1 & input2,另外需要注意的是,端口中的input端口和output端口的顺序一定要和所调用门级电路中的顺序相对应。
从上面的例子可以看出,门级电路在使用的时候,因为并没有逻辑表达式,只是调用工艺库或者其他库里面的固有电路,所以如果大量调用这类门级电路进行电路描述,则一定要增加阅读以及维护的复杂度。并且因为很多门级电路是在某个工艺库下面特有的,所以如果调用这类门级电路,就只能在这种工艺下面使用,不能移植到别的工艺,这基本上是不能允许的。
所以如果我们一定要调用门级电路的话,就必须调用独立于具体工艺库的门电路,这样便于后面的电路移植。一般我们常见的独立于某种工艺的如synopsys的gtech库,里面包含了很多常用的门级电路,可以方便调用。
小结
门级电路可以作为rtl建模的一种补充方式可以调用,但是我们在编写rtl的时候,还是要尽可能避免,因为verilog表达式确实更容易阅读和维护了。

宜普电源推出40 V氮化镓功率晶体管,应用于POL、LiDAR的马达驱动器
什么是白平衡?为什么调节白平衡?
01:i.MX/MCU安全设计的介绍
rc充电时间简易计算公式
【工业网关应用方案】数据库机房远程监控如何实现?
尽可能避免在RTL中调用门级电路
为什么说4G的工业级无线路由器市场普遍认可?
安全令牌协议的分类有哪些
椭圆极孔的线型设计方法
GPS定位技术在工程测量中的优劣势分析
!销售/收购E4403B频谱分析仪E4403B!小兵/李S
一文读懂变送器
全加器,全加器是什么意思
流水灯单片机解决方案,多种灯光效果可变
复合材料有哪些种类 复合材料有什么优点
海尔净界自清洁空调亮相广交会 以“空气生态”方案持续满足用户体验
浅谈连接器的可靠性测试项目及检测方法
小米松果S2:对的时间做对的事情
一种图像语义分层处理框架,可以实现像素级别的图像语义理解和操纵
通过多个扭矩限制设置改善抓取操作