使用DDR4控制器實現多通道數據讀寫(四)

在創建完DDR4的仿真模型后,我們為了實現異步時鐘的讀寫,板卡中在PL端提供了一組差分時鐘,可以用它通過vivado中的Clock Wizard IP核生成多個時鐘,在這里生成兩個輸出時鐘,分別作為用戶的讀寫時鐘,這樣就可以用異步時鐘來讀寫ddr4數據。今天我們來介紹vivado中的Clock Wizard IP核。
Clock Wizard IP核是 Xilinx Vivado Design Suite 中的一個時鐘管理 IP核,主要用于FPGA設計中的時鐘生成和管理。Clock Wizard 提供了豐富的時鐘配置選項。
在基本配置中可以使用時鐘輸入(clk_in),時鐘輸出(clk_out),復位(reset),時鐘鎖(locked)等信號來完成Clock Wizard IP核的基本配置,其中locked用來指示輸出的時鐘是否穩定,當locked有效后方可使用輸出時鐘。
Clock Wizard IP核時鐘輸入的基本配置。
圖1
由于輸入時鐘為管腳輸入的差分時鐘,我們選擇Differential clock capable pin,時鐘頻率為100MHz差分時鐘。
在這里插入圖片描述
根據需求可以自己勾選兩組輸出時鐘,修改輸出的時鐘頻率,在這里使用50MHz和100MHz作為兩組輸出時鐘,將來可以分別作為讀寫DDR4的時鐘。勾選上reset和locked,reset可以連接到復位管腳,locked作為輸出時鐘是否穩定的標志。在這里插入圖片描述
點擊OK,IP建立完成后,將IP例化到模塊頂層中。
在這里插入圖片描述
接下來我們通過仿真觀察輸出的時鐘
在這里插入圖片描述
可以看到當復位信號拉低后,過段時間會輸出兩組時鐘,一組為100MHz,一組為50MHz,隨后locked會拉高,表示輸出時鐘穩定,可以使用這兩組時鐘作為讀寫DDR4的時鐘。
后邊會使用兩個fifo來緩存從ddr4讀出的數據和將要寫入ddr4的數據:
(1)、寫DDR4的緩存fifo(wrfifo)使用100MHz時鐘作為wrfifo的寫時鐘,使用DDR4輸出的時鐘作為wrfifo的讀時鐘。
(2)、讀DDR4的緩存fifo(rdfifo)使用DDR4輸出的時鐘作為rdfifo的寫時鐘,使用50MHz時鐘作為rdfifo的讀時鐘。
這樣我們用這兩個fifo來連接DDR4:
如果DDR4不滿并且wrfifo不空,那么就將wrfifo中的數據寫入DDR4中,當DDR4滿后,停止向DDR4寫數據,此時如果wrfifo沒滿,還可以將wrfifo寫滿。
當DDR4不空并且rdfifo不滿時,將DDR4中的數據讀出放到rdfifo中,當rdfifo滿后,停止從DDR4讀數據。
由此可見最大容量為DDR4+wrfifo+rdfifo。

學習FPGA、技術交流可以私信或點擊主頁聯系
威三學社出品

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/73968.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/73968.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/73968.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

企業數字化20項目規劃建設方案微服務場景與數據應用(50頁PPT)(文末有下載方式)

資料解讀:企業數字化 2.0 項目規劃建設方案微服務場景與數據應用 詳細資料請看本解讀文章的最后內容。 在數字化浪潮的席卷下,企業數字化轉型已成為提升競爭力、實現可持續發展的關鍵路徑。這份《企業數字化 2.0 項目規劃建設方案微服務場景與數據應用》…

Oracle OCP認證是否值得考?

Oracle OCP(Oracle Certified Professional)認證是數據庫領域的傳統權威認證,但隨著云數據庫和開源技術的崛起,其價值正面臨分化。是否值得考取,需結合你的職業定位、行業需求及長期規劃綜合判斷。以下是關鍵分析&…

藍橋杯之AT24C02的頁寫頁讀

一、原理: 1、頁寫:一次性向AT24C02里的多個數據存儲單元地址寫入多個數據 (1)在AT24C02的頁寫模式下,每次寫入數據后,存儲單元地址會自動加1。 (2)一頁有8個數據存儲單元&#xff…

大白話詳細解讀函數之柯里化

1. 函數柯里化是什么? 函數柯里化是一種將多參數函數轉換成一系列單參數函數的技術。簡單來說,就是把一個接收多個參數的函數,變成每次只接收一個參數,并返回一個新函數,直到所有參數都接收完畢,最后返回結…

【C++網絡編程】第2篇:簡單的TCP服務器與客戶端

一、TCP通信流程回顧 1. 服務器端流程 1. 創建Socket → socket() 2. 綁定地址和端口 → bind() 3. 開始監聽 → listen() 4. 接受客戶端連接 → accept() 5. 接收/發送數據 → recv()/send() 6. 關閉連接 → closesocket()2. 客戶端流程 1. 創建Socket → socket() 2. 連接…

Spring IoC DI入門

