Block RAM v FPGA Xilinx

X

xtcx

Guest
V enem od mojih projektov, ki uporabljajo FPGA, da sem dobil več kot 98% oseb logičnih vrat. Linije in linije program.I nikoli uporabljen blok ram. V mojem programu imam veliko polj. Zato sem se potrudil in z velikimi ram in konfigurirana kot "samo za branje". Tako sem bil sposoben shraniti nekaj podatkov v ROM na nekaterih addr lokacije z uporabo spomin urednik generator orodja jedro, opremljeno s Xilinx ISE 8.2i. Bil sem sposoben prebrati podatke v program zelo dobro zdaj, ampak te so posledica logičnih vrat omejitev je zdaj le 97%. Sem odstranil približno 7 nizi datas 8-bitno globino 16.My programa je približno 1800 lines.Perhaps ga razbil moj expectations.No impovement.Later, ko sem zmanjšati približno 200 vrstic nekaj IF-Else izjave v program, razmerje pade na približno 35%. Amazing še surprising.So zakaj odstranjevanje polja z uporabo RAM ne bodo posekali omejitve razmerja ?.... Moj Xilinx različica 7.1i (tudi preizkušen na 8.2i) FPGA - SPARTAN 3 (400K). Včasih sem Block RAM IPCORE program.Please zagotoviti nekaj tukaj pomaga: cry :.... nobenega razloga, zakaj blok ram ni zmanjševanje moja vrata ?.:?: velikosti embalaže
 
Ali ste prepričani, Block RAM je dejansko sythesized? Ali se pokaže, medtem ko sintezni (ali v zbirnem poročilu)?
 
ena možnost je, da ste morda uporabljajo Distributed RAM za vaše nizi. ISE cilji razdeljeni RAM glede na to, kako kodo. Mislim, da Spartan-3 je mogoče shraniti 16-bitov podatkov v eni LUT. Torej bi lahko vaš 7 nizi podatkov 8-bit so zaužili le 8 LUTs. Torej, ko ste ciljno BRAMs, nisi prihranilo veliko
 
V mojem opnion, je ok rezultat. Prvi, preveč bo, če bo ostalo porabijo veliko rezine virov, drugi pa je, LUT biti konfiguriran kot distribucijo ram, in to preoblikovanje učinkuje, vaš 8x16 RAM lahko implimented kot LUT. in 7 array uživati več LUT, zato se razmerje ni bistveno spremenilo
 
Moral bi napisati kodeks HDL ta začetni $ readmemb ("blk_mem_ram.mif", mem, 8'h00, 8'hff); vedno @ (posedge CLK) začeti if (mem_rd_en) začnejo mem_data_out
 
Hvala za vaše odgovore ... Najprej moram reči, da sem uporabil IP jedro Xilinx's generator orodje, ki je prišel z ISE 8.2i paket. Izbral sem Block ram IP in se odločil, branje in pisanje mode in je začel na širino in globino, nato pa proizvajajo, da se ram-file. Po tem, sem dodal to datoteko, da strukturni del kot sestavni del mojih top-module.From moj program sem uporabil addr in podatkov in podatkov iz pristanišča Xilinx ustvarjenih IP za shranjevanje ali pridobivanje podatkov. Nisem uporabljajte sintakse v mojem programu za Block-ram. Tako da mislim, sem bil ne uporabljate Distributed RAM zagotovo. Prav tako program dela kot običajno. Ampak v idealnem primeru se gibljejo niz podatkov RAM ni storil kakršno koli pomoč ... Ampak za nekaj mojih prijateljev, ki so jih znižali svoje omejitve razmerje do neke boljše z blok-ram za njihovo project.My Slaba stran je, da sem se preveč torej čez približno 40 do 50 zastav za preverjanje in veliko IF-ELSE statistiko. Je to lahko problem?. Tudi z uporabo paketa ali funkcije lahko pomagajo zmanjšati vrata uporabo?. Prosim pomoč
 

Welcome to EDABoard.com

Sponsor

Back
Top