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

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

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

為了方便仿真這樣寫個(gè)ROM

ruikundianzi ? 來源:IP與SoC設(shè)計(jì) ? 作者:IP與SoC設(shè)計(jì) ? 2022-12-21 14:26 ? 次閱讀
FPGA中有專門的ROM IP Core,如果按照規(guī)范用Verilog編寫的ROM文件可以被工具綜合成RAM資源,而ASIC在需要后端去做專門Memory,前端仿真可以自己編寫RAM/ROM/FIFO/RegFile IP。為了方便仿真這樣寫個(gè)ROM,方便初始化。
module single_port_rom(/*autoarg*/
   // Outputs
   q,
   // Inputs
   addr, clk
   );


parameter DATA_WIDTH = 8;
parameter ADDR_WIDTH = 8;


input   [ADDR_WIDTH-1:0] addr;
input   clk;
output reg [DATA_WIDTH-1:0] q;


reg [DATA_WIDTH-1:0] rom[2**ADDR_WIDTH-1:0];


initial begins
    $readmemh("/home/IC/Digital_Front_End_Verilog/ip_lib/rtl/DDS/triangular.txt", rom);
  //$readmemb("sin.txt", rom);
end


always @ (posedge clk)begin
   q <= rom[addr];
end


endmodule
系統(tǒng)函數(shù)$readmemh和$readmemb分別用來讀取十六進(jìn)制文件和二進(jìn)制文件。貌似沒有讀十進(jìn)制的。txt中的數(shù)據(jù)每行一個(gè)不需要逗號和最后一個(gè)數(shù)據(jù)后面的分號,數(shù)據(jù)格式對應(yīng)。更多使用可以查詢IEEE的Verilog語法手冊。例化方式和rom IP一樣可參數(shù)化配置任意大小
single_port_rom 
#(
        .DATA_WIDTH(DATA_WIDTH),
        .ADDR_WIDTH(ADDR_WIDTH)
)
u_sin(/*autoinst*/
      // Outputs
      .q                                (dout[DATA_WIDTH-1:0]),
      // Inputs
      .addr                             (addra[ADDR_WIDTH-1:0]),
      .clk                              (clk));
整了三個(gè)波形,仿真能跑起來。 36bf3126-80ed-11ed-8abf-dac502259ad0.png36df6e46-80ed-11ed-8abf-dac502259ad0.png37024c18-80ed-11ed-8abf-dac502259ad0.png ? ? ? ? ?將設(shè)計(jì)電路參數(shù)化可重復(fù)使用,構(gòu)建自己的代碼庫,搭建起你的數(shù)字積木。

審核編輯 :李倩


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

    關(guān)注

    34

    文章

    1205

    瀏覽量

    120593
  • ROM
    ROM
    +關(guān)注

    關(guān)注

    4

    文章

    575

    瀏覽量

    85857
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110181

原文標(biāo)題:為了方便仿真這樣寫個(gè)ROM