一、Spring,Spring Boot和Spring MVC的聯系及區別 Spring是另外兩個框架的基礎,是Java生態系統的核心框架,而SpringMVC是Spring 的子模塊,專注于 Web 層開發,基于 MVC 設計模式(模型-視圖-控制器&#xff…

【uniapp】記錄tabBar不顯示踩坑記錄

由于很久沒有使用uniapp了,官方文檔看著又雜亂,底部tab導航欄一直沒顯示,苦思許久,沒有發現原因,最后網上搜到帖子,list里的第一個數據,pages 的第一個 path 必須與 tabBar 的第一個 pagePath 相…

Zabbix安裝(保姆級教程)

Zabbix 是一款開源的企業級監控解決方案,能夠監控網絡的多個參數以及服務器、虛擬機、應用程序、服務、數據庫、網站和云的健康狀況和完整性。它提供了靈活的通知機制,允許用戶為幾乎任何事件配置基于電子郵件的告警,從而能夠快速響應服務器問…

穿透遞歸的本質:從無限夢境到可控魔法的蛻變之路

穿透遞歸的本質:從無限夢境到可控魔法的蛻變之路(C實現) 一、遞歸:程序員的盜夢空間 在計算機科學的宇宙中,遞歸是最接近魔法本質的編程范式。它像一面鏡子中的鏡子,引導我們通過自我相似性破解復雜問題。…

1.5.4 掌握Scala內建控制結構 - 條件循環

本次實戰主要圍繞Scala語言中的內建控制結構,特別是條件循環進行學習和實踐。通過while循環和do-while循環兩種結構,分別實現了計算1到100的累加和以及打印所有水仙花數的任務。在while循環中,首先定義了初始條件和循環條件,然后通…

MySQL程序

博主主頁: 碼農派大星. 數據結構專欄:Java數據結構 數據庫專欄:數據庫 JavaEE專欄:JavaEE 軟件測試專欄:軟件測試 關注博主帶你了解更多知識 1. mysqld (MySQL服務器) mysqld也被稱為MySQL服務器,是?個多線程程序,對數據?錄進?訪問管理(包含數據庫…

0321美團實習面試——技能大致內容

專業技能 1.掌握盒?模型,Flex響應式布局和BFC等問題 盒?模型 Flex布局 媒體查詢 結合Handleresize.ts監聽設備 BFC 2.掌握原型鏈,異步,事件循環和閉包等問題 原型鏈 異步 class Promise {static resolve(value) {if (value instanceof…

分布式任務調度

今天我們講講分布式定時任務調度—ElasticJob。 一、概述 1、什么是分布式任務調度 我們可以思考?下下?業務場景的解決?案: 某電商平臺需要每天上午10點,下午3點,晚上8點發放?批優惠券 某銀?系統需要在信?卡到期還款?的前三天進?短信提醒 某…

微分方程求解及推導過程

微分方程求解及推導過程 本文將系統地推導微分方程: d z ( t ) d t A z ( t ) B u ( t ) \frac{\mathrm{d}\boldsymbol{z}(t)}{\mathrm{d}t} \boldsymbol{A}z(t) \boldsymbol{B}u(t) dtdz(t)?Az(t)Bu(t) 的通解過程,并分析其物理意義。 1. 初始條…

SQL 中 WHERE 與 HAVING 子句的使用

在編寫 SQL 查詢時,數據過濾是常見需求。WHERE 和 HAVING 子句雖然都用于篩選數據,但實際用法大不相同。本文通過具體示例對比兩者的核心區別,并結合實際場景演示聯合使用技巧,助力快速掌握這兩個關鍵工具的正確用法。 一、數據表…

Sampling – Model Context Protocol Specification

網頁鏈接 https://spec.modelcontextprotocol.io/specification/draft/client/sampling/ 主要內容概述 該網頁詳細介紹了Model Context Protocol (MCP) 中的“Sampling”功能。Sampling允許服務器通過客戶端請求語言模型(LLM)生成文本、音頻或圖像內容…

STM32-匯編2、外設

1.異常處理 reserved保留 ;將所有異常都初始化成一個函數 2.nop 空指令,什么不干&#xf…

匯能感知高品質的多光譜相機VSC02UA

VSC02UA概要 VSC02UA是一款高品質的200萬像素的光譜相機,適用于工業檢測、農業、醫療等領域。VSC02UA 包含 1600 行1200 列有源像素陣列、片上 10 位 ADC 和圖像信號處理器。它帶有 USB2.0 接口,配合專門的電腦上位機軟件使用,可進行圖像采集…

在C語言基礎上學Java【Java】【一】

眾所周知,Java是C風格的語言,對于學過C語言的人學Java可以快速適應。 廢話不多說,直接邊看代碼邊學。 數據類型,輸入和輸出 import java.util.Scanner;//為了使用Scanner public class a1 {//a1是類名,就是文件名&am…

Spring組件初始化擴展點:BeanPostProcessor

目錄 一、概述二、BeanPostProcessor的作用三、核心方法解析1、postProcessBeforeInitialization2、postProcessAfterInitialization 四、實戰案例案例1:實現簡單的屬性打印案例2:動態代理增強(模擬AOP) 五、常見應用場景六、注意…