FPGA自學——存儲器模型

FPGA自學——存儲器模型

文章目錄

  • FPGA自學——存儲器模型
    • 一、IP核
    • 二、ROM(read only memory)
    • 三、ROM的IP核調用
    • 四、RAM(random access memory)
    • 五、RAM的IP核調用
  • 總結
    • 1.不同波形的使用的存儲器
    • 2.塊與分布式的選擇
    • 3.FPGA與模塊的容量資源計算
    • 4.控制寫入的ena和wea的區別
    • 5.下載手冊資源的方式

一、IP核

一)概念:是指芯片中具有獨立功能的電路模塊的成熟設計

二)常見IP核:

1.邏輯運算:與、或、非、異或等基本邏輯運算單元和復用器、循環位移器、三態緩存器和解碼器等相對復雜的邏輯運算模塊

2.數學運算:分為整數運算和浮點運算

整數運算:加法器、減法器、乘法器、除法器、比較器、計數器和絕對值計算器

浮點運算:浮點數加法器、浮點數減法器、浮點數乘法器、浮點數除法器、浮點數平方根計算器、浮點數指數計算器

3.存儲器IP:移位寄存器、觸發器、鎖存器的簡單的存儲器IP核和較為復雜ROM、RAM、FIFO和Flash存儲器等模塊

4.輸入/輸出IP核:時鐘控制器、鎖相環(PLL),低電壓差分信號(LVDS)、收發器、雙數據速率(DDR)I/O、訪問外部存儲器的DQ-DQS I/O,I/O緩存器

5.數字信號處理IP核:有限沖激響應濾波(FIR)編譯器,級聯積分梳狀(CIC)濾波器編譯器、數控振蕩器(NCO)編譯器以及快速傅里葉交換(FFT)等IP核,用于數字信號系統設計

6.數字通信IP核:RS碼編通器、循環冗余校驗(CRC)編譯器、8B/10B編/譯碼器、SONET/SDH物理層IP核

7.圖像處理IP核:2D FIR濾波器、2D中值濾波器、α混合器、視頻監視器、色度重采樣器、圖像裁剪器、視頻輸入和輸出模塊、測試模板生成器、視頻跟蹤系統模塊

8.芯片接口IP核:數字視頻廣播(DVB)的異步串行接口(AS1)、10/100/1000Mbps以太網接口、DDR和DDR2 SDRAM控制器、存儲器物理層訪問接口、PCI/PCI Expresso編譯器、Rapidlo和用于數字電視信號傳輸的串行數字接口(SDI)

9.設計調試IP核:ILA邏輯分析儀、串行和并行Flash加載器、系統內的源和探測模塊、虛擬JTAG

10.其他

三)應用示例

情況1: 某芯片,有500個寄存器,需要在上電的時候由FPGA向這些寄存器中寫入初始值,初始值通過相應的文檔給出來了具體值,這些值都是已知的

特點: 數據量較多; 數值已知固定;上電工作(一次);只需要讀取

功能選用: ROM:只讀存儲器

情況2: 信號源(ADC)以1微妙一個的速率產生12位的數據現要求獲得連續1毫秒內的數據,通過串口以115200的波特率發送到電腦

特點: 數據量1000(總數有限); 數據內容未知;數據的使用速度低于數據的產生速度(速率不匹配);需要重復利用(位寬不同)

速度計算: 串口——以兩次六位的方式進行傳輸,每次傳輸的bit數((起始位+停止位)+6)bit = 8bit

? 每個bit傳輸的時間為1000_000_000ns/115200 ≈ 8680ns ,一組數據傳輸8680ns*8 = 69440ns = 69.4微妙

? 數據源——1微妙產生兩組數據,一組數據的產生 = 0.5微妙

存在問題: 數據生產(12)和消耗(6)的位寬不同——需要重復利用

功能選用: RAM:可讀可寫

二、ROM(read only memory)

定義:只讀存儲器

特點:非易失性,斷電后數據不會丟失

應用:嵌入電腦主板或者做移動存儲介質,體積夠小,提供的容量可以比光盤核軟盤的大,速度也不慢

延展:

EPROMErasable Program ROM (可擦除編程ROM)紫外線光擦除
EEPROMElectric Erasable Program ROM (電可擦除編程ROM)一次擦除一個字節
FLASH按塊擦除

三、ROM的IP核調用

