Xilinx ISE, jeden komponent z różnymi param

Witam! Robię mały projekt w ISE na FPGA Spartan 3E. I natrafiłem na taki problem. Mam pewien komponent zbudowany w oparciu o pamięci ROM. Potrzebuję teraz w projekcie 4 sztuki tego komponentu różniące się tylko zawartością ROMu. Czy można to w jakiś prosty sposób uzyskać? Czy też muszę stworzyć 4 różne komponenty z różną zawartością ROMu? Pracuję głownie w środowisku graficznym (tak, wiem, mordęga straszna ale nie bardzo mam jak i kiedy się nauczyć VHDLa czy Veriloga) więc było by miło jeśli dało by się taki efekt z poziomu graficznego interfejsu uzyskać. Ale jeżeli trzeba pogrzebać w źródłach to trudno. Chodzi mi o samą koncepcję uzyskania komponentu różniącego się w gruncie rzeczy tylko parametrem INIT.

Pozdrawiam!

Reply to
TRS
Loading thread data ...

Nie bardzo rozumiem - probujesz w jednej kostce FPGA miec

4 kostki ROM o roznych zawartosciach? Czy moze chcesz miec jedna kostke FPGA z jednym komponentem ROM z przelaczana zawartoscia w czasie pracy jednego urzadzenia? Czy moze chcesz produkowac urzadzenia ktore kazdy ma jeden FPGA z jednym komponentem ROM rozniace sie "wsadem"?

Nie pracuje z Xilinxem lecz Altera ale Twoje pytanie brzmi troche podejrzanie... :-) U Altery kazda zawartosc pamieci jest konfigurowalna plikiem i wlaczana do pliku konfigurujacego FPGA. Kazdy komponent bedzie mial u Ciebie osobny plik.

Jesli kostka jest na tyle duza aby zmiescily sie tam 4 ROMy to najprosciej jest przeciez miec wszystkie 4 jednoczesnie. Kombinowac musisz dopiero gdy sie 4 na raz nie mieszcza...

Reply to
Pszemol

Pszemol pisze:

Dokładnie tak! Z tym że pojedyncza kostka ROM jest składnikiem pewnego komponentu.

Albo inaczej, mam pamięć ROM. W niej sekwencję bitów. Do wejść adresowych podłączam licznik. Całość zamykam w komponencie, na zewnątrz mam wejście CLK i wyjście danych. Teraz chcę wrzucić do głównego układu

4 takie komponenty, z różnymi zawartościami ROMU. No ale tu problem, bo komponent i zawartość umieszczonego w nim ROMu zdefiniowana jest w opisie komponentu. Zatem gdy umieszczę 4 komponenty w schemacie nadrzędny, będę miał w każdym identycznego ROMa, a ja chcę żeby każdy był inny.
Reply to
TRS

W jaki sposob w tej chwili "definiujesz opis komponentu"? Nie znam softu jakiego uzywasz, ale ja w sofcie Altery po prostu podaje nazwe pliku z zawartoscia ROMu w czasie tworzenia projektu. Kompilator ma wiec skad wziac zawartosc ROM do wypelnienia komponentu. Czy Ty samemu zrobiles sobie ta kostke ROM czy uzywasz komponentu bibliotecznego?

Reply to
Pszemol

TRS napisał:

W bibliotecznych ROMach zawartość pamięci ustawiana jest wartością parametru INIT. Co prawda sam korzystałem z tego tylko w kodzie VHDL ale wydaje mi się, że w Schematicu można edytować właściwości elementu.

Reply to
Szymon Janc

Używając graficznego edytora, tworzę schemat (ROM pochodzi z fabrycznych bibliotek Xilinxa), definiuję porty wejściowe/wyjściowe, i z tego tworzę element (symbol) komponentu do dalszego wykorzystania. Właściwie to jest taka hierarchiczna struktura projektu.

No właśnie a tutaj symbol pamięci ROM ma właściwość INIT gdzie wpisuje się zawartość ROMu.

Reply to
TRS

Wpisuje sie zawartosc recznie, z klawiatury? Nie zartuj!

Tu masz obrazek jak wyglada 3 etap wizarda komponentu LPM_ROM w programie Altery:

formatting link
element ROM w swoim projekcie jako miejsce przechowania bootloadera dla zewnetrznego w stosunku do FPGA procesora... Chyba bym sie poplakal gdybym musial recznie wpisywac te bajty z pliku po kazdej nowej kompilacji bootloadera :-)

To jest niemozliwe aby software Xilinxa byl taki kijowy. Musi tam byc cos porownywalne do tego co oferuje Altera. Poszukaj lepiej.

Reply to
Pszemol

No a czemu nie? A kto mówi ze to ma być np. loader z kilobajtami kodu? tam można zapisać kilka bajtów np. wsp. jakiegoś wielomianu czy dekodera. Oczywiście że można dołączyć plik z kodem, ale nie zawsze jest taka potrzeba.

MiSter

Reply to
Mister

Plik jest uniwersalny, bo moze miec 4 bajty lub 4 tysiace, bez roznicy. Ale jesli znasz software Xilinx to pomoz koledze z rozwiazaniem jego problemu.

Reply to
Pszemol

TRS snipped-for-privacy@spam.spam napisał(a):

Musisz sobie podlaczyć parametr INIT tego ROM-a do analogicznego parametru swojego komponentu, a w projekcie instancjonując swój komponent za każdym razem nadać inna wartość temu parametrowi w instancji swojego komponentu. Jasne ?!

Pomimo że to środowisko graficzne musi ono oferować możliwość zmiany parametrów poprzez jakieś dodatkowe menu z właściwościami czy cuś.

Choć na:

formatting link
to pogadamy

Reply to
g.d.

Pszemol snipped-for-privacy@PolBox.com napisał(a):

To jeśli ktoś Cie w przyszłości zapyta o inicjalizowanie zawartości ROM w narzędziach Xilinx, to napisz mu że istnieje zarówno możliwość podłączenia zewnętrznego pliku z zawartością pamięci *.coe przy generacji w CoreGeneratorze, jak i wklepania tych wartości w kodzie, jako parametr lub jako atrybut, bądź też nadpisania ich już po syntezie w osobnym pliku *.ucf

Reply to
g.d.

A czemu nie tutaj?

Reply to
Pszemol

Pszemol snipped-for-privacy@PolBox.com napisał(a):

Za duzo troli ;P

Reply to
g.d.

In the darkest hour on Fri, 9 May 2008 07:23:26 +0000 (UTC), [g.d.] <g snipped-for-privacy@gazeta.pl screamed:

Wymień pierwszych trzydziestu.

Reply to
Artur M. Piwko

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.