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