当前位置: 首页 > news >正文

FPGA|Verilog-SPI驱动

最近准备蓝桥杯FPGA的竞赛,因为感觉官方出的IIC的驱动代码思路非常好,写的内容非常有逻辑并且规范。也想学习一下SPI的协议,所以准备自己照着写一下。直到我打开他们给出的SPI底层驱动,我整个人傻眼了,我只能说,嗯,这个SPI驱动和之前的IIC驱动一定不是一个人写的,本次给出的SPI驱动真的太差劲了,我虽然按照他的思路写了,但是感觉写下来非常难受,还是咬牙坚持下来了,下面我们就来分析一下官方给的SPI的驱动代码的不足之处:

  1. 状态机的设置非常不合理
    请添加图片描述

  2. 使用两段式状态机,组合逻辑里面竟然使用非阻塞赋值…这是最低级的错误了(在图片中展示了)
    请添加图片描述

  3. 时钟分频不准确(放入图片)
    虽然始终不精确,50分频变为52,但是因为差的不多,不太影响通信
    请添加图片描述

  4. 状态机设置转换条件不明确
    第一眼看都不知道怎么个转换关系
    请添加图片描述

全部代码:
通过网盘分享的文件:spi_master.v
链接: https://pan.baidu.com/s/1riRYdltzmhM4Uz5GDlOCng?pwd=a77h 提取码: a77h
–来自百度网盘超级会员v8的分享
总结
虽然能够运行,但是官方给的代码质量确实太低了
请添加图片描述

相关文章:

  • C++中的构造函数
  • 在 Ubuntu 下通过 Docker 部署 Mastodon 服务器
  • click house扩容方案
  • (四)Linux Miniconda 安装+换源+新建环境+迁移环境
  • C++指针的基本认识
  • Upload-Labs-Linux 1-20
  • Python脚本,音频格式转换 和 视频格式转换
  • 达梦数据库导入数据,通过命令的方式
  • 【Godot4.4】浅尝Godot中的MVC
  • 蓝桥杯—走迷宫(BFS算法)
  • QT | 信号与槽(超详解)
  • 控制系统分类
  • AI赋能Python零代码编程知识技能体系构架
  • 【从零开始学习计算机科学】计算机组成原理(八)输入输出设备 与 输入输出系统
  • 初学者快速入门Python爬虫 (无废话版)
  • springboot的实体类字段校验的分组校验
  • 知识图谱相关的FOAF是个啥?
  • ②Modbus TCP转Modbus RTU/ASCII网关同步采集无需编程高速轻松组网
  • BLUEM2引擎源码2025最新版
  • 14款粗糙边缘颗粒喷墨线条素材绘画效果Affinity笔刷画笔 Rough Raw Affinity Brushes
  • 济南网站建设求职/网站建设黄页免费观看
  • dedecms wap网站模板下载/seo关键词排名怎么优化
  • 深圳做棋牌网站建设哪家服务好/网站推广的平台
  • wordpress多站点子目录建站/个人可以做推广的平台有哪些
  • 响应式网站建站价格/属于seo网站优化