99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

教你們怎么生成BRAM初始值的coe文件

FPGA之家 ? 來源:成長助推 ? 作者:成長助推 ? 2021-06-07 11:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Vivado中BRAM IP核是經(jīng)常會用到的,而一種比較簡便的給RAM賦初值的方式就是通過一個coe文件進行加載,那么如何用matlab來產(chǎn)生這樣一個可直接使用的coe文件呢?

COE文件的通用格式

首先我們來了解下COE文件的通用格式:

COE文件是一種ASCII文本文件,文件頭部定義數(shù)據(jù)基數(shù)(Radix),可以是2,10或16。數(shù)據(jù)則以向量的形式給出,每個向量以分號結(jié)尾。Vivado會解析COE文件格式,并在生成IP核時導(dǎo)出相關(guān)的MIF格式文件,用于行為級仿真。

COE文件的通用語法格式如下:

Keyword =Value ; 注釋《Radix_Keyword》 =Value ; 注釋《Data_Keyword》 =Data_Value1, Data_Value2, Data_Value3;

COE語法不區(qū)分關(guān)鍵詞的大小寫;分號后為注釋。

與定義數(shù)據(jù)值的基數(shù)相關(guān)的關(guān)鍵詞:

Radix:用于非存儲類型IP核的基數(shù)定義;Memory_Initialization_Radix:定義存儲器初始化值的基數(shù)。

與數(shù)據(jù)值相關(guān)的關(guān)鍵詞:

CoefData:定義濾波器的系數(shù);Memory_Initialization_Vector:定義塊存儲器與分布式存儲器的數(shù)據(jù);Pattern:用于位相關(guān)器(Bit Correlator)COE文件;Branch_Length_Vector:用于Interleaver COE文件。

COE文件最后定義的關(guān)鍵詞必須是Coefdata或Memory_Initialization_Vector,之后的關(guān)鍵詞定義都會被忽略。

Block Memory COE

Memory_Initialization_Radix=10;Memory_Initialization_Vector=Data_Value1, Data_Value2, Data_Value3;

Matlab產(chǎn)生coe文件的代碼:

fid = fopen(‘Coe_File.coe’,‘w+’); fprintf(fid,‘Memory_Initialization_Radix = 10; ’); fprintf(fid,‘Memory_Initialization_Vector = ’); fprintf(fid,‘%g, ’,Data_Value(1:end-1)); fprintf(fid,‘%g; ’,Data_Value(end)); fclose(fid);

生成的MIF文件

COE文件提供了一種設(shè)置內(nèi)存初始化值的高層次方法,但實際上并不能直接使用。當(dāng)生成IP核時,Vivado會將COE文件轉(zhuǎn)換為MIF文件。MIF文件保存了原始值,用于存儲類IP核的初始化和仿真模型。

MIF文件中每一行代表一個存儲位置,如第一行代表地址0,第二行代表地址1……每一行必須是初始化值(高位在前),與之相關(guān)的內(nèi)存地址為二進制格式。在HDL仿真時,MIF文件必須仿真仿真目錄下。使用Vivado Simulator仿真時Vivado會自動完成相關(guān)操作。

最好將COE文件放在與使用此文件的IP核同目錄下(即與XCI文件同目錄),這樣在使用Core Cotainer打包IP核時也會將COE文件打包到XCIX文件中。當(dāng)替換COE文件時,必須要刪掉舊的COE文件,否則也會傳遞到工程的綜合過程中;需要注意,如果只是在磁盤上刪掉了文件,而不是在工程中移除,會導(dǎo)致報告一個error。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 濾波器
    +關(guān)注

    關(guān)注

    162

    文章

    8122

    瀏覽量

    181623
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1391

    瀏覽量

    117169
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1798

    瀏覽量

    152286
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4895

    瀏覽量

    70485

