ISE-VHDL kerdesek
Bali Zoltan
eltexto at freemail.hu
Thu Aug 9 18:21:30 CEST 2007
Hali !
Ismét van idöm kicsit "nyektetni" az ISE-ket. Mint irtam korábban,
leginkább 6.3_3i alatt sikerült eredményeket elérnem, mivel a
7.1-töl felfele, egy 1200-as gépen szenvedés csak a dolog.
Egy elözöleg CPLD-n müködö kódot próbáltam FPGA-ra csiszolni
a gyorsaság növelése és egyéb szempontok miatt, a megcélzott seb.
133 MHz. Spartan3 starter kit -re forditok, csak -5 speed-re.
A dolog kritikus része a sram idozités, ezt szeretném 66 MHz-en
ciklusonként felváltva irni-olvasni, a weben ezt, van ahol pseudo-
dualportnak titulálják. 100MHz-ig könnyedén el lehet jutni.
Az XST a kódolásomra 148 MHz-et ir ki. Lényegében az
összes process a 133/2 frekin megy, kivéve a \WR process-t,
ami 133-on, a rövidebb WR pulse miatt. Aztán MAP és PAR
után jönnek a változó eredmények. Sajnos a beállitásokkal
nem nagyon vagyok még tisztában, ezért, hol a kódon módositok,
hol a beállitásokon, aztán MXE- ben vizsgálom az eredményt.
Hogy, erre a módszerre hagyatkozni mennyire biztonságos,
várnám a tapasztaltabbak véleményét.
Odáig jutottam, sok póbálkozás után, hogy az IOB alapban
"TRUE", aztán néhány regisztert próbálkozások alapján
"FALS"-ra kellett állitanom, a wr_1,......wr_8 jelekre
USELOWSKEWLINE-et kelett raknom, és a 67MHz-es osztott
clock-ra pedig ezt:
TIMESPEC "TS_sig_67MHz" = PERIOD "sig_67MHz" \
"TS_CLK_IN_PIN" * 2 PHASE - 2 ns;
Ezekkel azt értem el hogy a szimulátorban 6.7 ns clock
után jónnek csak a violák max_delay-el. Ez 149.25 MHz.
Ezt meg nem akarom elhinni. Létezik ez ? Hogy, magasabb
mint amit az XST kiir ? Erre a 67MHz-es clokra kellene
esetleg egy clock buffert raknom? Vagy maradhat igy ?
A load 130. Nem sok ez buffer nélkül ?
Mondjuk ezt nemcsak a fentiekkel értem el, hanem azzal is,
hogy becsaptam az órajellel:
NET "CLK_IN_PIN" TNM_NET = "CLK_IN_PIN";
TIMESPEC "TS_CLK_IN_PIN" = PERIOD "CLK_IN_PIN" 3 ns HIGH 50 %;
Korrekt ez igy ?
Ja és még egy, ha már igy belefogtam az irásba. Az vajon mitöl lehet,
hogy csak átnevezek egy signalt "flag_wr_event" -et "flag_wr_ack"-ra,
mert rossz elnevezést választottam, semmi mást nem csinálok, újraforditom,
szimulálom, elbukik a ".......violation"-okkal. Visszanevezem, .., forditom,....jó!
Befolyásolja, hogy milyen signal nevet adok, azt hogy mi lesz a végeredmény?
Ja és a IO lábak még nincsenek kiosztva, konfigurálva. Ez mennyit fog vajon
rontani a sebeségen, esetlleg a forditott kódon és ki lehet e ezt majd kompenzálni ?
Köszi
Bocs a hoszzú levélért.
Üdv. Zoli
More information about the Elektro
mailing list