1.新建一個rom_test的工程文件

2.選擇對應的IP核,選擇塊存儲器生存器

在這里插入圖片描述

3.配置相關參數
在這里插入圖片描述
在這里插入圖片描述

4.生成并加載rom的初始化文件

在【原創】Mif精靈/mif(coe)文件生成器 - 芯路恒資料與技術支持專區 - 芯路恒電子技術論壇 - Powered by Discuz!下載Mif_Make_V2.4_exe.zip文件,并壓縮打開使用

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

5.查看總結

在這里插入圖片描述

6.生成

在這里插入圖片描述

7.查看IP核相關的代碼

找到例化代碼

在這里插入圖片描述

8.編寫測試文件

在這里插入圖片描述

`timescale 1ns / 1psmodule rom_tb();reg clka;reg [9:0] addra;wire [9:0] douta;rom rom_inst0 (.clka(clka),    // input wire clka.addra(addra),  // input wire [9 : 0] addra.douta(douta)  // output wire [9 : 0] douta
);//產生時鐘,以50MHz為準initial clka = 1;always #10 clka = ~clka;//也可以寫為clka = !clka;initial beginaddra = 100;#201;repeat(30000) begin //repeat循環addra = addra + 1'b1;#20;end#2000;$stop;end
endmodule

9.查看波形

數字波形,修改為十進制進行查看

在這里插入圖片描述

模擬波形

在這里插入圖片描述

四、RAM(random access memory)

一)介紹

定義:隨機存儲器,它可以隨時把數據寫入到任何一指定地址的存儲單元,也可以隨時從任一指定地址讀出數據,其讀寫速度由時鐘頻率決定,主要用來存放程序以及程序執行過程中產生的數據,運算結果等

種類:

在這里插入圖片描述

五、RAM的IP核調用

1.創建一個ram_test的項目工程文件

2.選用block ram的IP核

3.設計數據流向模塊圖

在這里插入圖片描述

4.根據數據流向模塊圖選擇配置
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

5.點擊生成即可

三)仿真測試

1.跟上面rom的步驟基本一致

2.仿真代碼實現

`timescale 1ns / 1nsmodule ram_tb();reg          clka     ;
reg          ena      ;
reg          wea      ;
reg [15 : 0] addra    ;
reg [15 : 0] dina     ;
reg          clkb     ;
reg          enb      ;
reg [15 : 0] addrb    ;
wire [15 : 0] doutb    ;ram ram_inst0 (.clka     (clka),    // input wire clka.ena      (ena),      // input wire ena.wea      (wea),      // input wire [0 : 0] wea.addra    (addra),  // input wire [15 : 0] addra.dina     (dina),    // input wire [15 : 0] dina.clkb     (clkb),    // input wire clkb.enb      (enb),      // input wire enb.addrb    (addrb),  // input wire [15 : 0] addrb.doutb    (doutb)  // output wire [15 : 0] doutb
);initial clka = 1;
always #10 clka = ~clka;
initial clkb = 1;
always #15 clkb = ~clkb;initial begin//初始化ena   = 0 ;wea   = 0 ;addra = 0 ;dina  = 0 ;enb   = 0 ;addrb = 0 ;//寫入#201repeat(65536) beginena = 1;wea = 1;#20;addra = addra + 1'b1;dina = dina + 1'b1;endena = 0;wea = 0;#2000;//讀出addrb = 65536;#300repeat (65535) beginenb = 1;#30 addrb = addrb - 1'b1;end#2000$stop;
endendmodule

3.仿真結果

在這里插入圖片描述

總結

1.不同波形的使用的存儲器

在這里插入圖片描述

2.塊與分布式的選擇

區別distributed(分布式)block(塊式)
資源LUT(查找表——本質是很小的ram)Block Memory(嵌入式的硬件RAM)
調用方式需要多少拿多少成塊拿取
用戶需求需求小,選用分布式需求大,選用塊式

3.FPGA與模塊的容量資源計算

以TFT屏幕為例:

**計算FPGA的最大容量:**RGB565 -> 需要16位寬 -> 選取的配置為16K×2 -> xc7z015-2(blocl ram有95)-> 計算最大容量:16K×95 = 190K

**TFT模塊:**RGB565 -> 需要16位寬 -> 屏幕大小800×480 =384K -> 需要容量 = 384K × 16 =

