在进行模块化设计中,对于复杂的数字系统,我们一般采用自顶向下的设计方式。可以把系统划分成几个功能模块,每个功能模块再划分成下一层的子模块;每个模块的设计对应一个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语言的模块化设计相关推荐

  1. FPGA学习之verilog语言入门指导

    本人985硕士,在此分享下学习过程,verilog通关!本人博客页也分享了很多课程设计和毕业设计,欢迎收藏观看订阅!谢谢支持! 在学习之前,要思考下为什么学习FPGA,老师要求?项目要求?课题组要求? ...

  2. FPGA学习笔记---Verilog延迟语句分析比较

    在Verilog语言中经常要用到延时语句,延时语句添加的位置不同,输出的结果就会不同.今天就来分析比较一下延时语句在不同位置时,对赋值语句的影响. 一.阻塞式左延时赋值 文件代码: `timescal ...

  3. FPGA学习笔记---Verilog HDL 可综合语句和不可综合语句汇总

    作为HDL语言,有两种基本的用途:系统仿真和设计实现.所有的HDL描述都可用于仿真,但并非所有的HDL描述都可综合. 一般综合工具支持的Verilog HDL结构 Verilog HDL结构 可综合性 ...

  4. FPGA学习笔记_UART串口协议_串口接收端设计

    FPGA学习笔记 1. UART串口协议以及串口接收端设计 1 原理图 2 Verilog 代码 3 Modelsim仿真 4. FPGA板级验证 1.1 串口协议接收端设计 目标:FPGA接收其他设 ...

  5. FPGA学习笔记(1)简单的时序逻辑电路——流水灯

    FPGA学习笔记(1)简单的时序逻辑电路--流水灯 编程语言为Verilog HDL 原理 (1)设计一个计数器,使开发板上的4个LED状态每500ms翻转一次.开发板上的晶振输出时钟频率为50MHz ...

  6. FPGA学习笔记(八)同步/异步信号的打拍分析处理及亚稳态分析

    系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...

  7. FPGA学习笔记_ROM核调用与调试

    FPGA学习笔记 ROM核调用与调试 1. ROM存储器IP核的使用 2. 创建.mif文件 3. In system memory content editor内存查看工具的使用 4. Signal ...

  8. FPGA学习笔记(十二)IP核之FIFO的学习总结

    系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...

  9. 小梅哥FPGA学习笔记

    小梅哥FPGA学习笔记 一.38译码器 功能: 译码器其任一时刻的稳态输出,仅仅与该时刻的输入变量的取值有关,它是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等).38 ...

最新文章

  1. 聊聊RibbonLoadBalancerClient的choose方法
  2. Spring Cloud构建微服务架构-Hystrix依赖隔离
  3. 表单绑定 v-model —— :value @input || v-model原理
  4. 两个Java项目之间的通信_两个容器之间的Docker通信与Java
  5. 【WinForm】创建自定义控件(转)
  6. 利刃 MVVMLight 3:双向数据绑定
  7. mkimage command not found
  8. 面试官:分布式环境下,如何实现session共享
  9. 【杂题总汇】HDU多校赛第十场 Videos
  10. Spring StringUtils类中几个有用的字符串处理方法
  11. Android 系统签名(.pk8、.pem) 制作成 storeFile
  12. 保龄球计分程序java_保龄球计分——java代码实现
  13. Java转Go语言 -12
  14. 双系统启动项设置为上次所选系统
  15. Syntax error parameterized types are only available if sourc
  16. 设计一个莫尔斯电码电报机
  17. C语言学习笔记 | 进阶 | 文件操作详解(万字精心制作)
  18. Python 基于pyecharts自定义经纬度热力图可视化
  19. linux不显示联网图标_Ubuntu linux 面板网络图标消失--》寻回图标方法总结
  20. 用计算机做一克拉等于多少克的单位换算,克和克拉怎么换算(克拉和克的换算单位是多少)...

热门文章

  1. 【历史上的今天】9 月 18 日:McAfee 创始人出生;ICANN 成立;QQ 宠物正式下线
  2. Feign的hystrix熔断器不起作用
  3. 计算机主板 辐射,电磁辐射影响计算机主板的模拟计算
  4. torch.roll 函数的理解
  5. C++ type deduct summary
  6. Tomcat在指定JDK版本启动
  7. 雅礼集训 Day1 T1 养花
  8. BUUCTF-web极客大挑战
  9. 完全二叉树最后一个非叶子节点
  10. 对象,构造函数,构造函数小练习