数字逻辑实践2->Verilog编写规范】的更多相关文章

在学习Python时,作者有一句话对我影响很大.作者希望我们在学习编写程序的时候注意一些业内约定的规范.在内行人眼中,你的编写格式,就已经暴露了你的程度.学习verilog也是一样的道理,一段好的verilog代码,在完成设计要求的前提下,还需要条理清晰,有对应的注解,对非作者而言应该是友好的.因为对数字IC设计也处于初级阶段,前期所写的基本是在搜集资料的基础上,添加一部分个人的理解,希望通过自己的不断学习,沉淀出自己独到的见解. 对于Verilog编写规范,网上的资料比较散,其中较好的我觉得是…
00 一些前言 数字逻辑是计算机组成与体系结构的前导课,但是在两者的衔接之间并没有那么流畅,比如对面向硬件电路的设计思路缺乏.这篇总结是在数字逻辑和计组体系结构的衔接阶段进行的. 虽然这篇文是两门课的交接,也算是两个系列的一种过渡,但不代表我的数字逻辑部分就已经完成,这个系列后续会继续更新FPGA的小项目记录,以及阅读笔记等等. 本文主要是对于这个视频的笔记,我觉得很有用,加之此前我的实验报告由于课程关系不好直接往网上发,所以在这里整理一部分代码留作黑箱子.后续还会根据课程老师的要求对本文进行补…
来源:数字逻辑与Verilog设计实验课讲解,个人做的笔记与整理. 00 规范的重要性 良好的编程风格有利于减少消耗的硬件资源,提高设计的工作频率 . 提高系统的可移植性和可维护性. 程序的格式化能体现程序员的基本素质和整个团队的风貌. 01 命名规则 有C语言基础的这部分可以简单略过,看看即可.无基础的可以跳过,有一定编程经验后再来总结提高. 01-00 命名字符集 用于命名的字符集为:字母A-Z和a-z, 数字0-9以及下划线组成. 例如: 1 data_bus 2 data_width 3…
本文是对实验课上讲解的"面向硬件电路的设计思维"的总结,结合数字逻辑课本,进行提炼和整理. 主要来源是课件与本人整理,部分参考了网络大佬的博客. 本文主要介绍不同于之前软件设计思维的硬件设计思维,从非阻塞赋值.并行.面积速度转换.同步电路设计原则.模块划分设计.if-case对比等方面进行整理. 内容太多,我整理了好几天,在浩如烟海的网络前有点无力,想想是自己的实践不够,有一些问题没有亲身体验:也不能一蹴而就,得久久为功.所以这篇文章就当作一个Verilog学习与FPGA设计的总述性文…
问题起因:最初学习数字逻辑设计理论的时候还没有注意到,在实验课上写代码的时候发现了一个问题: 对于源码模块的变量定义,何时定义为reg.何时定义为wire?它们各自又有什么特性和物理意义? 1. wire wire是网络数据类型的关键字. 网络数据类型表示结构实体(例如门)之间的物理连接(线).网络类型的变量不能储存值. 语言特性 wire型数据常用来表示用于 结构化定义 assign为代表的连续赋值描述 也叫数据流描述方式.RTL级描述方式 指定的组合逻辑信号. 程序模块中,输入输出信号类型缺…
本文属于EDA技术概述类文章 1 EDA技术及其发展 概念 EDA(Electronic Design Automation),指的是以计算机为工作平台,以EDA软件工具为开发环境,以PLD期间或者ASIC专用集成电路为目标期间设计实现电路系统的一种技术. 电子CAD(Computer Aided Design) 狭义的CAD 偏重于"制图"和"建模"(几何模型),广义CAD即覆盖了所有利用计算机进行辅助设计的过程,在这个意义上,CAE和EDA 也可以理解为是CAD…
最初,在编写CSS的时候,我们往往想到哪儿就写到哪儿,它们之间的关联性和有序性并不在考虑之中.但随着代码量的增加,亦或是多人共同开发,CSS的编写规范变得重要起来了.本文通过三个方面,总结出CSS编写的最佳实践.一来强制自己按照规范编写CSS,二来可以推广到团队使用. 层级规范(从高到低) Popout Mask Navigation Content 书写规范 小写.英文 tab四个空格缩进 以'-'短横杠连接名词 为选择器添加状态前缀(.is-xxx) 关于空格的使用 选择器与{之间有空格 属…
Verilog代码规范I "规范"这问题 "规范"这个富含专业气息的词汇(个人感觉),其实规范这种东西,就是大家都约定熟成的东西,一旦你不遵守这个东西,专业人士就会觉得你不够专业,特别是程序开发方面的问题. 为什么要规范呢?一方面能体现你足够专业,另一方面也是最重要的一方面,代码的规范性有利于开发交流,让代码的可读性大大增强,也有利于降低代码的出错率. 网上关于EDA设计方面的代码规范问题的资料,以前开发的时候都没有养成一个很好的代码规范,在大的项目工程中,这方面的…
代码编写规范说明书(c#.net与asp.net) 目 录1 目的2 范围3 注释规范3.1 概述3.2 自建代码文件注释3.3 模块(类)注释3.4 类属性注释3.5 方法注释3.6 代码间注释4 命名总体规则5 命名规范5.1 变量(Variable)命名5.2 常量命名5.3 类(Class)命名5.4 接口(Interface)命名5.5 方法(Method)命名5.6 名称空间Namespace)命名6 编码规则6.1 错误检查规则6.2 大括号规则6.3 缩进规则6.4 小括号规则6…
[转]python编写规范 一.说明 二.内容 1. 代码布局 1.1 缩进 1.2 表达式和语句中的空格 1.3 行的最大长度 1.4 空行... 1.5 编码... 2. 语句... 2.1 标准头部... 2.2 导入(import)... 2.3 赋值... 2.4 分支和循环... 3. 注释... 3.1 注释块... 3.2 行内注释... 3.3 文档字符串... 3.4 版本注记... 3.5 模块注释... 3.6 函数和方法注释... 3.7 类注释... 4. 命名约定.…