文章出處:【微信號:IP與SoC設(shè)計(jì),微信公眾號:IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    ROM對計(jì)算機(jī)性能的影響

    只讀存儲(chǔ)器(ROM)是計(jì)算機(jī)硬件中的一個(gè)重要組成部分,它負(fù)責(zé)存儲(chǔ)計(jì)算機(jī)啟動(dòng)時(shí)必需的固件和基本輸入輸出系統(tǒng)(BIOS)。ROM的性能和質(zhì)量對計(jì)算機(jī)的整體性能有著深遠(yuǎn)的影響。 ROM的基本概念 R
    的頭像 發(fā)表于 11-04 10:31 ?420次閱讀

    ROM數(shù)據(jù)丟失的常見原因

    ROM(Read-Only Memory,只讀存儲(chǔ)器)是一種非易失性存儲(chǔ)器,用于存儲(chǔ)固件或系統(tǒng)軟件,這些數(shù)據(jù)在斷電后仍然可以保留。ROM數(shù)據(jù)丟失可能會(huì)導(dǎo)致設(shè)備無法啟動(dòng)或功能異常。 ROM數(shù)據(jù)丟失
    的頭像 發(fā)表于 11-04 10:29 ?960次閱讀

    了解ROM與固態(tài)硬盤的關(guān)系

    在計(jì)算機(jī)存儲(chǔ)領(lǐng)域,ROM(Read-Only Memory,只讀存儲(chǔ)器)和固態(tài)硬盤(Solid State Drive,簡稱SSD)是兩種不同類型的存儲(chǔ)技術(shù)。它們在功能、用途和性能上有著明顯的區(qū)別
    的頭像 發(fā)表于 11-04 10:24 ?773次閱讀

    手機(jī)中的ROM與內(nèi)存的區(qū)別

    1. ROM(只讀存儲(chǔ)器) 定義: ROM是一種非易失性存儲(chǔ)器,這意味著即使在斷電的情況下,存儲(chǔ)在ROM中的數(shù)據(jù)也不會(huì)丟失。在智能手機(jī)中,ROM主要用于存儲(chǔ)固件和操作系統(tǒng),以及一些預(yù)裝
    的頭像 發(fā)表于 11-04 10:23 ?1214次閱讀

    常見的ROM類型及其特點(diǎn)

    ROM(Read-Only Memory,只讀存儲(chǔ)器)是一種半導(dǎo)體存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)或其他電子設(shè)備中的固件或固定數(shù)據(jù)。ROM在系統(tǒng)啟動(dòng)時(shí)提供必要的啟動(dòng)代碼和數(shù)據(jù),確保設(shè)備能夠正常運(yùn)行。以下是一些
    的頭像 發(fā)表于 11-04 10:21 ?1326次閱讀

    ROM在嵌入式系統(tǒng)中的應(yīng)用

    ROM(Read-Only Memory,只讀存儲(chǔ)器)是一種非易失性存儲(chǔ)器,即使在斷電的情況下也能保持存儲(chǔ)的數(shù)據(jù)。在嵌入式系統(tǒng)中,ROM扮演著至關(guān)重要的角色,它用于存儲(chǔ)固件、操作系統(tǒng)、配置數(shù)據(jù)和啟動(dòng)
    的頭像 發(fā)表于 11-04 10:06 ?452次閱讀

    如何選擇適合的ROM類型

    在現(xiàn)代電子設(shè)備和計(jì)算機(jī)系統(tǒng)中,ROM扮演著至關(guān)重要的角色。它用于存儲(chǔ)固件、操作系統(tǒng)、啟動(dòng)代碼以及其他重要的系統(tǒng)信息。隨著技術(shù)的發(fā)展,ROM的種類和特性也在不斷變化。 1. ROM的基本概念 R
    的頭像 發(fā)表于 11-04 10:04 ?505次閱讀

    固態(tài)ROM的工作原理

    在計(jì)算機(jī)和電子設(shè)備的發(fā)展歷程中,存儲(chǔ)技術(shù)扮演了至關(guān)重要的角色。其中,固態(tài)ROM作為一種可靠的非易失性存儲(chǔ)解決方案,被廣泛應(yīng)用于各種設(shè)備中。 ROM的基本結(jié)構(gòu) ROM的基本結(jié)構(gòu)由存儲(chǔ)單元、地址解碼器
    的頭像 發(fā)表于 11-04 10:03 ?637次閱讀

    ROM和RAM的主要區(qū)別

    在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,存儲(chǔ)技術(shù)扮演著至關(guān)重要的角色。ROM和RAM是兩種基本的存儲(chǔ)類型,它們共同支撐著計(jì)算機(jī)的運(yùn)行。 一、定義與基本功能 1.1 ROM(只讀存儲(chǔ)器) ROM是一種非易失性存儲(chǔ)器,這
    的頭像 發(fā)表于 11-04 10:01 ?1711次閱讀

    什么是ROM存儲(chǔ)器的定義

    一、ROM存儲(chǔ)器的定義 ROM存儲(chǔ)器是一種在計(jì)算機(jī)和電子設(shè)備中用于存儲(chǔ)固定數(shù)據(jù)的存儲(chǔ)器。與RAM(隨機(jī)存取存儲(chǔ)器)不同,ROM存儲(chǔ)器中的數(shù)據(jù)在斷電后不會(huì)丟失,因此它被廣泛用于存儲(chǔ)不經(jīng)常改變的系統(tǒng)軟件
    的頭像 發(fā)表于 11-04 09:59 ?874次閱讀

    什么是RAM和ROM

    RAM(Random Access Memory,隨機(jī)存取存儲(chǔ)器)和ROM(Read-Only Memory,只讀存儲(chǔ)器)是計(jì)算機(jī)存儲(chǔ)系統(tǒng)中的兩種重要組成部分,它們在計(jì)算機(jī)的性能和功能上扮演著不同的角色。下面將分別詳細(xì)解釋RAM和ROM的定義、特點(diǎn)、工作原理、類型及其在計(jì)
    的頭像 發(fā)表于 08-30 11:38 ?4463次閱讀

    做emwin應(yīng)用,圖片太大,單片機(jī)ROM存不下怎么解決?

    在做emwin應(yīng)用,圖片太大,單片機(jī)ROM存不下! 開發(fā)板上有QSPI FLASH,想下載到這個(gè)存儲(chǔ)體里,但是不知道用什么樣的軟件 不知道ST有沒有相應(yīng)的軟件支持!知道STLINK可以,但是手頭沒有這個(gè)仿真器呀!捉急!
    發(fā)表于 05-09 06:23

    利用ISE與Matlab創(chuàng)建并仿真FPGA設(shè)計(jì)中的ROM IP核

    一般都是先創(chuàng)建MIF文件,將圖像中的像素信息用一個(gè)ROM儲(chǔ)存起來,然后調(diào)用ROM里面的地址進(jìn)行處理,相當(dāng)于制作了一個(gè)ROM查找表。
    發(fā)表于 04-16 11:49 ?644次閱讀
    利用ISE與Matlab創(chuàng)建并<b class='flag-5'>仿真</b>FPGA設(shè)計(jì)中的<b class='flag-5'>ROM</b> IP核

    rom是什么存儲(chǔ)器是內(nèi)存還是外存

    ROM(Read-Only Memory)是一種只讀存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序和數(shù)據(jù),它在計(jì)算機(jī)系統(tǒng)中扮演著非常重要的角色。ROM的存儲(chǔ)內(nèi)容在制造時(shí)就被寫入,并且在計(jì)算機(jī)運(yùn)行過程中不能被改變。ROM
    的頭像 發(fā)表于 02-05 10:05 ?6281次閱讀

    rom與ram的主要區(qū)別 rom斷電后數(shù)據(jù)會(huì)丟失嗎

    ROM(Read-Only Memory)是只讀存儲(chǔ)器,而RAM(Random Access Memory)是隨機(jī)存取存儲(chǔ)器。它們在計(jì)算機(jī)系統(tǒng)中扮演著不同的角色和功能。 ROM是一種非易失性存儲(chǔ)器
    的頭像 發(fā)表于 01-25 10:46 ?4275次閱讀