Quartus 聯合 ModelSim 仿真 IP 核(RAM)

文章目錄

  • ModelSim 路徑設置
  • 創建 RAM
  • 進行仿真

本文主要介紹如何在包含 IP 核的 Quartus 項目中使用 Modelsim 進行仿真,本文基于 IP 核 RAM: 2-PORT,其他 IP 核類似。

ModelSim 路徑設置

點擊 Tools->Options

請添加圖片描述

點擊 EDA Tool Options,設置好 ModelSim 的路徑,需要注意的是,路徑一定要以 / 結尾,否則無法正確進行仿真(比如 D:/Programs/ModelSim/win64 就是錯誤的寫法)。

如果使用 Questa Intel FPGA 來仿真,也一定要檢查對應的路徑是否是 / 結尾

請添加圖片描述

創建 RAM

打開 IP Catalog,雙擊 RAM: 2-PORT

請添加圖片描述

首先設置好 IP variation 的路徑,接下來會進入 IP 核配置界面。

請添加圖片描述

按個人需求配置 RAM 即可,有幾個地方需要注意。首先下圖中 Read output ports 如果勾選的話,輸出結果會延遲一個周期,這里取消勾選

請添加圖片描述

其次,可以使用 .hex 或者 .mif 文件來對 RAM 進行初始化,這兩種文件如何創建后面會介紹。如果要用 Modelsim 來仿真,下圖中 .hex 或者 .mif 文件的路徑最好還是使用絕對路徑,否則 ModelSim 可能找不到這個文件

如果要使用相對路徑,那么最好將 .hex 或者 .mif 文件保存在當前項目所在的目錄下,即 File name 那一欄應該是 ./YOUR_FILENAME.mif

請添加圖片描述

最后非常重要的是,下圖中 Generate netlist 一定要勾選上,否則 ModelSim 無法仿真

請添加圖片描述

最后,點擊 Finish 即可生成 IP 核

請添加圖片描述

.hex 或者 .mif 文件的生成:

  1. 點擊 File->New

    請添加圖片描述

  2. 點擊 Memory Files 下面的 Hexadecimal File 或者 Memory Initialization File,這里選擇 mif

    請添加圖片描述

  3. 設置好 words 的數量和大小,需要和 RAM 保持一致
    請添加圖片描述

  4. 在下面填入對應的值后保存即可

    請添加圖片描述

進行仿真

點擊 Assignments->Settings

請添加圖片描述

點擊 EDA Tool Settings->Simulation,將 Tool name 設置為 ModelSim

請添加圖片描述

接下來指定 Test bench,點擊下圖中的 Test Benches

請添加圖片描述

點擊 New

請添加圖片描述

設置好名字,然后點擊 File name 右邊的三個點來添加 tb 文件

請添加圖片描述

添加好后依次點擊 OK 退出即可

請添加圖片描述

接下來點擊下圖中的 RTL Simualtion 即可開始模擬

請添加圖片描述

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

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

相關文章

BeanFactory、FactroyBean、ApplicationContext

BeanFactory Ioc容器、定義接口規范來管理spring bean的生命周期、依賴、注入,spring中有各種Ioc容器 FactroyBean 定制的工廠Bean,可以通過抽象工廠方式創建的bean,不納入spring的生命周期、依賴、注入特性,相當于spring給第三…

string OJ題

下面分享一下string做題心得 1. 明白字符串中存儲的數字為0 8 9與0 8 9 完全不同,字符0其實在串中存儲的是48,要有意識的轉化。字符串中如果存數字8,意味著存了BS(退格) 例如1: 算出結果為5,存…

MySQL 用戶變量賦值、查詢賦值、滾動賦值

在MySQL中,用戶變量是一種在會話級別存儲和重用值的方式,它們以符號開頭。用戶變量可以在查詢中用來存儲和傳遞數據,增強SQL腳本的功能性。 定義和賦值用戶變量用戶變量可以直接在查詢中定義并賦值,不需要預先聲明。賦值可以使用S…

springboot+mybatis+druid 配置單實例多數據源

第一步&#xff1a;pom中添加依賴 <!--mybatis多數據源--><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>2.5.6</version></dependency> 第…

Selenium 自動化測試工具<2>(Selenium 常用API的使用方法)

文章目錄 瀏覽器操作瀏覽器最大化設置瀏覽器的大小瀏覽器的前進和后退操作瀏覽器滾動條 鍵盤事件單個按鍵用法鍵盤組合鍵用法 鼠標事件不同窗口搜索定位一組元素定位多層框架下拉框定位alert、confirm、prompt 的處理上傳文件操作自動截屏 繼上一篇文章對 Selenium API 的使用&…

RT-DRET在實時目標檢測上超越YOLO8

導讀 目標檢測作為計算機視覺的核心任務之一&#xff0c;其研究已經從基于CNN的架構發展到基于Transformer的架構&#xff0c;如DETR&#xff0c;后者通過簡化流程實現端到端檢測&#xff0c;消除了手工設計的組件。盡管如此&#xff0c;DETR的高計算成本限制了其在實時目標檢測…

搭建屬于自己的 Git 倉庫:GitLab

搭建屬于自己的 Git 倉庫&#xff1a;使用 GitLab 文章目錄 搭建屬于自己的 Git 倉庫&#xff1a;使用 GitLab什么是 GitLab&#xff1f;準備工作安裝 Docker使用Docker Compose 快速構建GitLab1、從docker compose快速搭建GitLab2、部署到服務器并訪問3、瀏覽器訪問 在現代軟件…

