FPGA中有專門的ROM IP Core,如果按照規(guī)范用Verilog編寫的ROM文件可以被工具綜合成RAM資源,而ASIC在需要后端去做專門Memory,前端仿真可以自己編寫RAM/ROM/FIFO/RegFile IP。為了方便仿真這樣寫個(gè)ROM,方便初始化。


?
?
?
?
?將設(shè)計(jì)電路參數(shù)化可重復(fù)使用,構(gòu)建自己的代碼庫,搭建起你的數(shù)字積木。
module single_port_rom(/*autoarg*/
Outputs
q,
Inputs
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
rom);
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è)波形,仿真能跑起來。


?
?
?
?
?將設(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文章
1267瀏覽量
123827 -
ROM
+關(guān)注
關(guān)注
4文章
578瀏覽量
88400 -
Verilog
+關(guān)注
關(guān)注
30文章
1369瀏覽量
113929
原文標(biāo)題:為了方便仿真這樣寫個(gè)ROM
文章出處:【微信號:IP與SoC設(shè)計(jì),微信公眾號:IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
熱點(diǎn)推薦
RISCV指令二進(jìn)制編碼利用matlab生成E203仿真可用文件
鑒于nuclei studio IDE生成的.verilog難懂,為了方便對單條或者幾條指令進(jìn)行測試,我們隊(duì)伍編寫了matlab代碼來實(shí)現(xiàn)E203仿真可以識別到的文件。
matlab代碼如下
發(fā)表于 10-22 07:06
Simcenter FLOEFD BCI-ROM和Package Creator模塊
優(yōu)勢采用獨(dú)立于邊界條件的降階模型(BCI-ROM)加速執(zhí)行瞬態(tài)熱仿真,同時(shí)采用PackageCreator輕松創(chuàng)建電子封裝熱模型。求解速度比完整的3D詳細(xì)模型快40,000倍,且不折損精度有效保持
Simcenter Flotherm BCI-ROM技術(shù):與邊界條件無關(guān)的降階模型可加速電子熱設(shè)計(jì)
BCI-ROM可生成為矩陣類型、用于電路仿真的電熱模型(VHDL-AMS格式)、用于系統(tǒng)仿真(FMU格式)的模型,甚至用于3DCFD的嵌入式BCI-ROM從根據(jù)熱瞬態(tài)測試數(shù)
Stellaris LM3S1627 ROM用戶指南
電子發(fā)燒友網(wǎng)站提供《Stellaris LM3S1627 ROM用戶指南.pdf》資料免費(fèi)下載
發(fā)表于 12-23 16:33
?0次下載
Stellaris LM3S2678 ROM用戶指南
電子發(fā)燒友網(wǎng)站提供《Stellaris LM3S2678 ROM用戶指南.pdf》資料免費(fèi)下載
發(fā)表于 12-23 16:28
?0次下載
Stellaris LM3S3748 ROM用戶指南
電子發(fā)燒友網(wǎng)站提供《Stellaris LM3S3748 ROM用戶指南.pdf》資料免費(fèi)下載
發(fā)表于 12-23 16:26
?32次下載
Stellaris LM3S1607 ROM用戶指南
電子發(fā)燒友網(wǎng)站提供《Stellaris LM3S1607 ROM用戶指南.pdf》資料免費(fèi)下載
發(fā)表于 12-23 16:25
?0次下載
Stellaris LM3S3739 ROM用戶指南
電子發(fā)燒友網(wǎng)站提供《Stellaris LM3S3739 ROM用戶指南.pdf》資料免費(fèi)下載
發(fā)表于 12-23 16:23
?0次下載
Stellaris LM3S2616 ROM用戶指南
電子發(fā)燒友網(wǎng)站提供《Stellaris LM3S2616 ROM用戶指南.pdf》資料免費(fèi)下載
發(fā)表于 12-23 16:21
?0次下載
Stellaris LM3S1626 ROM用戶指南
電子發(fā)燒友網(wǎng)站提供《Stellaris LM3S1626 ROM用戶指南.pdf》資料免費(fèi)下載
發(fā)表于 12-23 16:20
?0次下載
仿真Vos電路
(1)?TINA中的仿真 文獻(xiàn)[1]中,仿真Vos的電路架構(gòu)是這樣的。 之所以加了Vcm和Vload,并都設(shè)置成2.5V,是因?yàn)槭謨陨系臏y試條件是這樣子的。 供電電壓和輸入共模電壓的變

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