Naujas VHDL (prašome padėti)

H

Hammer111

Guest
Sveiki, aš esu nauja VHDL kodavimas ir man reikia šiek tiek padėti. Aš bandau padaryti vieną automobilių ir kitų už pėsčiųjų šviesoforas. Aš padariau šį kodą, kuris puikiai veikia su treniruokliu, bet kai aš bandžiau įdėti ją on chip gavau šį klaidos: KLAIDA: Xst: 825 - C: / sustav/test/test1.vhd eilutė 49: "Palaukite, pareiškimo procedūra yra nepriimami. I used FPGA IŠ MANO UNIVERSITETAS (50 MHz kvartz), taigi man teko skaičiuoti 50.000.000 mažai aukšto perėjimų gauti 1 sekundę. Štai kodas: subjektas test1 Port (laikrodis: STD_LOGIC; raktas: STD_LOGIC geltona: iš STD_LOGIC: = '0 '; žalia: iš STD_LOGIC: = '1'; raudona: STD_LOGIC: = '0 '; pred : iš STD_LOGIC: = '1 '; pgreen: iš STD_LOGIC: = '0'); pabaigoje test1; architektūra Elgesio iš test1 signalo sek: sveikasis skaičius nuo 0 iki 50: = 0; signalo ns: sveikųjų skaičių diapazoną nuo 0 iki 50: = 0; pradėti procesą pradėti laukti, kol klavišas = '1 '; J 1 iki 38 kilpa i 1 iki 50000000 kilpa palaukti, kol laikrodis = '1'; ns
 
Gerai ... VHDL darbą, nepakanka, kad kodas imituoja perfectky, turite patikrinti, ar kodas yra "Synthizable", tai reiškia, kad F tai gali būti dėl FPGA ar konvertuojamos į ASIC, daug synthsis įrankis ... Leonardo ir dauguma neseniai tikslumo pavyzdžiai Dabar pagalvokite, kaip FPGA laukia, kol paspausite 1?? kaip jūs ją parašė rodo, traukimas, kilpa ir patikrinti, tai yra gerai, jei mikroprocesoriaus gerai atlikti darbą, bet yra ne procesorius!! Stenkitės naudoti jei ", o ne laukti, jei mygtuką eina vienas atlikite ..." Tikiuosi, jis padeda ..
 
Kodas kompiuterinio modeliavimo, ne FPGA. Pirma, leiskite traukite vidinį kilpa, ir įdėti jį į naują procesą.
Code:
 procesas prasideda j 1 iki 50000000 kilpa palaukti, kol laikrodis = '1 'ns
 
Didelis jis dirba, tačiau, kad skaitiklis eina ∞, aš noriu jį pradėti skaičiuoti po to, kai mygtukas paspaudžiamas ir sustoti po 37 sekundžių [kodas] subjekto count1 Port (laikrodis, STD_LOGIC; raktas: STD_LOGIC geltona: iš STD_LOGIC: = '0 '; Žalia: iš STD_LOGIC: = '1'; raudona: iš STD_LOGIC: = '0 '; pred: iš STD_LOGIC: = '1'; pgreen: iš STD_LOGIC: = '0 '); pabaigoje count1; architektūra Elgsenos count1 yra signalo sek: sveikasis skaičius nuo 0 iki 50: = 0; signalo ns: sveikųjų skaičių diapazoną nuo 0 iki 50000000: = 1; pradėti procesas (laikrodis) pradėti jei rising_edge (laikrodis), tada jei ns = 5 tada - aš įdėti 5 turi lengviau kodą tinkamas bandymas (turėtų būti 50M) ns
 
VHDL arba verilog kodavimo, galvoti apie aparatūrą. Jūs esate apibūdinti aparatūros elgesį. Pagalvokite, ką darote signalus, negalvoja apie tai, kaip vykdomas kilpa. Kai sugauti šios filosofijos, jums kapitonas FPGA plėtros. Pradžioje tai gali atrodyti tas pats, tačiau, VHDL, kas jums padaryti daugiau, jums reikia žinoti, kad VHDL yra ne "programinės įrangos" plėtros kalbą tačiau jų aparatinė įranga.
 
Ačiū replys. Man pavyko gauti "Circuit Design su VHDL" VA Pedroni. Aš eisiu per visus pavyzdžius. Ir aš išspręsti šviesoforo signalui. Ony turiu 3 įspėjimai: [kodas] subjekto count1 uostas (laikrodis: STD_LOGIC; raktas: STD_LOGIC; geltona: iš STD_LOGIC: = '0 '; Žalia: iš STD_LOGIC: = '1'; raudona: iš STD_LOGIC: = '0 '; pred: STD_LOGIC: = '1'; pgreen: iš STD_LOGIC: = '0 '); pabaigoje count1; architektūra Elgesio iš count1 signalo sek: sveikasis skaičius nuo 0 iki 50: = 0; signalo ns: integer diapazonas 1 50000000: = 1; signalo x: std_logic: = '0 '; signalo y: std_logic: = '0'; pradėti procesas (laikrodis, raktas, X, Y) pradėti jei rising_edge (raktą), tuomet y
 
Įspėjimai nesustabdys apkrovos failo sukūrimo. Jūs vis dar galės išbandyti savo dizainą nekilnojamojo aparatūros. Tačiau jie nurodo, galimos problemos. Pastaruosius du įspėjimai pasakys buvo atleidimo iš darbo, ir jis buvo optimizuotas. Pirmuosius įspėjimo signalas "y", Kazuistika taškų. Kaip parašė, y yra "1" vieną kartą ir niekada išvalytas atgal į "0".
 
Sveiki, U iškiltų problema, jei ir imituoti su vartų lygio netlist ... nes ir naudojamos iniciacijos kai signalai, kurie yra ok ir RTL modeliavimo, bet sintezė įrankis ignoruoja iniciacijos OS signalus ir u gali pamatyti skirtingus rezultatus. vartų lygio netlist ..... pabandykite patikrinti ur vartų lygio modeliavimo Regards, dcreddy
 
taip pat prieš rašant VHDL kodą, gauti gerą idėją įvairių pareiškimų, kurie gali būti apibendrinti ir kurios negali būti sintetinamos. Dont pabandyti įgyvendinti, pavyzdžiui, programinės įrangos kodo algoritmas, išanalizuoti Algo, nubrėžti žaliavinės schematiškai. nustatyti, kaip tai Algo bus konvertuojami į aparatūros. Ar jūsų popieriaus dirbti teisingai prieš pradėti kodavimo.
 
kai u naudoti HDL apibūdinti UR grandinė, saugo logika vartai ir jungiamieji idėją galvoje, tai ne programinė įranga, ji turi atitikti taisykles dėl aparatūros
 
Hi evrey vienas, man reikia kai kurių VHDL failai apie 7 Segmentų skaitiklis (4 skaitmenų). ir Morisas Mano CPU Projektavimas VHDL. taip pat bet kokios kitos rūšies Alu WellCom. tnx visiems
 

Welcome to EDABoard.com

Sponsor

Back
Top