【數據結構】------C語言實現二叉樹

作者主頁&#xff1a;作者主頁 數據結構專欄&#xff1a;數據結構 創作時間 &#xff1a;2024年5月20日 一、二叉樹的定義 二叉樹(Binary Tree) 是由n個結點構成的有限集(n≥0)&#xff0c;n0時為空樹&#xff0c;n>0時為非空樹。 對于非空樹&#xff1a; 有且僅有一個根…

接口自動化核心模塊Requests詳解(一)

一、Requests簡介 Python的Requests庫是一個功能強大且簡潔的庫&#xff0c;提供了簡單易用的接口來處理HTTP請求。 二、Requests的使用步驟 2.1 安裝Requests庫 在終端命令行&#xff0c;使用pip命令進行安裝&#xff0c; pip install requests 2.2 Requests庫常用方法…

騰訊Java社招面試題真題,最新面試題

Java中synchronized和ReentrantLock有什么區別&#xff1f; 1、鎖的實現方式不同&#xff1a; synchronized是JVM層面的鎖&#xff0c;主要依賴于監視器對象&#xff08;monitor&#xff09;實現。ReentrantLock是JDK層面的鎖&#xff0c;通過Java代碼實現&#xff0c;提供了更…

語雀——云知識庫/筆記

對于日常進行學習/創作或是記錄學習、工作內容與心得的群體來說&#xff0c;能夠及時同步的云筆記應用有著廣泛的應用場景。近期&#xff0c;我也探索了許多款不同的軟件應用&#xff0c;今天來分享一款很有特點的應用——語雀。 語雀&#xff0c;為每一個人提供優秀的文檔和知…

1.6 什么是程序-編譯與調試

目錄 1 程序的作用 2 新建項目及編譯運行 2.1 新建項目 2.2 HelloWorld 程序說明 2.3 printf 打印輸出 2.4 注釋 3 程序的編譯過程及項目位置 4 斷點及調試窗口設置 5 學習C語言后的境界 1 程序的作用 如下圖所示&#xff0c;我們編寫了一個可以做加法的程序&#xf…

vue3 vite項目配置了proxy代理情況下查看真實的接口調用地址

vite配置了proxy代理情況下如何查看真實的接口調用地址? 使用vite進行代理 在vite.config.ts配置了代理 在瀏覽器查看請求頭和響應頭發現只有代理前的url&#xff0c;沒有顯示代理后的路徑 然后發現一個bypass函數&#xff0c;但是此函數只能修改res響應頭的數據&#xff0…

C語言基礎-鏈表和數組的區別

在C語言中&#xff0c;鏈表&#xff08;Linked List&#xff09;和數組&#xff08;Array&#xff09;是兩種常用的數據結構&#xff0c;它們在數據存儲和訪問上各有其獨特的作用和優勢。以下是對這兩種數據結構的作用以及它們之間的不同點的詳細說明&#xff1a; 數組&#x…

Dockerfile文件詳細介紹

前言 Dockerfile是一個文本文件&#xff0c;包含了用于構建Docker鏡像的所有命令和說明。它定義了容器的運行環境、依賴以及啟動方式&#xff0c;是創建Docker鏡像的核心部分。 由于制作鏡像的過程中&#xff0c;需要逐層處理和打包&#xff0c;比較復雜&#xff0c;所以Docke…

實戰復盤:內網環境滲透ms-SQL數據庫

滲透環境&#xff1a;如下圖所示&#xff0c;web服務器、ms-SQL服務器、PC客戶端在同一個網絡中&#xff0c;彼此之間&#xff0c;沒有路由器或防火墻的隔離&#xff0c;這是一種危險的網絡結構&#xff0c;入侵ms-SQL服務器&#xff0c;非常容易。&#xff08;實戰中&#xff…

整理了10個靠譜且熱門的賺錢軟件,適合普通人長期做的賺錢副業

作為一名普通的上班族&#xff0c;我們每天都在辛勤工作&#xff0c;但工資的增長速度卻如同蝸牛般緩慢。不過&#xff0c;別擔心&#xff0c;信息時代總是帶給我們無盡的驚喜&#xff01;今天&#xff0c;我將為大家推薦一些賺錢的寶藏軟件&#xff0c;讓你在閑暇之余輕松實現…

Java-Zookeeper

zookeeper是什么 一個分布式、開源的分布式應用程序協調服務&#xff0c;具有配置維護、域名服務、分布式同步、組服務等 zookeeper有哪些功能 功能簡介集群管理監控節點狀態、運行請求等主節點選舉主節點掛掉之后會執行新主選舉分布式鎖zookeeper提供兩種鎖&#xff1a;獨占…

IEDA常用快捷鍵(后續更新ing)

1. 快速生成語句 1.快速生成main()方法 psvm或者main回車 2.快速生成輸出語句 sout,回車 3.快速生成for循環 fori或者itar,回車 2.快捷鍵 含義操作查找文本CtrlF替換文本CtrlR單行注釋Ctrl/多行注釋CtrlShift/格式化CtrlAltL復制當前內容至下一行CtrlD補全代碼Alt/快速生成…

RAGs:自動化評估 RAG 示例代碼

文章目錄 原理忠實度&#xff08;Faithfulness&#xff09;答案相關性&#xff08;Answer Relevance&#xff09;上下文相關性&#xff08;Context Relevance&#xff09;上下文召回率&#xff08;Context Recall&#xff09;答案正確性&#xff08;Answer Correctness&#xf…