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

Diamond软件的使用--(6)访问FPGA的专用SPI接口

1.什么是FPGA的专用SPI接口?

此处的SPI FLASH接口即为FPGA的专用SPI接口,上电时,FPGA从该FLASH读出程序并运行。

2.访问SPI PROM需要注意哪些地方?

1)处于MASTER SPI MODE

2)调用USRMCLK原语,使用时序逻辑配置USRMCLKTS,

     上电过程中先是高,然后PLL的lock锁定后几个时钟再把这个信号拉低。

3)将CONEIG IOVOLTAGE设置为3.3

3.USRMCLK原语说明

查看数据手册<<ECP5 and ECP5-5G sysCONFIG User Guide>>可知,通过调用原语USRMCLK

将切换SPI接口的MCLK引脚时钟源。
 


module top(//System interface input             rst_n,input             sys_clk,//Flash interface                  input             spi_miso,output            spi_mosi,output            spi_cs_n   );wire              clk_flash;wire              pll_locked;reg               pll_locked_ff1;reg               pll_locked_ff2;reg               spi_clk_en;pll_sys u_pll_sys(.CLKI(sys_clk),    //50M.CLKOP(clk_flash), //20M.LOCK(pll_locked) );always @(posedge clk_flash or negedge pll_locked)beginif(!pll_locked)beginpll_locked_ff1 <= 1'd0;pll_locked_ff2 <= 1'd0;endelse beginpll_locked_ff1 <= pll_locked;pll_locked_ff2 <= pll_locked_ff1;endendalways @(posedge clk_flash or negedge pll_locked)beginif(!pll_locked)spi_clk_en <= 1'd1;else if(pll_locked_ff2)spi_clk_en <= 1'd0;else;endUSRMCLK u_USRMCLK(.USRMCLKI(spi_clk),.USRMCLKTS(spi_clk_en) ) /* synthesis syn_noprune=1 */;flash_drive flash_drive_u0(.i_clk                  (clk_flash               ),.i_rst                  (~rst_n             ),.i_operation_type       (w_operation_type   ),.i_operation_addr       (w_operation_addr   ),.i_operation_num        (w_operation_num    ),.i_operation_valid      (w_operation_valid  ),.o_operation_ready      (w_operation_ready  ),.i_write_data           (w_write_data       ),.i_write_sop            (w_write_sop        ),.i_write_eop            (w_write_eop        ),.i_write_valid          (w_write_valid      ),.o_read_data            (w_read_data        ),.o_read_sop             (w_read_sop         ),.o_read_eop             (w_read_eop         ),.o_read_valid           (w_read_valid       ),.o_spi_clk              (spi_clk            ),.o_spi_cs               (o_spi_cs_n         ),.o_spi_mosi             (o_spi_mosi         ),.i_spi_miso             (i_spi_miso         )
);endmodule

4.CONFIG IOVOLTAGE设置

http://www.dtcms.com/a/159204.html

相关文章:

  • 基于STM32、HAL库的AD7616BSTZ模数转换器ADC驱动程序设计
  • C++ - 类和对象 # 类的定义 #访问限定符 #类域 #实例化 #this 指针 #C++ 与 C语言的比较
  • 《代码整洁之道》第4章 注释 - 笔记
  • CentOS7.9安装OpenSSL 1.1.1t和OpenSSH9.9p1
  • 小结:BFD
  • Redis ssd是什么?Redis 内存空间优化的点都有哪些?embstr 和 row、intset、ziplist分别是什么?
  • LeetCode题解1297. 子串的最大出现次数
  • 大模型评测调研报告
  • 计算机网络 | 应用层(6) -- 套接字编程
  • 大模型基础(三):Llama3复现
  • Mac桌面幻灯片,Google文档,google硬盘和google等图标如何移除
  • Docker(二):docker常用命令
  • 2025系统架构师---解释器架构风格‌
  • Rust:安全与性能兼得的现代系统编程语言
  • 深入探索Python Pandas:解锁数据分析的无限可能
  • 【Java】分布式事务解决方案
  • 「Mac畅玩AIGC与多模态02」部署篇01 - 在 Mac 上部署 Ollama + Open WebUI
  • (MySQL)表的操作
  • Ant(Ubuntu 18.04.6 LTS)安装笔记
  • 「Mac畅玩AIGC与多模态03」部署篇02 - 在 Mac 上部署 Dify
  • Pydantic:校验器(@validator)、模型嵌套、模型继承
  • 使用cesium设置第一视角
  • openharmony—4.1 softbus_tool 工具编译使用测试笔记(持续更新)
  • ubuntu 安装ollama后,如何让外网访问?
  • 基于QT(C++)实现(GUI)旅行查询与模拟系统
  • 展销编辑器在未来的发展前景​
  • python 取出字串中的所有词
  • C++:迭代器失效问题
  • 东田数码科技前端面经
  • 利用 Python 爬虫按关键字搜索 1688 商品详情:实战指南