Verilog GPIO 模块设计

阅读须知

本文章可适用于研究生找工作,此项目学习,意义在于标准化设计学习和验证,模块设计过程中的思考等都符合公司招生考察要素,虽然简单,但是值得认真思考。有想要详细了解的可以加微信w154785315,大家一起学习共同进步。

GPIO 端口介绍

GPIO 端口,即General purpose Input /Output port,是一种位于芯片数字部分和外面模拟PAD之间的模块,主要功能就是负责输入、输出数据,此外可以附加很多其他功能(Alternate Function),比如在模拟部分加上下拉电阻(pull-up/down),用三极管实现开/漏输出设计等。大家在网上可以看到很多基于现有GPIO进行其他应用设计的案例,作为数字IC设计工程师,我们当然要做一些自己行业相关的事情,那就是如何设计一个数字的GPIO模块,从而实现基本的逻辑功能。

GPIO功能分析

成熟的设计开始于完备的功能分析及模块划分,GPIO模块的设计同样如此。啊,我是大佬没错了 ~ 。~
一般来说GPIO端口的功能有哪些呢?业内大佬ARM必须拥有姓名,现在来看一段STM32的GPIO模块功能介绍:
ARM GPIO introduction我们只关注数字部分,模拟去掉。首先,GPIO端口应可以软件配置,其次,GPIO端口应具有基本的输入、输出功能,最后,GPIO端口还应该有一些附加功能。
将分析得到的GPIO数字模块功能进一步分析,我们得到以下设计需求:

  1. GPIO模块应可以由软件进行模式配置。
  2. GPIO模块应可以接收外来信号,并将这些信号存进寄存器中供软件读取。
  3. GPIO模块应可以发送软件存放在寄存器中的值。
  4. GPIO模块还可以添加一些额外的功能,比如固定占空比、不同频率的方波输出,中断检测,电流监控等。(这些功能我拍脑袋随便加的)

有了设计需求,我们就可以根据需求进行下一步工作:GPIO的模块划分。

GPIO模块划分

根据

  • 18
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值