广告

原创 小梅哥和你一起深入学习FPGA之规范约定

2017-1-10 13:13 537 0

本规范主要是对设计流程、端口名称、组织结构、文档编排进行约定。本约定作用仅仅是为了使后期代码设计和文档编写更加规范有序,方便自己和读者阅读,与公司的设计规范还差着十万八千里,因此,望大家万不可以小梅哥的规范作为标准。当然,小梅哥在规范约定时,也会尽量参考华为verilog规范和至芯科技的文档编写规范力争做到简洁通俗。


规范约定之设计文档基本结构


为了将设计能够清晰明了的介绍给大家,让大家一看就懂,文档编写时会详细包含以下内容:


一、 实验目的


二、 实验原理


三、 硬件设计


四、 架构设计


五、 代码组织方式


六、关键代码解读


七、 测试平台设计


八、 仿真分析


九、 下板验证


现分别对以上标题的内容进行介绍


实验目的:主要提出实验的要求以及需要达到的目的


实验原理:主要对该实验涉及到的软硬件电路、协议、基本思路进行分析和介绍


硬件设计:主要分析实现该实验的硬件电路设计,因为目前小梅哥暂时没钱做开发板,因此只能是在其他厂家的开发板硬件平台上进行分析讲解


架构组织:主要进行实验的模块构建和架构解读,包括端口意义,内部信号意义等。


代码组织方式:主要进行代码设计方案的介绍,常用的有状态机、线性序列机,不同的实验根据具体情况适合采用不同的方案。如果采用状态机进行设计,则会进行状态转移图的设计,如果采用线性序列机的方式,也会设计相应的线性序列表。


关键代码解读:主要针对设计中关键的代码进行分析解读


测试平台设计:系统的testbench编写,如果是多模块结构,则会对所有模块分别编写testbench


仿真分析:对仿真结果进行分析,功能仿真必做,时序仿真选做,具体按照实验内容而定


下板验证:目前小梅哥没有自己的开发板,没办法进行统一的下板验证,但我会就着手边的各式各类的开发板上有的硬件资源,自行下板验证,以保证代码的正确性。


规范约定之代码端口命名


设计中会设计到很多端口,不同的端口含义各不一样,有内部信号,输入输出端口,标志信号,测试信号。


现分别对端口名做如下约定:


1、 端口信号首字母大写;


2、 全局时钟信号名为Clk;


3、 全局复位信号名为Global_Rst;


4、 其它的暂时没有考虑的太多,具体会在每个实验对应的文档中给出。


规范约定之状态机风格设计


在学习Verilog的时候,经常有人问是三段式状态机好还是一段式状态机好,个人觉得,实际使用哪种方式并没有一个严格的限定,有的设计,采用一段式状态机设计简洁,阅读方便,而三段式状态机则会较为繁琐;另外又有一些设计,需要用三段式状态机才能很好的组织结构。甚至有的设计,需要状态机和线性序列机联合使用,方能达到好的效果,因此,小梅哥不想给机子带上一个标准的框子,对应不同的设计,我会根据实际情况选择不同的编码方式。


可能考虑的不是很细致,本文档会在实际代码和文档的设计中不断的丰富和完善。


今天白天到处跑,忙了一整天,因此耽误了进度。这也正是我所害怕的,我害怕总结学习的过程被琐事扰乱,因此,小梅哥需要大家的监督和鼓励,希望我们共同关注,共同学习,争取将本套学习总结做好做精。如果哪一天我没有更新,请大家给我失望的表情。


广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
小梅哥 2019-07-02 08:57
小梅哥FPGA时序分析笔记(五)I/O约束显神威——深入龙潭
大家一定对我上一节的突然结尾表示一脸茫然:我是来学习时序约束的,然后你告诉我时序约束里面IO约束很重要,然我又跟着你的文章继续往下看,本以为你就要讲如何进行IO约束了,结果呢,你一个取反时钟就把我们打...
小梅哥 2019-06-30 11:07
小梅哥FPGA时序分析笔记(四)I/O时序定成败——化险为夷
小梅哥FPGA时序分析从遥望到领悟系列没有遇见过I/O时序问题,没有通过I/O约束方式实际解决过I/O时序问题,就很难明白I/O约束的重要性,也很难相信各种EDA软件真的有那么的傻白甜。 我遇到...
小梅哥 2019-06-22 10:32
小梅哥FPGA时序分析笔记(三)时钟约束真重要——事实说话
小梅哥FPGA时序分析从遥望到领悟系列以前,那是在以前,经常有网友(原谅我行文动不动就是网友说,网友问,毕竟我是卖开发板的,正面接触学FPGA的网友相对多一些,所以这些也都是事实存在的事情)问我:小梅...
小梅哥 2019-06-21 10:33
小梅哥FPGA时序分析笔记(二)时钟质量是生命——初遇时序
小梅哥FPGA时序分析从遥望到领悟系列第一次遇到时序问题并通过相应的手段解决问题,算是2年前做百兆以太网图像传输的时候了吧。当时遇到的问题为:同一个工程,每次编译结果的效果都不一样,有的时候编译了,下...
小梅哥 2019-06-20 11:46
小梅哥FPGA时序分析笔记(一)学了4年才学会——废话连篇
小梅哥FPGA时序分析从遥望到领悟系列 这么取名字,大概率会被人家笑话吧,一个呆头呆脑哈里哈气的憨厚形象跃然纸上。不过呢,仗着自己脸皮不薄,又被人称为IT直男,也就这么写了。 自己...
小梅哥 2018-05-27 22:03
【博客大赛】【小梅哥FPGA】闹心的gcc-linaro-arm-linux-gnueabihf编译器——Floating ...
  今天在继续编写示波器(just for fun)工程,该工程的波形显示和处理界面是在Linux系统上编写程序实现的。应用程序的编写是使用的17.1版本的Quartus软件配套的DS-5软...
我要评论
0
0
广告