Podmienené inštancie modulu v Verilog

O

omara007

Guest
Ahoj lidi Ako môžem podmienené konkretizáciu určitého modulu v Verilog. Inými slovami, keď som ako parameter (number_of_ports) sedí na určitú hodnotu .. hovoria, '32 '.. a chcem vytvoriť inštanciu určitého modulu 32 krát podľa toho .. Musím niečo skontrolovať hodnotu tejto premennej a vytvárať potrebné prípadoch podľa .. a keď som zmeniť hodnotu tejto premennej sa počet inštancie modulov zmeny v dôsledku .. V VHDL, je to proste realizovaný ako (generovanie) vyhlásenie .. Ak sa vám dáva možnosť vytvoriť inštanciu generické inštancie vo vnútri cyklu vytvárajú .. a môžete ľahko preniesť požadovaný počet prípadov ako slučka proti .. Ako toto môže byť realizovaný v Verilog?
 
Odporúčam nahliadnuť do Verilog normy IEEE alebo kvalifikovaným učebnice. Verilog vytvoriť konštrukciu môže pracovať na základe parametrov modulu, môžu byť upravené v konkretizáciu cez defparam vyhlásenie.
Code:
 parameter BURST_MODE = 0; vytvárať if (BURST_MODE == 1) začína end else začať koncom endgenerate
 
generovať konštrukcii nie je príliš dobré používať!
 
[Quote = ljxpjpjljx] generovať konštrukcii nie je moc dobré používať! [/Quote] Prečo? .. I obyčajne používajú vo VHDL bez problémov.
 
I obyčajne používajú vo VHDL bez problému
Áno, na rozdiel od niektorých implementačných detailov, Verilog ponúka rovnaké funkcie v tomto bode si myslím.
 
Generovať príkaz je v poriadku! Môžete tiež použiť ifdefs, ale tiež naznačujú, vytvárať ako najlepšie riešenie vášho problému! Pavlos
 
môže byť tento príklad je to, čo potrebujete?
Code:
 modul genvar_example (vstup [N * 8-1:0] a, b, výstup [N * 8-1:0] out), parameter N = 4, genvar som, vytvárať for (i = 0; i
 
Dobrý deň, sa s rôznou poznámkou by som sa opýtať, ktorý nástroj ste použili na vytvorenie grafického vyššie?
 
Získate podobná grafika s nástrojmi Prehliadač syntézu netlist, napr Alter Quartus II.
 
Všimnite si, že Verilog generovať Vyhlásenie bolo pridané s Verilog 2001 štandardné a nie je podporovaný všetkými nástrojmi. Generovanie by nemal byť použitý, ak váš návrh musí byť zostavený na neznáme nástroje. Bez generovať najlepší spôsob, ako podmienené inštancie modulov v Verilog je s `PARAMETROV ifdef a endif okolí` a `inštanciu modulu definovať parameter v konfiguračnom súbore, ktorý je súčasťou` sú v zdrojovom Verilog Súbor robiť inštancie.
 
podmieneného instanciation modulu môžete použiť `ifdef Defination jinýho a v rovnakom súboru, ktorý musí obsahovať súbor ako` patrí "user_defines.v" a v súbore user_defines.v musíte definovať defination, z ktorého chcete instantiale modulu. I havent sa snažil týmto spôsobom perticular vec, ale môže fungovať aj tu. HTH Ak sa vám to prácu potom odpovedzte mi.
 
EDIT - Nevermind. Mal som používal vytvoriť začať .. ignorovať zvyšok tohto príspevku. Snažím sa robiť niečo podobné, ale nie podmienkou, je to len opakujúce sa s rôznymi riadenia a výstupné signály. Mám problém je modul vymenovať aj keď .. Tu je príklad použitia viac SRAM modulov v systéme syntax Verilog:
Code:
 Modul SRAM # (parameter WIDTH = 16, hĺbka = 1024, A_SIZE = 10) (vstup CLK, vstup [A_SIZE-1: 0] rd_addr, vstup [A_SIZE- 01:00] wr_addr, vstup [šírka-1: 0] d_in, vstupné sme, vstup re, výstupných logických [šírka-1: 0] d_out), logika [šírka-1: 0] data [hĺbky 1: 0] ; Vždy @ (posedge CLK) začať if (my) začať dáta [wr_addr]
 

Welcome to EDABoard.com

Sponsor

Back
Top