FPGA入门笔记二 top_module与硬件映射关系

这篇博客介绍了FPGA入门实践中,如何通过Verilog设计一个控制LED闪烁的top_module,详细阐述了设计思路,包括功能定义、时钟控制和端口映射,并提到了状态机和时序逻辑设计的基本概念。作者通过分析并修改源代码,实现了4个LED轮流亮和全亮的循环效果。
摘要由CSDN通过智能技术生成

开始小试牛刀,开发板的LED,如有错误请不吝指正。

顶层设计文件,子文件都有module模块,但是只有顶层的 top_module端口列表需要与ucf文件中芯片引脚映射起来。


按照上篇设计RTL步骤来设计本功能:

功能定义与模块划分:上电后4个LED都灭,1秒后,从LED1到LED4轮流亮,每次亮1秒,然后全部亮1秒。循环如此。功能简单,只需一个模块。

定义所有模块的接口:时钟输入给一个计数器timer,高电平输出led。

设计时钟域:只需一个时钟。

考虑设计的关键路径:无

顶层设计:时钟控制时序(循环亮灭),逻辑控制功能

FSM 设计:无。Finite State Machine有限状态机,状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作,完成特定操作的控制中心。状态机分为摩尔(Moore)型状态机和米莉(Mealy)型状态机。目前理解还不够。

时序逻辑设计:任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态。画个时序的草图,6s一个循环。

组合逻辑设计:任意时刻的输出仅仅取决于该时刻的输入。根据计数器使用if...else...,判断是哪个灯即可


虽然分析了一遍,还是自己写不出来,根据源代码修改了一遍,有疑问的地方,再学习一段时间后再理解吧。

ucf文件:


                
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值