91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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

    文章

    8411

    瀏覽量

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

    關(guān)注

    8

    文章

    1399

    瀏覽量

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

    關(guān)注

    5

    文章

    1863

    瀏覽量

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

    關(guān)注

    30

    文章

    4967

    瀏覽量

    73960

原文標(biāo)題:vivado | 如何生成BRAM初始值的coe文件?

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    關(guān)聯(lián)使能VP時為何改變VP默認(rèn)初始值?控件關(guān)聯(lián)了使能VP變量,為何默認(rèn)不是0?

    關(guān)聯(lián)使能VP時為何改變VP默認(rèn)初始值?控件關(guān)聯(lián)了使能VP變量,為何默認(rèn)不是0?
    發(fā)表于 02-03 14:19

    國民技術(shù)發(fā)布N32Cube芯片配置與初始化代碼生成工具

    1月30日,國民技術(shù)(NSING)正式發(fā)布N32Cube——芯片配置與初始化代碼生成工具,讓時鐘、引腳與外設(shè)的配置一目了然、輕松上手!
    的頭像 發(fā)表于 02-02 15:26 ?541次閱讀
    國民技術(shù)發(fā)布N32Cube芯片配置與<b class='flag-5'>初始</b>化代碼<b class='flag-5'>生成</b>工具

    HLS設(shè)計中的BRAM使用優(yōu)勢

    高層次綜合(HLS)是一種將高級編程語言(如C、C++或SystemC)轉(zhuǎn)換為硬件描述語言(HDL)的設(shè)計方法。在FPGA設(shè)計中,設(shè)計者可以靈活地利用FPGA內(nèi)部的資源,如塊RAM(BRAM)。雖然
    的頭像 發(fā)表于 01-28 14:36 ?244次閱讀

    如何將Primus生成的波形文件導(dǎo)入MATLAB

    VCD 文件及其查看器,如 GTKWave,擅長記錄和展示波形,而 MATLAB 擅長對復(fù)雜數(shù)據(jù)進行計算、分析和可視化。在項目設(shè)計開發(fā)階段,有時候,我們需要將 EDA 工具生成的波形數(shù)據(jù),導(dǎo)入到 MATLAB 中進行更深入的分析、處理或可視化。
    的頭像 發(fā)表于 12-23 14:22 ?635次閱讀

    智能顯示模塊怎么在顯示工程中給寄存器設(shè)置初始值?我想給變量一個上電的默認(rèn)該如何設(shè)置?

    智能顯示模塊怎么在顯示工程中給寄存器設(shè)置初始值?我想給變量一個上電的默認(rèn)該如何設(shè)置?
    發(fā)表于 12-11 09:54

    智能顯示模塊怎么在顯示工程中給寄存器設(shè)置初始值?我想給變量一個上電的默認(rèn)該如何設(shè)置?

    智能顯示模塊怎么在顯示工程中給寄存器設(shè)置初始值?我想給變量一個上電的默認(rèn)該如何設(shè)置?
    發(fā)表于 12-06 10:20

    Xilinx BRAM IP核配置及其例化

    width代表數(shù)據(jù)位寬,depth代表數(shù)據(jù)個數(shù) 操作模式建議選擇寫優(yōu)先,一般只有使用coe初始化后不再寫BRAM,才使用讀優(yōu)先 RAM內(nèi)存空間的初始化可以通過裝載.
    發(fā)表于 10-24 06:10

    如何在Vivado上仿真蜂鳥SOC,仿真NucleiStudio編譯好的程序

    ram的IP就可以 2. 將機器指令初始化到ITCM的bank-ram-IP 生成的機器指令在這里 然后我們需要把它轉(zhuǎn)化為coe文件 我們參考網(wǎng)上的相關(guān)代碼,做了hex到
    發(fā)表于 10-21 11:08

    如何確定電能質(zhì)量在線監(jiān)測裝置的初始報警閾值?

    確定電能質(zhì)量在線監(jiān)測裝置的初始報警閾值,需遵循 “ 標(biāo)準(zhǔn)為基、負(fù)載為核、設(shè)備為限 ” 的原則,分 4 步完成,確保初始值既合規(guī)又貼合實際需求,避免后續(xù)頻繁調(diào)整。以下是具體實操方法,附指標(biāo)示例與場景
    的頭像 發(fā)表于 10-10 16:57 ?1106次閱讀

    使用env生成的keil文件好多文件找不到路徑,為什么?

    使用env生成文件,使用了 scons —target=mdk5 —dist命令生成文件 但是用mdk打開后全是報錯 請問大佬有遇到這種情況嗎
    發(fā)表于 09-23 06:41

    GraniStudio:初始化例程

    1.文件運行 導(dǎo)入工程 雙擊運行桌面GraniStudio.exe。 通過引導(dǎo)界面導(dǎo)入初始化例程,點擊導(dǎo)入按鈕。 打開初始化例程所在路徑,選中初始化.gsp
    的頭像 發(fā)表于 08-22 16:45 ?893次閱讀
    GraniStudio:<b class='flag-5'>初始</b>化例程

    請問如何使用 PinConfigure 工具生成 GPIO 代碼文件和 OrCAD/Protel IC 組件?

    的位置; 4. 點擊生成代碼,生成設(shè)置好的GPIO初始代碼(.c文件); 5. 單擊“運行 NuCAD”以生成 OrCAD/Protel I
    發(fā)表于 08-18 07:32

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

    Analog Devices PD60-4H-1461-CoE單軸步進電機設(shè)計用作伺服驅(qū)動器,實現(xiàn)高達(dá)+48V電源電壓和高達(dá)3Nm扭矩。PD60-4H-1461-CoE設(shè)有用于電機閉環(huán)操作的內(nèi)置磁性
    的頭像 發(fā)表于 06-12 15:10 ?799次閱讀
    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 ?1194次閱讀
    基于FPGA搭建神經(jīng)網(wǎng)絡(luò)的步驟解析

    PanDao:實際約束條件下成像系統(tǒng)的初始結(jié)構(gòu)的生成

    摘要 :初始點的選擇對后續(xù)設(shè)計過程具有重大影響。除透鏡規(guī)格外,其它必要的實際約束條件也可能起到非常關(guān)鍵的作用。本研究采用“First Time Right”方法生成受約束的初始系統(tǒng),并運用
    發(fā)表于 05-07 08:57