和Python一样,RTL也可以通过缩进来区分嵌套关系
随着功能复杂度的快速提升,对芯片的要求也是随着提高,所以现在一款芯片的开发,往往需要数十人,长达几个月的共同开发才能完成。
因为Verilog HDL的语法相对开放,所以每个人开发的Verilog HDL之间的差异也是非常的大。但是一个设计团队之间,进行RTL模块的交叉review、相互调用是非常频繁的事情,所以为了增强RTL代码的可移植性,以及review的效率,我们通常在一个项目开始的时候,会统一整理一个RTL编码规则,里面的内容包括,命名的规则、单词的缩略原则,一些标准电路的常用写法等等。往往这个编码规则会写的很具体,但是个人认为,这是非常有必要的。在前面的文章中,我们已经聊了一些,今天的文章,我就继续来聊一聊一般常见的规则。
RTL推荐编码规则
对于嵌套语句,通过缩进表现嵌套关系,可以提升RTL可读性和可维护性。
RTL的编写,是以模块化的方式进行,也就是说,对一个大的功能点,先进行功能点拆分,分成多个小的功能点,根据功能点的复杂度,分别独立成一个个小的module,然后再完成module集成,实现整个大的功。
举个例子:一个要实现的算法A,里面包括了B+C两个大的功能点,我们要首先将B和C进行再分解,B里面分出了D+E+F,C里面分出了D+G+H,可以看出,B和C里面都有D这个功能点,所以我们把D功能点写入一个独立module,供B和C共同调用,这就是module的调用,或者是功能的嵌套。
假如说D是一个加法器:
module D(in1, in2, out );
input[7:0] in1;
input[7:0] in2;
output [8:0] out;
assign out = in1 + in2;
endmodule
对于上面这个module,在编写B和C的时候可以直接调用。
module B(in3,in4...);
input[7:0] in3,in5;
input[7:0] in4,in6;
wire[8:0] out1, out2;
D U_D1 (in1(in3),in2(in4),out(out1) );
D U_D2 (in1(in5),in2(in6),out(out2) );
但是,这里要说明的是,这种缩进的module调用,比较适用在一个module内部,调用多个子module的情况,而且一般情况这个子module的功能比较简单,可以在一行内完成调用,如果是比较复杂的子module,或者是顶层的集成,就没有必要做这样的缩进处理,因为子module的接口较多,并且调用次数很少,可以定格调用了。
小结
缩进表现嵌套关系,这种处理方法是非常好用的,例如现在很火的python就是通过缩进来划分代码的关系,所以,只要用的得当,确实很有好处了。
大众TROC探歌新车型正式上市,配置有提升,售16。93万元在大众光环下的车一直都不愁销量,大众TROC探歌同样也是如此,在刚刚上市之时,便引来了大量的消费者围观,时尚的造型出色的动力表现让它更是走向热销之路。时至今日,大众TROC探歌终又
唐dmi插电式混合动力,听人说不如自己去试试驾112公里尊贵型,配备的DmI超级混动系统的底层架构和内在逻辑和本田I比亚迪唐DMI是以电为主导,油为辅助来实现车主的一系列操作,力求达到节能省油的效果。比亚迪唐DMI搭载的是
唐dmi插电式混合动力,听说不如自己去试试驾112公里尊贵型,配备的DmI超级混动系统的底层架构和内在逻辑和本田I比亚迪唐DMI是以电为主导,油为辅助来实现车主的一系列操作,力求达到节能省油的效果。比亚迪唐DMI搭载的是
Java面试那点事Spring曾有过光辉岁月,它一路与时俱进,引领Java编程潮流至少10年。如今,SpringBoot的诞生,让我们再也不用被Spring的烦琐配置所束缚。SpringBoot是当
开源一款开源免费的轻量级项目工时统计成本核算管理系统一开源项目简介项目工时管理系统,是一款开源免费的轻量级项目工时统计系统,是目前企业进行项工时管理统计的推荐选择。通过项目工时管理系统,可通过工时上报的方式,实现工时统计成本核算,是
这个项目竟然可以生成满分作文文章首发于微信公众号GitHub精选,欢迎大家关注。打开微信,使用搜一搜,搜索GitHub精选,即可关注。大家好,我是章鱼猫。今天推荐的这个项目是BullshitGenerator
重磅推荐绝对超赞,大屏数据可视化项目集合文章首发于微信公众号GitHub黑板报,欢迎大家关注。打开微信,使用搜一搜,搜索GitHub黑板报,即可关注。大家好,我是章鱼猫。今天给大家推荐的这个开源项目,我感觉是前端开发者的
简单又强大!这个开源项目做到了极致文章首发于微信公众号GitHub黑板报,欢迎大家关注。打开微信,使用搜一搜,搜索GitHub黑板报,即可关注。大家好,我是章鱼猫。大家在使用命令行执行命令的时候,是不是通过命令的日
初级Java程序员如何快速进阶主要内容疑问的无限递归递归的结束条件疑问的无限递归去年我刚入行时,用SSM写了大概5个月的增删改查,并且在实际工作中从未自己搭建过SSM环境。倒不是不会,毕竟网上已经有很多博客直接
秒拍2021年1月5月违规内容公示坚持平台高标准治理为落实企业主体责任,维护巩固平台良好的生态环境,秒拍通过技术手段与人工审核对全站各频道内容进行了系统梳理和排查,发布2021年1月5月违规内容处罚公告,并对所涉违规内容第一时间进行
熬夜奈我盒重磅推出,水密码牵手南航为健康肌肤水致护航如今,跨界营销成为了不少品牌方发展的方向,通过跨界,能够充分利用品牌双方的优势,共享和引流用户群,从而提高品牌自身和产品的知名度,最终获得更大的市场份额。在玩转跨界营销这方面,国内