广告

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

2017-1-10 13:13 201 0

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


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


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


一、 实验目的


二、 实验原理


三、 硬件设计


四、 架构设计


五、 代码组织方式


六、关键代码解读


七、 测试平台设计


八、 仿真分析


九、 下板验证


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


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


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


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


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


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


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


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


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


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


规范约定之代码端口命名


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


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


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


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


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


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


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


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


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


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


广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
小梅哥 2018-05-27 22:03
【博客大赛】【小梅哥FPGA】闹心的gcc-linaro-arm-linux-gnueabihf编译器——Floating ...
  今天在继续编写示波器(just for fun)工程,该工程的波形显示和处理界面是在Linux系统上编写程序实现的。应用程序的编写是使用的17.1版本的Quartus软件配套的DS-5软...
小梅哥 2018-05-09 22:37
【博客大赛】【小梅哥FPGA】Cyclone V SoC 中为HPS添加SPI控制器并使用 ... ... ... ...
    关于如何在Cyclone V SoC FPGA系统中为HPS添加一个SPI外设,这个实验我已经进行了有相当长的一段时间了,但直到今日方才有所突破,顺利的完成了SPI控制器的...
小梅哥 2018-05-04 11:49
【博客大赛】【小梅哥FPGA】Altera SOC更改Qsys后重新生成hps_0.h文件 ...
在Altera SoC的开发中,Qsys系统和Linux应用程序之间通过一个名为hps_0.h的文件交互硬件信息,例如总线上添加了哪些外设,每个外设相对于HPS外部总线的偏移地址,每个外设所占的地址空...
小梅哥 2018-05-04 11:44
【博客大赛】【小梅哥FPGA】Quartus II中使用脚本转换sof到rbf文件 ... ...
        rbf文件作为Altera的FPGA一种常见的配置数据格式,常用于使用其他主控主动配置FPGA时使用,例如PS模式。在Cyclone V SoC...
小梅哥 2018-05-04 11:36
【博客大赛】【小梅哥FPGA】使用DS-5编写和调试SoC的Linux应用程序 ...
对于Intel Cyclone V SoC FPGA用户,如果仅仅开发应用程序,也可以在 Windows 环境下完成。Intel针对其自家的SoC FPGA芯片提供了定制的DS-5软件,该软件为A...
小梅哥 2018-05-03 22:11
【博客大赛】使用MATLAB一键制作mif文件
        这里讲解实现一个16384(2^14)点的14位正弦波数据mif格式文件的生成,使用此文件,我们便可以在FPGA上基于直接数字合成(DDS)原理...
我要评论
0
0
广告
关闭 热点推荐上一条 /3 下一条