【FPGA学习笔记】Verilog语言的模块化设计
在进行模块化设计中,对于复杂的数字系统,我们一般采用自顶向下的设计方式。可以把系统划分成几个功能模块,每个功能模块再划分成下一层的子模块;每个模块的设计对应一个module,一个module设计成一个Verilog程序文件。因此,对一个系统的顶层模块,我们采用结构化的设计,即顶层模块分别调用了各个功能模块。
一、以下以静态数码管显示实验为例简单介绍。
1、底层模块1(计时模块)
module time_count(input clk;input rst_n;output reg flag;);
//parameter define
parameter MAX_NUM =25000000;//计数器最大值
...
endmodule
2、底层模块2(数码管静态显示模块)
module reg_led_static(input clk;input rst_n;input addr_flag;output reg [5:0] sel;output reg [5:0] sel_led;);...
endmodule
3、顶层模块对以上两个模块进行例化。
module seg_led_static_top(input sys_clk;input sys_rst_n;output sel;output sel_led;);
//parameter difine
parameter MAX_SHOW = 25'd25000000;
wire addr_flag;//*****main code****//计时器模块例化
time_count #(.MAX_NUM (MAX_SHOW)
)u_time_count( .clk (sys_clk),.rst_n (sys_rst_n),.flag (addr_flag)
);//数码管显示模块例化
reg_led_static u_reg_led_static(.clk (sys_clk),.rst (sys_rst_n),.addr_flag (addr_flag),.sel (sel),.sel_led (sel_led));
二、小结
【FPGA学习笔记】Verilog语言的模块化设计相关推荐
- FPGA学习之verilog语言入门指导
本人985硕士,在此分享下学习过程,verilog通关!本人博客页也分享了很多课程设计和毕业设计,欢迎收藏观看订阅!谢谢支持! 在学习之前,要思考下为什么学习FPGA,老师要求?项目要求?课题组要求? ...
- FPGA学习笔记---Verilog延迟语句分析比较
在Verilog语言中经常要用到延时语句,延时语句添加的位置不同,输出的结果就会不同.今天就来分析比较一下延时语句在不同位置时,对赋值语句的影响. 一.阻塞式左延时赋值 文件代码: `timescal ...
- FPGA学习笔记---Verilog HDL 可综合语句和不可综合语句汇总
作为HDL语言,有两种基本的用途:系统仿真和设计实现.所有的HDL描述都可用于仿真,但并非所有的HDL描述都可综合. 一般综合工具支持的Verilog HDL结构 Verilog HDL结构 可综合性 ...
- FPGA学习笔记_UART串口协议_串口接收端设计
FPGA学习笔记 1. UART串口协议以及串口接收端设计 1 原理图 2 Verilog 代码 3 Modelsim仿真 4. FPGA板级验证 1.1 串口协议接收端设计 目标:FPGA接收其他设 ...
- FPGA学习笔记(1)简单的时序逻辑电路——流水灯
FPGA学习笔记(1)简单的时序逻辑电路--流水灯 编程语言为Verilog HDL 原理 (1)设计一个计数器,使开发板上的4个LED状态每500ms翻转一次.开发板上的晶振输出时钟频率为50MHz ...
- FPGA学习笔记(八)同步/异步信号的打拍分析处理及亚稳态分析
系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...
- FPGA学习笔记_ROM核调用与调试
FPGA学习笔记 ROM核调用与调试 1. ROM存储器IP核的使用 2. 创建.mif文件 3. In system memory content editor内存查看工具的使用 4. Signal ...
- FPGA学习笔记(十二)IP核之FIFO的学习总结
系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...
- 小梅哥FPGA学习笔记
小梅哥FPGA学习笔记 一.38译码器 功能: 译码器其任一时刻的稳态输出,仅仅与该时刻的输入变量的取值有关,它是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等).38 ...
最新文章
- 聊聊RibbonLoadBalancerClient的choose方法
- Spring Cloud构建微服务架构-Hystrix依赖隔离
- 表单绑定 v-model —— :value @input || v-model原理
- 两个Java项目之间的通信_两个容器之间的Docker通信与Java
- 【WinForm】创建自定义控件(转)
- 利刃 MVVMLight 3:双向数据绑定
- mkimage command not found
- 面试官:分布式环境下,如何实现session共享
- 【杂题总汇】HDU多校赛第十场 Videos
- Spring StringUtils类中几个有用的字符串处理方法
- Android 系统签名(.pk8、.pem) 制作成 storeFile
- 保龄球计分程序java_保龄球计分——java代码实现
- Java转Go语言 -12
- 双系统启动项设置为上次所选系统
- Syntax error parameterized types are only available if sourc
- 设计一个莫尔斯电码电报机
- C语言学习笔记 | 进阶 | 文件操作详解(万字精心制作)
- Python 基于pyecharts自定义经纬度热力图可视化
- linux不显示联网图标_Ubuntu linux 面板网络图标消失--》寻回图标方法总结
- 用计算机做一克拉等于多少克的单位换算,克和克拉怎么换算(克拉和克的换算单位是多少)...