文章列表
上面通过AT93C46的项目,讲解了如何根据划分好的模块架构,确认模块的端口及数据流向。下面给出明德扬明德扬在FPGA/ASIC设计领域多年的项目经历,总结出来五个常用的模块交互架构,读者在进行项目设计时,可结合明德扬模块 ...
一、模块划分概述[/size][/b]
模块划分,顾名思义是指模块的划分。但是,明德扬提出的模块划分,是广义的“模块划分”。后续所提及的“模块划分”,不单单指模块的划分,还包括模块划分好后,模块的端口及模块之间数据流向的确定。
二、模块划分原则
明德扬的模块划分原则有两条:
原则一:一个功能一个模块。
按功能划分模块是模块划分最基本的指导思想,当我们拿到一个项目后,最直接的想法就是先确定项目需要多少小功能为之服务,然后把一个个功能实现,最后通过顶层模块的例化,完成项目要求。
原则二:相同架构一个模块。
这里的相同架构不是单单是指模块整体为计数器架构、状态机架构或FIFO架构,还要求在架构内部 ...
FPGA工程师都知道,Verilog代码绝大部分都是always语句,结构基本上都是一致的,为了减少重复性的工作,让工程师专注于设计实现,明德扬精心制作了常用模板,只要你安装好明德扬提供的GVIM,就能使用这些模板了。
1.时序逻辑的模板
在GVIM输入“Module”并回车,如下图所示
就能得到下面的时序逻辑的模板。
模块的模板包括了输入输出信号列表、信号定义,组合逻辑和时序逻辑等,这是一个模块常用的组件。学员只需要理解各个部分的意义,按要求来填空就可以,完全没有必要去记住。我看很多学员刚开始学习时,花费大量的时间去记住、背熟模块,这是没有意义的。
2.输入“Reg”并回车。
...
FPGA工程师都知道,Verilog代码绝大部分都是always语句,结构基本上都是一致的,为了减少重复性的工作,让工程师专注于设计实现,明德扬精心制作了常用模板,只要你安装好明德扬提供的GVIM,就能使用这些模板了。
1.时序逻辑的模板
在GVIM输入“Shixu”并回车,如下图所示
就能得到下面的时序逻辑的模板。
2.输入“Shixu2”并回车
就能得到带有2个if条件的时序逻辑代码。
3.输入“Shixu3”并回车
就能得到带有3个if条件的时序逻辑代码。
欢迎关注明德扬公众号“fpga520”,或群97925396,索取明德扬模板。口号:多用模 ...