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

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.xdnf.cn/news/2540.html

相关文章:

  • 关于百度模型迭代个人见解:技术竞速下的应用价值守恒定律
  • Vue3项目目录结构规范建议
  • 【测控系统】测控仪器技术概述与专业选择
  • 【项目实训个人博客】multi-agent调研(1)
  • XMOS直播声卡——可支持实时音频DSP处理的低延迟音频方案
  • Web前渗透
  • JavaScript基础(七)之web APIs
  • 开源项目实战学习之YOLO11:ultralytics-cfg-datasets-VOC、xView.yaml文件(八)
  • 设计模式--桥接模式详解
  • 【C++贪心 滑动窗口】P7990 [USACO21DEC] Closest Cow Wins S|省选-
  • UE5 在旋转A的基础上执行旋转B
  • 复杂背景下无人机影像小目标检测:MPE-YOLO抗遮挡与抗背景干扰设计
  • 深度学习算法:开启智能时代的钥匙
  • FastAPI中的依赖注入详解与示例
  • 假设检验学习总结
  • SQL优化,关联查询非常慢,前台页面控件卡顿
  • 使用 Playwright 构建高效爬虫:原理、实战与最佳实践
  • 大模型应用实战:深入理解模型上下文协议 MCP
  • Linux-UDP套接字编程
  • 小结: DHCP
  • 【SpringMVC】概念引入与连接
  • Spark-Streaming2
  • 深入解析Vue.js:构建现代Web应用的高效之道
  • BIOES 标签的含义
  • 三分钟音乐社:8、构建(自然)大调的音阶
  • 【嵌入式系统设计师(软考中级)】第二章:嵌入式系统硬件基础知识——④定时器计数器和系统总线及通信接口
  • 全面解析Java(上)------多线程编程:从线程生命周期到并发机制的深度剖析与实践指南
  • 组件的基本知识
  • 力扣hot100,739每日温度(单调栈)详解
  • 【Spring Boot】Maven中引入 springboot 相关依赖的方式