**資源不足時解決方法:**選擇部分屏幕進行顯示

4.控制寫入的ena和wea的區別

區別enawea
名稱Enable的縮寫Write Enable A的縮寫
作用控制RAM塊是否激活或工作控制數據是否寫入到指定地址的RAM中

wea使用時要注意位寬給限定字節大小的整數倍,wea的位寬位數就是倍數

在這里插入圖片描述

手冊wea的使用案例
在這里插入圖片描述

5.下載手冊資源的方式

1.使用vivado自帶功能進行下載

在這里插入圖片描述

2.查看文件

在這里插入圖片描述

3.如果無法成功下載,或下載后的文件打不開,使用自動打開的官網入口

在這里插入圖片描述

4.根據關鍵字進行搜索

在這里插入圖片描述

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

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

相關文章

【C++】stack和queue拓展學習

目錄 1.反向迭代器思路及實現 1.1. 源碼及框架分析 1.2. 實現反向迭代器 2.stack和queue練習拓展-計算器實現 2.1. 后綴表達式概念 2.2. 后綴表達式運算規則 2.3. 中綴表達式轉后綴表達式 2.3.1 轉換思路 2.3.2 代碼實現 2.4. 計算器實現 1.反向迭代器思路及實現 1.1…

Web3與區塊鏈如何革新網絡安全——走在前沿

隨著互聯網技術的飛速發展,網絡安全問題日益成為全球關注的焦點。Web3和區塊鏈技術作為新興的技術力量,正在逐步改變網絡安全的格局。本文將探討Web3和區塊鏈技術如何革新網絡安全,走在技術前沿。 1. Web3技術概述 Web3,即第三代互…

