第七章 多用模板专注设计
进行工程设计的过程中,在亲手完成了部分工程的设计后就会发现其实大多数工程都有一定的“套路”。因此至简设计法制作了 verilog 代码模板,该模板包含了 verilog 最常用的代码,只要按照模板提示的步骤进行思考和填空,就能得到简洁、漂亮的代码。当然这种方法也会减少一定的错误率,毕竟相比一个字符一个字符的输入,一定是部分字符填空更加简单便捷且错误率低。有人认为至简设计法模板仅仅是为了节省敲代码的时间,这种想法其实是错误的。至简设计法旨在用一套固有的思想方法来应对不同的设计,力求使用最简洁的语言,最直接的算法得到最省资源的代码。同样,至简设计法的模板更多地是将至简设计法的设计经验转化到模板当中,每个模板看起来毫无关系,但其实都是工程设计中必不可少的步骤。这种方法也会时刻提醒设计者按照规范的思路进行编码,不会中途“开小差,走跑偏”,利用模板完整的将整个工程串起来才是至简设计法的目的。
第1节 至简设计法模板总表
下表为至简设计法现有可供使用的模板,后续还会不断的进行完善补充。为了方便查阅,下面列出模板总表,随后会依次单独演示相应模板的使用方法。使用这些模板需要按照提示正确安装至简设计法提供的 GVIM 软件,也可以前往至简设计法网址:XXXXXXX 进行下载使用。本书只能通过文字以及截图的形式进行描述和演示,可以登陆至简设计法官网观看使用视频,网址为:XXXXXXXXXX
XX。
第2节 模板演示
为便于理解,下面将依次对各模板进行单独演示。
2.1 模板设计模板
在编辑模式下输入“Module”,注意首字母“M”需要大写,如下图所示:
按下“回车”键后编辑栏会出现模块设计模板,此处主要是为结构设计提供参考,如下图所示,将其补充完整即可。
2.2 时序逻辑模板
(1)常用时序 always 模板
在编辑模式下输入“Shixu”,注意首字母“S”需要大写,如下图所示.
按下“回车”键后编辑栏会出现最常用的时序 always 模板,如下图所示,此模板中时钟和复位代码一般无需改变,只需要填写相应条件将代码补充完整即可。
(2)存在条件的时序 always 模板
在时序语句中经常会存在若干嵌套条件,在这种情况下,调用时可以在“Shixu”后面加上条件的数量。如存在 2 个条件时,应在编辑模式下输入“Shixu2”。同样的,首字母“S”需要大写,如下图所示。
按下“回车”键后编辑栏会出现 2 个条件的时序 always 模板,如下图所示。同样在此模板中时钟和复位代码一般无需改变,只需要填写相应条件将代码补充完整即可。
同样的,如果要调用 3 个条件的时序 always 模板,应在编辑模式下输入“Shixu3”,如下图所示。
按下“回车”键后编辑栏会出现 3 个条件的时序 always 模板,如下图所示。同样的,此模板一般只需填写相应条件将代码补充完整即可。
2.3 组合逻辑模板
(1)组合逻辑 always 模板
在编辑模式下输入“Zuhe”,注意首字母“Z”大写,如下图所示。
按下“回车”键后编辑栏会出现 1 个组合逻辑 always 模板,如下图所示,将其补充完整即可。
(2)有条件的组和逻辑 always 模板
当存在若干嵌套条件的情况下,进行调用时可以在“Zuhe”后面加上条件的数量。如要调用有2 个条件的组合逻辑模板,在编辑状态下输入“Zuhe2”,首字母“Z”大写,如下图所示。
按下“回车”键后编辑栏会出现有条件的逻辑 always 模板,如下图所示,将其补充完整即可。
2.4 计数器模板
(1)1 个计数器模板
在编辑模式下输入“Jsq”,注意首字母“J”需要大写,如下图所示。
按下“回车”键后编辑栏会出现 1 个计数器模板,如下图所示。在此模板中需要考虑计数器的加 1 条件以及最终加数的大小,将 add_cnt 和 end_cnt 代码补充完整即可。