Michał Szulc

Michał Szulc Active Safety Senior
Algorithm
Development Engineer

Temat: SVN + reszta

Witam!

Chciałbym się dowiedzieć, w jaki sposób radzicie sobie z zarządzaniem projektem w przypadku środowiska Xilinx - dokładnie chodzi mi o jeden aspekt - zarządzanie wersjami.

Ja dotychczas stosowałem metodę, w której cały projekt pisałem wyłącznie z wykorzystaniem Modelsim'a, a potem przenosiłem do ISE i tam pozostawało mi dokończenie projektu, chociaż ew. modyfikacje plików źródłowych i tak wykonywałem swoim ulubionym edytorem - nie tym z ISE. Przyzwyczajony jestem do środowiska: Emacs + VHDL mode + Makefiles +SVN/Mercurial, więc zarządzanie czymś takim (projekt w Modelsim) z poziomu Emacs's to "małe piwo". Problem pojawia w momencie przejścia do ISE. Tam SVN lub GIT lub cokolwiek innego podobnego zawodzi, bo ISE generuje dużo plików tymczasowych, a oznaczanie ich wszystkich jako "niewersjonowalnych" jest uciążliwe. Ja radzę sobie w ten sposób, że przygotowuję (albo wykorzystuje generowany przez środowisko) skrypt w TCL'u, który z plików źródłowych generuje mi za każdym razem projekt od nowa. Zaleta jest taka, że praktycznie wszystko jest w plikach tekstowych, ale nie jest to zbyt efektywne. Oczywiście, dodatkowe "atrakcje" pojawiają się w przypadku korzystania z IP z Coregen'a lub zewnętrznych IP.

Mam nadzieję, że macie jakieś lepsze rozwiązania.

pozdrawiam
MS
Jerzy G.

Jerzy G. Konstruktor, Secom

Temat: SVN + reszta

Witam,
Mhm, pracuję podobnie, środowisko ISE -> Isim + implementacja, emacs, CVS.
Kiedyś próbowałem pracować z TCL, ale przy przejściu na kolejną wersję ISE, skrypt przestawał działać, więc dałem sobie z tym spokój.
ISE v.12.x generuje pliki projektu *.xise w xml'u co bardzo ładnie daje się wersjonować.
Żeby uniknąć binarnego bałaganu, w katalogu projektu zakładam katalog ./src, ./src/xco, ./src/sim i umieszczam tam odpowiednie źródła i tylko one są poddawane kontroli wersji.
Pozdrawiam,

Jerzy Gbur

konto usunięte

Temat: SVN + reszta

Cześć Michał, sądzę że podejście aby trzymać źródła HDL i skrypty do symulacji/syntezy wersjonowane i oddzielone od projektu ISE jest najlepszym podejściem, osobiście nie widzę potrzeby dodawania do SVN'a jakichkolwiek plików generowanych przez ISE (no może poza bit/mcs, ale to również można skonfigurować aby generowane było w oddzielnym folderze poza projektem ISE).
Michał Szulc

Michał Szulc Active Safety Senior
Algorithm
Development Engineer

Temat: SVN + reszta

Witam ponownie!

Z Waszych odpowiedzi widzę, że wszyscy radzimy sobie podobnie :)
Wojtku -> mam jedno pytanko: gdzie można skonfigurować ISE, by generowało w oddzielnym folderze bit/mcs. Szczerze mówiąc akurat te opcje ISE jakoś mnie specjalnie nie interesowały, a chętnie bym to skonfigurował no i tradycyjnie nie za bardzo mam ochotę na szukanie w dokumentacji :). Z góry dzięki za jakiś hint!
Jerzy -> czy korzystasz w VHDL mode w Emacsie z "ichniego" zarządzania projektami?

pozdrawiam
MS

konto usunięte

Temat: SVN + reszta

jeśli używasz skryptów do syntezy i implementacji to możesz zdefiniować pełną ścieżkę do generowania pliku bit podczas wywoływania polecenia bitgen (w ISE być może też jest taka opcja, ale tu już trzeba zagłębić się w jakąś dokumentację),
natomiast jeśli w ISE (a dokładniej w IMPACT) generujesz sobie mcs'a to tam w jednym z okienek podajesz ścieżkę gdzie mcs ma być zapisywany, później zapisujesz projekt IMPACT'a i ustawiasz go w ISE jako domyślny, po wygenerowaniu pliku bit ('Generate Programming File') klikasz na 'Generate Target PROM/ACE File' i plik mcs ląduje w wybranym przez ciebie miejscu
Michał Szulc

Michał Szulc Active Safety Senior
Algorithm
Development Engineer

Temat: SVN + reszta

Dzięki Wojtek!
Jerzy G.

Jerzy G. Konstruktor, Secom

Temat: SVN + reszta

Michał Szulc:
Witam ponownie!

Z Waszych odpowiedzi widzę, że wszyscy radzimy sobie podobnie :)
Wojtku -> mam jedno pytanko: gdzie można skonfigurować ISE, by generowało w oddzielnym folderze bit/mcs. Szczerze mówiąc akurat te opcje ISE jakoś mnie specjalnie nie interesowały, a chętnie bym to skonfigurował no i tradycyjnie nie za bardzo mam ochotę na szukanie w dokumentacji :). Z góry dzięki za jakiś hint!
Jerzy -> czy korzystasz w VHDL mode w Emacsie z "ichniego" zarządzania projektami?

Na tyle na ile mogę.
Pracuję w środowisku Windows i kilka emacsowych rzeczy nie działa tak jak powinno.
W ~/_emacs :
--------------------------------------------------------------------
;; Load VHDL projects
(load-file "D:/PROJEKTY/projekty.el")
--------------------------------------------------------------------

W D:/PROJEKTY/projekty.el :
--------------------------------------------------------------------
(custom-set-variables
'(vhdl-conditions-in-parenthesis t)
'(vhdl-intelligent-tab nil)
'(vhdl-project-alist (quote (

("Nazwa projektu" "Nazwa projektu"
"D:/sciezka/do/projektu/"
("./src/")
""
(("ModelSim" "-93 \\2" "-f \\1 top_level" nil))
"./"
"work"
"work/"
"Makefile"
"")

(
nastepny projekt....
)
)))

'(vhdl-speedbar-auto-open t)
'(vhdl-speedbar-display-mode (quote project)))

(custom-set-faces
)
--------------------------------------------------------------------

Dzięki temu mam w speedbarze widoczne projekty.
Zaznaczony projekt w speedbarze, powoduje wypełnienie odpowiednich pól przy generacji nagłówków w pliku.
I chyba tylko o tyle mi to ułatwia pracę.

Pozdrawiam,

JG



Wyślij zaproszenie do