網絡初級安全第三次作業

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>用戶登錄</title><style>* {margin:…

CSS中用display實現元素的顯示/隱藏切換

** 通過display中的none和block ** 在前端開發中&#xff0c;display: none 和 display: block 是兩種常用的 CSS 顯示模式&#xff0c;核心區別在于&#xff1a;是否在頁面中保留元素的占位空間 1. 核心區別屬性display: nonedisplay: block占位空間元素完全從渲染樹中移除&am…

因果圖方法設計測試用例的價值與使用范圍

一、因果圖方法的核心原理 因果圖方法通過分析軟件規格說明中的輸入條件&#xff08;因&#xff09;和輸出結果&#xff08;果&#xff09;之間的邏輯關系&#xff0c;利用圖形化方式將這些關系清晰展現。它使用特定的符號表示因果關系&#xff08;如恒等、非、或、與&#xff…

智慧農服數字化平臺-數字科技賦能農業,開啟智慧三農新篇章

智慧農服數字化平臺數字科技賦能農業&#xff0c;開啟智慧三農新篇章平臺概覽在鄉村振興和農業現代化的時代背景下&#xff0c;我們推出了創新的農業服務數字化平臺——一個專為農業生產者打造的綜合性SaaS服務平臺。平臺以"科技助農、數據興農"為使命&#xff0c;通…

在線教育培訓課程視頻如何防下載、防盜錄?

在數字化學習日益普及的今天&#xff0c;高質量的在線課程已成為教育機構、知識付費平臺和講師的核心競爭力。如何在不影響學員正常學習體驗的前提下&#xff0c;有效防止課程視頻被惡意盜取&#xff1f;今天介紹在線教育課程防下載、防盜錄的10種視頻加密方法&#xff0c;看看…

圖像分析學習筆記(2):圖像處理基礎

圖像分析學習筆記&#xff1a;圖像處理基礎圖像增強方法圖像復原方法圖像分割方法形態學處理圖像增強方法 目的&#xff1a;改善視覺效果&#xff0c;例如增強對比度定義&#xff1a;為了改善視覺效果、便于人或計算機對圖像的分析理解&#xff0c;針對圖像的特點或存在的問題…

生存分析機器學習問題

研究目標&#xff1a; 開發一個機器學習模型&#xff0c;用于個性化預測XXX的總體生存期。 模型輸入&#xff1a;結合生存時間、治療方案、人口統計學特征和實驗室測試結果等多種特征。 模型輸出&#xff1a;預測二元結果&#xff08;活著 vs. 死亡&#xff09;。 應用場景&…

【華為機試】547. 省份數量

文章目錄547. 省份數量描述示例 1示例 2提示解題思路核心分析問題轉化算法選擇策略1. 深度優先搜索 (DFS)2. 廣度優先搜索 (BFS)3. 并查集 (Union-Find)算法實現詳解方法一&#xff1a;深度優先搜索 (DFS)方法二&#xff1a;廣度優先搜索 (BFS)方法三&#xff1a;并查集 (Union…

09_Spring Boot 整合 Freemarker 模板引擎的坑

09_Spring Boot 整合 Freemarker 模板引擎的坑 1.背景&#xff1a; springboot 版本&#xff1a;3.0.2 2. 引入依賴 在 pom.xml 中添加&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web<…

十七、【Linux系統yum倉庫管理】替換阿里源、搭建本地yum源

替換阿里源、搭建本地yum源本章學習目標內容簡介阿里外網源核心功能本地yum核心功能操作演示替換阿里外網源備份原有yum源清理沖突配置下載阿里源配置文件添加EPEL擴展源清理緩存重建索引驗證源狀態測試安裝軟件使用鏡像搭建本地倉庫準備ISO鏡像創建掛載點目錄掛載iso文件驗證掛…

家庭網絡怎么進行公網IP獲取,及內網端口映射外網訪問配置,附無公網IP提供互聯網連接方案

在家庭網絡中&#xff0c;我們常常需要通過公網IP來訪問內網中的設備&#xff0c;比如家庭NAS、Web服務器或監控攝像頭。要實現這個目標&#xff0c;首先要確保你的網絡具有一個可用的公網IP&#xff0c;然后通過路由器配置端口映射&#xff08;Port Forwarding&#xff09;。如…

(LeetCode 面試經典 150 題 ) 128. 最長連續序列 (哈希表)

題目&#xff1a;128. 最長連續序列 思路&#xff1a;哈希表&#xff0c;時間復雜度0(n)。 用集合set來實現哈希表的功能&#xff0c;記錄所有出現的元素。然后遍歷元素&#xff0c;細節看注釋。 C版本&#xff1a; class Solution { public:int longestConsecutive(vector&…

Altera Quartus:BAT批處理實現一鍵sof文件轉換為jic文件

sof文件是Quartus編譯默認生成的程序文件&#xff0c;用于通過JTAG口下載到FPGA內部RAM&#xff0c;斷電程序會丟失&#xff0c;jic文件是用于固化到外部Flash中的程序文件&#xff0c;斷電程序不會丟失。本文介紹如何通過批處理文件實現sof到jic的一鍵自動化轉換。 Quartus工程…

基于單片機嬰兒床/嬰兒搖籃/嬰兒車設計/嬰兒監護系統

傳送門 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品題目速選一覽表 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品題目功能速覽 概述 本設計實現了一種基于單片機的多功能智能嬰兒監護系統&#xff0c;集成于嬰兒床、搖籃或嬰兒車中…

Typora + 七牛云圖床終極配置教程

本文是一份超詳細的 Typora 七牛云圖床配置指南&#xff0c;旨在幫助你實現圖片“即插即用”的順滑寫作體驗。我們將一步步完成所有配置&#xff0c;并特別針對配置過程中最常見的三個錯誤&#xff1a;ENOTFOUND (找不到服務器)、401 (無權訪問) 和 Document not found (文件不…

高性能熔斷限流實現:Spring Cloud Gateway 在電商系統的實戰優化

一、為什么需要高性能熔斷限流&#xff1f; 在電商系統中&#xff0c;尤其是大促期間&#xff0c;系統面臨的流量可能是平時的數十倍甚至上百倍。 這樣的場景下&#xff0c;熔斷限流不再是可選功能&#xff0c;而是保障系統穩定的生命線。傳統方案的問題&#xff1a; 限流精度不…

計算機網絡1.1:計算機網絡在信息時代的作用

計算機網絡已由一種通信基礎設施發展成為一種重要的信息服務基礎設施。計算機網絡已經像水、電、煤氣這些基礎設施一樣&#xff0c;成為我們生活中不可或缺的一部分。

Component cannot be used as a JSX component

今天在使用 React Ts&#xff0c;使用 react-icons 這個庫的時候&#xff0c;遇到了這個問題&#xff1a;原因用一句話概括就是 Ts 的版本太低了&#xff01; 我的 package.json&#xff1a; {"name": "frontend","version": "0.1.0"…