第七章 多用模板专注设计(上)

简介: 第七章 多用模板专注设计

第七章 多用模板专注设计


进行工程设计的过程中,在亲手完成了部分工程的设计后就会发现其实大多数工程都有一定的“套路”。因此至简设计法制作了 verilog 代码模板,该模板包含了 verilog 最常用的代码,只要按照模板提示的步骤进行思考和填空,就能得到简洁、漂亮的代码。当然这种方法也会减少一定的错误率,毕竟相比一个字符一个字符的输入,一定是部分字符填空更加简单便捷且错误率低。有人认为至简设计法模板仅仅是为了节省敲代码的时间,这种想法其实是错误的。至简设计法旨在用一套固有的思想方法来应对不同的设计,力求使用最简洁的语言,最直接的算法得到最省资源的代码。同样,至简设计法的模板更多地是将至简设计法的设计经验转化到模板当中,每个模板看起来毫无关系,但其实都是工程设计中必不可少的步骤。这种方法也会时刻提醒设计者按照规范的思路进行编码,不会中途“开小差,走跑偏”,利用模板完整的将整个工程串起来才是至简设计法的目的。


第1节 至简设计法模板总表


下表为至简设计法现有可供使用的模板,后续还会不断的进行完善补充。为了方便查阅,下面列出模板总表,随后会依次单独演示相应模板的使用方法。使用这些模板需要按照提示正确安装至简设计法提供的 GVIM 软件,也可以前往至简设计法网址:XXXXXXX 进行下载使用。本书只能通过文字以及截图的形式进行描述和演示,可以登陆至简设计法官网观看使用视频,网址为:XXXXXXXXXX

XX。

1670841584101.jpg

1670841593905.jpg

1670841601166.jpg


第2节 模板演示


为便于理解,下面将依次对各模板进行单独演示。


2.1 模板设计模板


在编辑模式下输入“Module”,注意首字母“M”需要大写,如下图所示:

1670841622849.jpg

按下“回车”键后编辑栏会出现模块设计模板,此处主要是为结构设计提供参考,如下图所示,将其补充完整即可。

1670841632969.jpg


2.2 时序逻辑模板


(1)常用时序 always 模板

在编辑模式下输入“Shixu”,注意首字母“S”需要大写,如下图所示.


1670841666997.jpg

按下“回车”键后编辑栏会出现最常用的时序 always 模板,如下图所示,此模板中时钟和复位代码一般无需改变,只需要填写相应条件将代码补充完整即可。

1670841676877.jpg

(2)存在条件的时序 always 模板

在时序语句中经常会存在若干嵌套条件,在这种情况下,调用时可以在“Shixu”后面加上条件的数量。如存在 2 个条件时,应在编辑模式下输入“Shixu2”。同样的,首字母“S”需要大写,如下图所示。

1670841684808.jpg

按下“回车”键后编辑栏会出现 2 个条件的时序 always 模板,如下图所示。同样在此模板中时钟和复位代码一般无需改变,只需要填写相应条件将代码补充完整即可。

1670841693833.jpg

同样的,如果要调用 3 个条件的时序 always 模板,应在编辑模式下输入“Shixu3”,如下图所示。

1670841706089.jpg

按下“回车”键后编辑栏会出现 3 个条件的时序 always 模板,如下图所示。同样的,此模板一般只需填写相应条件将代码补充完整即可。

1670841716355.jpg


2.3 组合逻辑模板


(1)组合逻辑 always 模板

在编辑模式下输入“Zuhe”,注意首字母“Z”大写,如下图所示。

1670841733958.jpg

按下“回车”键后编辑栏会出现 1 个组合逻辑 always 模板,如下图所示,将其补充完整即可。

1670841744649.jpg

(2)有条件的组和逻辑 always 模板

当存在若干嵌套条件的情况下,进行调用时可以在“Zuhe”后面加上条件的数量。如要调用有2 个条件的组合逻辑模板,在编辑状态下输入“Zuhe2”,首字母“Z”大写,如下图所示。

1670841753608.jpg


按下“回车”键后编辑栏会出现有条件的逻辑 always 模板,如下图所示,将其补充完整即可。

1670841761059.jpg


2.4 计数器模板


(1)1 个计数器模板

在编辑模式下输入“Jsq”,注意首字母“J”需要大写,如下图所示。


1670841790069.jpg

按下“回车”键后编辑栏会出现 1 个计数器模板,如下图所示。在此模板中需要考虑计数器的加 1 条件以及最终加数的大小,将 add_cnt 和 end_cnt 代码补充完整即可。

