Instantiating LPMs in Verilog
發(fā)布時間:2008/6/5 0:00:00 訪問次數(shù):362
the example in this section defines a black box for an altera lpm_ram_dq,
which is then instantiated at a higher level. the lpm_ram_dq is a parameterized
ram with separate input and output ports. altera recommends
using the lpm_ram_dq to implement asynchronous memory or memory
with synchronous inputs and/or outputs. the lpm_ram_dq function uses
eabs in flex10k devices, and latch arrays in other device families. if you
are using a flex10k device, altera recommends that you use synchronous
rather than asynchronous ram functions.
1. define a black box with the name myram_64x16. notice that
immediately after the port list, but before the semicolon ';' is the
syn_black_box synthesis directive with the lpm_type specified as
lpm_ram_dq, along with other specified arguments.
module myram_64x16 (data, address, inclock, outclock, we, q)
/* synthesis syn_black_box
lpm_width=16
lpm_widthad=6
lpm_type="lpm_ram_dq" */ ;
input [15:0] data;w
input [5:0] address;
input inclock, outclock;
input we;
output [15:0] q;
// this is an empty module
endmodule
2. now instantiate the lpm in a higher-level module.
module myram(clock, we, data, address, q);
input clock, we;
input [15:0] data;
input [5:0] address;
output [15:0] q;
myram_64x16 inst1 (data, address, clock, clock, we, q);
endmodule
which is then instantiated at a higher level. the lpm_ram_dq is a parameterized
ram with separate input and output ports. altera recommends
using the lpm_ram_dq to implement asynchronous memory or memory
with synchronous inputs and/or outputs. the lpm_ram_dq function uses
eabs in flex10k devices, and latch arrays in other device families. if you
are using a flex10k device, altera recommends that you use synchronous
rather than asynchronous ram functions.
1. define a black box with the name myram_64x16. notice that
immediately after the port list, but before the semicolon ';' is the
syn_black_box synthesis directive with the lpm_type specified as
lpm_ram_dq, along with other specified arguments.
module myram_64x16 (data, address, inclock, outclock, we, q)
/* synthesis syn_black_box
lpm_width=16
lpm_widthad=6
lpm_type="lpm_ram_dq" */ ;
input [15:0] data;w
input [5:0] address;
input inclock, outclock;
input we;
output [15:0] q;
// this is an empty module
endmodule
2. now instantiate the lpm in a higher-level module.
module myram(clock, we, data, address, q);
input clock, we;
input [15:0] data;
input [5:0] address;
output [15:0] q;
myram_64x16 inst1 (data, address, clock, clock, we, q);
endmodule
the example in this section defines a black box for an altera lpm_ram_dq,
which is then instantiated at a higher level. the lpm_ram_dq is a parameterized
ram with separate input and output ports. altera recommends
using the lpm_ram_dq to implement asynchronous memory or memory
with synchronous inputs and/or outputs. the lpm_ram_dq function uses
eabs in flex10k devices, and latch arrays in other device families. if you
are using a flex10k device, altera recommends that you use synchronous
rather than asynchronous ram functions.
1. define a black box with the name myram_64x16. notice that
immediately after the port list, but before the semicolon ';' is the
syn_black_box synthesis directive with the lpm_type specified as
lpm_ram_dq, along with other specified arguments.
module myram_64x16 (data, address, inclock, outclock, we, q)
/* synthesis syn_black_box
lpm_width=16
lpm_widthad=6
lpm_type="lpm_ram_dq" */ ;
input [15:0] data;w
input [5:0] address;
input inclock, outclock;
input we;
output [15:0] q;
// this is an empty module
endmodule
2. now instantiate the lpm in a higher-level module.
module myram(clock, we, data, address, q);
input clock, we;
input [15:0] data;
input [5:0] address;
output [15:0] q;
myram_64x16 inst1 (data, address, clock, clock, we, q);
endmodule
which is then instantiated at a higher level. the lpm_ram_dq is a parameterized
ram with separate input and output ports. altera recommends
using the lpm_ram_dq to implement asynchronous memory or memory
with synchronous inputs and/or outputs. the lpm_ram_dq function uses
eabs in flex10k devices, and latch arrays in other device families. if you
are using a flex10k device, altera recommends that you use synchronous
rather than asynchronous ram functions.
1. define a black box with the name myram_64x16. notice that
immediately after the port list, but before the semicolon ';' is the
syn_black_box synthesis directive with the lpm_type specified as
lpm_ram_dq, along with other specified arguments.
module myram_64x16 (data, address, inclock, outclock, we, q)
/* synthesis syn_black_box
lpm_width=16
lpm_widthad=6
lpm_type="lpm_ram_dq" */ ;
input [15:0] data;w
input [5:0] address;
input inclock, outclock;
input we;
output [15:0] q;
// this is an empty module
endmodule
2. now instantiate the lpm in a higher-level module.
module myram(clock, we, data, address, q);
input clock, we;
input [15:0] data;
input [5:0] address;
output [15:0] q;
myram_64x16 inst1 (data, address, clock, clock, we, q);
endmodule
上一篇:TMAH單晶硅腐蝕特性研究
上一篇:奇數(shù)次分頻器
熱門點擊
- 彩電屢燒行管的幾點問題討論
- 納米技術(shù)材料
- 測試硬件簡介---探針卡(prober ca
- 什么是載流子遷移率及遷移率影響芯片的那些性能
- 新型低介電常數(shù)材料研究進展
- 如何快速提高產(chǎn)品良率
- 真空斷路器的合閘彈跳與分閘彈振研究
- 晶體學基礎(chǔ)
- 光子晶體的結(jié)構(gòu)及分類
- Virtuoso中使用tech file產(chǎn)生
推薦技術(shù)資料
- 扇出型面板級封裝(FOPLP)
- 全球首款無掩模光刻系統(tǒng)—DSP
- 紫光閃存E5200 PCIe 5.0 企業(yè)級
- NAND Flash 技術(shù)和系
- 高性能DIMM 內(nèi)存數(shù)據(jù)技術(shù)封
- PCIe Gen4 SSD主控
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究