Synthesize Ram?

P

PigiPigi

Guest
Norėčiau parašyti VHDL kodas statinio barana, kad kiekvienas FPGA sintetinti įrankiai ekstraktai ir naudoja avilable Wbić FPGA vietoj jo.Kiekvienas gali suteikti naudingos informacijos?
PigiPigi,

 
1.Pasirinkite atminties tipą, kurį norite naudoti.
2.Nurodykite RAM dydis.
3.Pakeisti RAM į savo dizainą.

 
jei ir norite naudoti VHDL apibūdinti statinio barana dėl FPGA, galima aiškiai instancija ir FPGA's barana primityvios, kaip blockRAM į Xiline.

jei norite naudoti VHDL apibūdinti statinio avinas bet kokios rūšies FPGA, kad naudoti savo primitves, manau,
kad jūs turite problema daro jį vienu aprašymą.Kiekvienas syntezator bus išvadą SRAM ir šiek tiek kitokiu būdu.Jei
don't care, kad optimaliai naudoti FPGA's primityvios,
galite visada parašyti SRAM aprašymą VHDL ir tegul syntezator įgyvendinti naudojant Luts, tačiau tai nėra rekomenduojama didelėms SRAM dydį, nes jis sunaudoja per daug Luts kad būtų naudojama kitiems tikslams.

ntxp

 
Tiesiog parašyti elgesio masyvo ir rašyti procesai apibrėžti savo rd / WR metodu, 1 / 2 uosto, kt sintezatorių ir FPGA ir paversti jį į savo atminties, žinoma kartais efektyvumą degraduoja, kai jis netelpa į originalą vienas.

 
Labas,
Jei norite naudoti VHDL kodas sintezė RAM, FPGA turite konvertuoti jį į savo atminties.Ir net jei ne konvertuoti, jūsų rezultatas yra ne RAM, tik Flipflop masyvo.

 
raštu VHDL kodas descibe barana galima tik kai kuriose syntezatory kaip ( "Leonardo"), bet iš experince ji suvartoja daug erdvės.Geriausias būdas taupyti erdvę ir pasiekti greitą dizainas yra instatiate RAM, kad vendore tiekimo.

 
Sveiki, Al
-Manau, nepriklausomai sintezė įrankį naudoti, pavyzdžiui, Synopsys dk, Takt sritį
ir tt, you
can't get RAM rezultatas RTL.Jei norite RAM, turite gauti suport iš bibliotekos pardavėjas ar tiekėjas liejimo ir naudojant silicio Kompiliavimo įrankiai būdingi pardavìjas.

 
Manau, kad aš nemini aiškiai ankstesnio posto.

Pirma, Jūs galite parašyti DTL apibūdinti savo atminties.
Tačiau geriausias būdas yra parašyti pagal standartą RAM stiliaus.
(Pavyzdžiui, vieno uosto RAM arba du uosto RAM)

Tada, FPGA, pabandykite rasti RAM kad FPGA pateikė pakeisti
RAM kad dizainas.

Jei turite "Atmintis Compiler" (pateikta Fundry Tiekėjas),
Jūs galite kurti DTL kodas RAM tiesiogiai iš kompiliatorių.

 
Bendro TL teikėjas spręsti barana instancija su wraper.Kad jums kompiliuoti savo IP tiek ASIC ir FPGA aplinką labiau tausojančių.

 
Nežinau, kodėl jis nebuvo pridėtas failas .. tačiau čia jis vėl

 
LIBRARY IEEE;
VARTOJIMO ieee.std_logic_1164.ALL, IEEE.Std_logic_arith.all;
SUBJEKTAS ram_nxm YRA
Generic (n: Teigiamas: = 3; m Teigiamas: = 4);
UOSTO (Adresas: Nepasirašytos (n-1 DOWNTO 0); - Nepasirašytos yra trimatis masyvas vertės tipo std_logic ty jos veiksmingai yra std_logic_vector
Įjungti, RW: Į STD_LOGIC;
duomenys: Inout Nepasirašytos (m-1 DOWNTO 0));
Pabaiga ram_nxm;

ARCHITEKTŪRA version1 SU ram_nxm YRA

BEGIN
PROCESAS (adresas, Leisti, RW, duomenys)
TIPAS ram_array YRA ARRAY (0 TO 2 ** n-1) iš Nepasirašytos (m-1 DOWNTO 0) - Šis tipas yra apibrėžiamas kaip Nepasirašytos į numeric_std
KINTAMO indeksas: INTEGER: = 0;
KINTAMO ram_store: ram_array;
BEGIN

JEI Įtraukti ='1 'THEN

JEI RW ='0 'THEN
- rašykite barana dėl didėjančio krašto parašyti impulso
ram_store (conv_integer (adresas)): = duomenų rinkimo;
ELSIF RW ='1 'THEN
duomenys <= ram_store (conv_integer (adresas));
ELSE
Duomenų (aš) <= (Kita => 'Z');
END IF;
ELSE
Duomenų (aš) <= (Kita => 'Z');
END IF;
Galutinio proceso;

Pabaiga version1;

 

Welcome to EDABoard.com

Sponsor

Back
Top