1670841801521.jpg


相关文章
|
6月前
|
设计模式 API 数据安全/隐私保护
探索设计模式的魅力:外观模式简化术-隐藏复杂性,提供简洁接口的设计秘密
外观模式是一种关键的设计模式,旨在通过提供一个简洁的接口来简化复杂子系统的访问。其核心价值在于将复杂的内部实现细节封装起来,仅通过一个统一的外观对象与客户端交互,从而降低了系统的使用难度和耦合度。在软件开发中,外观模式的重要性不言而喻。它不仅能够提高代码的可读性、可维护性和可扩展性,还能促进团队间的协作和沟通。此外,随着业务需求和技术的发展,外观模式能够适应变化,通过修改外观对象来灵活调整客户端与子系统之间的交互方式。总之,外观模式在软件设计中扮演着举足轻重的角色,是构建高效、稳定且易于维护的软件系统的关键
177 1
探索设计模式的魅力:外观模式简化术-隐藏复杂性,提供简洁接口的设计秘密
|
6月前
|
数据可视化 数据库连接 测试技术
【软件设计师备考 专题 】编写外部设计文档:系统流程图和功能说明书
【软件设计师备考 专题 】编写外部设计文档:系统流程图和功能说明书
184 0
|
1月前
|
开发者
代码之外:开发者的软技能修炼手册
在软件开发领域,代码只是冰山一角。成为一名优秀的开发者,不仅需要扎实的技术功底,更需具备一系列软技能。本文探讨了沟通能力、时间管理、团队协作、持续学习、解决问题、适应变化、领导力及情绪管理等关键软技能,并提供了实用心得,助力你在开发之路上全面发展。希望你能在这条道路上不仅技术精进,更能成为一名全面发展的优秀开发者。
|
3月前
|
自然语言处理 前端开发 JavaScript
前端进阶必读:JS闭包深度解析,掌握这一特性,你的代码将焕然一新!
【8月更文挑战第23天】闭包是JavaScript的一项高级功能,让函数能够访问和操作外部函数作用域中的变量。本文深入解析闭包概念、组成及应用场景。闭包由函数及其词法环境构成,通过在一个函数内定义另一个函数来创建。它有助于封装私有变量、维持状态和动态生成函数。然而,不当使用闭包可能导致内存泄漏或性能问题。掌握闭包对于实现模块化代码和成为优秀前端开发者至关重要。
40 0
|
6月前
|
前端开发 JavaScript 测试技术
修改代码的艺术——如何高效开发、维护和重构复杂的现有系统
这篇文章回忆了作者在高三时期通过努力进入班级前列的故事,并引申到软件开发领域。作者指出,开发工作往往被认为困难重重,但实际上,通过良好的方法、设计和工具,可以提高开发效率和享受编程带来的成就感。文章以最近完成的一个复杂核心需求为例,详细介绍了如何分析、设计和实现这个需求,包括采用领域驱动设计(DDD)理念,数据库字段变更,代码实现,自动化单元测试,重构和代码维护的重要性。最后,作者推荐了几本关于软件开发的经典书籍,并鼓励开发者不断提升自己,以更好地应对挑战。
|
6月前
|
编解码 缓存 数据库
【软件设计师备考 专题 】编写内部设计文档:屏幕设计和数据库设计
【软件设计师备考 专题 】编写内部设计文档:屏幕设计和数据库设计
114 0
|
存储
十种高级的代码书写方式,提高代码质量和工作效率
十种高级的代码书写方式,提高代码质量和工作效率
73 0
|
设计模式 程序员 开发者
重构·改善既有代码的设计.01之入门基础
近期在看Martin Fowler著作的《重构.改善既有代码的设计》这本书,这是一本经典著作。书本封面誉为软件开发的不朽经典。书中从一个简单的案例揭示了重构的过程以及最佳实践。同时给出了重构原则,何时重构,以及重构的手法。用来改善既有代码的设计,提升软件的可维护性。
630 1
重构·改善既有代码的设计.01之入门基础
|
JavaScript 前端开发
【从零到一手撕脚手架 | 第四节】加速开发效率 使用plop生成开发模板 使用mock进行数据模拟
基础的脚手架已经搭建完毕,如果我们想快速生成几个基础的组件模板我们可以使用Plop或者使用文件写入实现。比如我们不想等后端同学的接口,可以直接使用mock模拟数据生成。
283 0
【从零到一手撕脚手架 | 第四节】加速开发效率 使用plop生成开发模板 使用mock进行数据模拟