原文標題:vivado | 如何生成BRAM初始值的coe文件?

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Analog Devices / Maxim Integrated PD60-4H-1461-CoE單軸步進電機數(shù)據(jù)手冊

    Analog Devices PD60-4H-1461-CoE單軸步進電機設(shè)計用作伺服驅(qū)動器,實現(xiàn)高達+48V電源電壓和高達3Nm扭矩。PD60-4H-1461-CoE設(shè)有用于電機閉環(huán)操作的內(nèi)置磁性
    的頭像 發(fā)表于 06-12 15:10 ?147次閱讀
    Analog Devices / Maxim Integrated PD60-4H-1461-<b class='flag-5'>CoE</b>單軸步進電機數(shù)據(jù)手冊

    基于FPGA搭建神經(jīng)網(wǎng)絡(luò)的步驟解析

    文件是為了將其寫入rom,網(wǎng)絡(luò)中的權(quán)重和偏置通過讀取ROM即可,后續(xù)需要修改輸入其他特征,只需要修改input的rom里面的coe文件即可)。
    的頭像 發(fā)表于 06-03 15:51 ?353次閱讀
    基于FPGA搭建神經(jīng)網(wǎng)絡(luò)的步驟解析

    STM32CubeMX用于STM32配置和初始化C代碼生成

    電子發(fā)燒友網(wǎng)站提供《STM32CubeMX用于STM32配置和初始化C代碼生成.pdf》資料免費下載
    發(fā)表于 02-26 17:32 ?658次下載

    ADS1298 CONFIG2讀取初始值不正常是什么原因引起的?

    你好,我從貴公司申請了幾片ADS1298的芯片,使用后發(fā)現(xiàn)以下問題:1。芯片ID,CONFIG2讀取初始值不正常2。前四個通道控制寄存器讀寫正常,后四個通道寄存器無法讀寫,請問是否出現(xiàn)過類似情況,望盡快回復(fù),謝謝
    發(fā)表于 02-13 08:02

    AFE5801到底怎么讀TGC registers寄存器組的?

    大家好,請教你們AFE5801的一個問題。AFE5801在配置了SPI讀使能之后,我讀出的地址到底是general-purpose registers的還是TGC registers的?因為這兩組寄存器的地址是重合的。到底
    發(fā)表于 02-11 07:54

    TLC5615芯片輸出的初始值是不是為0?

    TLC5615芯片輸出的初始值是不是為0,還有為什么我的5615芯片我給了數(shù)據(jù)進入要么就是輸出的0V要么就是輸出的4.8或者5V
    發(fā)表于 01-20 09:25

    ads1232重復(fù)上電AD初始值相差很大怎么解決?

    傳感器,AD也成線性變化,測量沒有問題,只是初始AD變大了。請問這是什么情況,怎么解決,在網(wǎng)上有看到遇到類似問題的,但是沒看到解決辦法。初始化有進行偏移校準,偏移校準去掉也是一樣的,包括PWDN拉高前延時1ms也沒效果。
    發(fā)表于 12-17 06:39

    ads124s08把AIN0端口接入的采集電壓斷開或者接通,芯片的寄存器所有配置都變成默認的初始值了,為什么?

    題是我把AIN0端口接入的采集電壓斷開或者接通,芯片的寄存器所有配置都變成默認的初始值了,整個芯片進行復(fù)位。我不知道這個是原因。下面是我的連接圖。
    發(fā)表于 12-13 07:06

    AFE4404沒有接外部時鐘,4404寄存器的為初始值,能夠通過IIC修改寄存器嗎?

    1、首先AFE4404寄存器默認使用外部時鐘,CLK引腳是否必須要先接一個時鐘,通過修改寄存器的改為內(nèi)部時鐘,然后再停止外部時鐘?? 2、假如沒有接外部時鐘,4404寄存器的為初始值,能夠通過IIC修改寄存器? 3、通過I
    發(fā)表于 12-06 06:35

    使用ADS1256的8個Single-Ended輸入去采集壓力傳感器數(shù)據(jù),壓力傳感器空載時AIN0-AIN7 8個通道初始值不是直線,為什么?

    最近使用ADS1256的8個Single-Ended輸入去采集壓力傳感器數(shù)據(jù),發(fā)現(xiàn)在壓力傳感器空載的時候,AIN0-AIN7 8個通道的初始值不是一條直線, 而是有規(guī)律地被拉低,剛好與讀取數(shù)據(jù)
    發(fā)表于 12-04 07:45

    labview程序生成exe文件怎么還原

    在LabVIEW中,程序生成exe文件后,通常這個過程是不可逆的,即exe文件無法直接“還原”回原始的LabVIEW項目文件(.vi或.lvproj)。exe
    的頭像 發(fā)表于 09-04 17:12 ?3145次閱讀

    labview工程文件如何生成exe

    生成可執(zhí)行文件(EXE)是LabVIEW程序開發(fā)過程中的一個重要步驟,它允許用戶在沒有安裝LabVIEW的計算機上運行程序。以下是步驟和注意事項: 1. 準備工作 在開始生成EXE文件
    的頭像 發(fā)表于 09-04 17:09 ?3089次閱讀

    labview怎么生成可執(zhí)行文件

    生成可執(zhí)行文件(EXE)是LabVIEW程序開發(fā)中的一個重要步驟,它允許用戶將LabVIEW項目打包成一個獨立的應(yīng)用程序,便于在沒有安裝LabVIEW的計算機上運行。 1. 準備工作 在開始生成
    的頭像 發(fā)表于 09-04 17:07 ?1801次閱讀

    SinaPos的輸入接口

    輸入接口包括 19 個不同數(shù)據(jù)格式的輸入。 功能塊的初始配置期間,這些輸入均設(shè)置有初始值。輸入接口一覽如下:
    發(fā)表于 09-02 14:41 ?0次下載

    copy table中存放的是否為初始值不為0的data段所在PFlash的地址信息?

    1. copy table中存放的是否為初始值不為0的data段所在PFlash的地址信息?(比如:int a = 10; 變量a被存放到了PFlash的0x8030001c處,copy table
    發(fā)表于 07-02 07:51