Tworzenie zegarów w Quartus: PLL, mapowanie sygnałów i generowanie VHDL
Quartus
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Quartus
Date: Sat, 26 Feb 2005 19:28:22 +0100
Witam,
jak sie w Quartusie robi nastepujace rzeczy:
1. W edytorze graficznym zrobilem blok odpowiadajacy
za pewna funkcje. Potrzebuje on zegarow o czestotliwosciach
1*clk i 2*clk. Aby uzyskac ten drugi, wstawilem megafunkcje
PLL i odpowiednio ja skonfigurowalem. W bloku zrobilem
wejscia clock_1x i clock_2x. Narysowalem kreske od
PLL do bloku. W mapper properties ustawilem polaczenie
na "input" i "io on block" na "clock_2x", combo z "signal
in node" bylo puste, wiec nic nie dalem. Podczas
proby kompilacji wyskakuja mi jednak bledy
"Error: Illegal wire or bus name "" of type mapping".
Co powinienem wpisac, by mi sie clock_2x zmapowalo na
c0 w PLL?
2. Jak zrobic, by Quartus generowal pliki VHDL
uzywajac malych liter do slow kluczowych?
3. Dlaczego Quartus psuje mi uklad pliku VHDL zawierajacego
wiele entities, jesli dam "Update Design File", tzn. wycina
tabulatory z tekstu wszystkich entities, ktorych nie wygenerowal?
Jak to poprawic?
4. Czy da sie tworzyc w Quartusie projekty bez uzywania
edytora graficznego, tzn. piszac wszystko od poczatku
do konca recznie w VHDL? Jesli tak, to jak to zrobic, bo
mnie to narzedzie niesamowicie irytuje, by nie powiedziec
znacznie dosadniej...
5. Czy mozna kompilowac po jednym pliku VHDL, w celu
przetestowania jego poprawnosci? Processing->Start
compilation uruchamia caly proces syntezy.
Pozdrawiam
Piotr Wyderski
From: Jan Dubiec <jdx_at_nospam_SPAMTRAP.slackware.pl>
Subject: Re: Quartus
Date: 27 Feb 2005 00:14:32 +0100
On Sat, 26 Feb 2005 19:28:22 +0100, "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl> wrote:
[.....]
2. Jak zrobic, by Quartus generowal pliki VHDL
uzywajac malych liter do slow kluczowych?
3. Dlaczego Quartus psuje mi uklad pliku VHDL zawierajacego
wiele entities, jesli dam "Update Design File", tzn. wycina
tabulatory z tekstu wszystkich entities, ktorych nie wygenerowal?
Jak to poprawic?
Hehe, Altera, Lattice i Xilinx chyba ostro konkuruja kto zrobi
bardziej "intuicyjne" środowisko i bardziej toporny edytor. :-) Nie
wiem czy coś można poradzić na Twoje problemy. Podejrzewam że są
nierozwiązywalne. No bo co to za łosie w epoce wizzardów edytują
jakieś tam VHDL-e w plain text. ;-)
4. Czy da sie tworzyc w Quartusie projekty bez uzywania
edytora graficznego, tzn. piszac wszystko od poczatku
do konca recznie w VHDL? Jesli tak, to jak to zrobic, bo
mnie to narzedzie niesamowicie irytuje, by nie powiedziec
znacznie dosadniej...
Tak.
5. Czy mozna kompilowac po jednym pliku VHDL, w celu
przetestowania jego poprawnosci? Processing->Start
compilation uruchamia caly proces syntezy.
AFAIR tak.
Regards,
/J.D.
--
Jan Dubiec We're all living in Amerika
jdx#slackware.pl Coca Cola
+48 506 790442 Sometimes war
Amerika by Rammstein
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Quartus
Date: Sun, 27 Feb 2005 00:29:58 +0100
Jan Dubiec wrote:
4. Czy da sie tworzyc w Quartusie projekty bez uzywania
edytora graficznego, tzn. piszac wszystko od poczatku
do konca recznie w VHDL? Jesli tak, to jak to zrobic, bo
mnie to narzedzie niesamowicie irytuje, by nie powiedziec
znacznie dosadniej...
Tak.
No ale jak? :-)
Pozdrawiam
Piotr Wyderski
From: Jan Dubiec <jdx_at_nospam_SPAMTRAP.slackware.pl>
Subject: Re: Quartus
Date: 27 Feb 2005 01:25:27 +0100
On Sun, 27 Feb 2005 00:29:58 +0100, "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl> wrote:
Jan Dubiec wrote:
4. Czy da sie tworzyc w Quartusie projekty bez uzywania
edytora graficznego, tzn. piszac wszystko od poczatku
do konca recznie w VHDL? Jesli tak, to jak to zrobic, bo
mnie to narzedzie niesamowicie irytuje, by nie powiedziec
znacznie dosadniej...
Tak.
No ale jak? :-)
1. Tworzysz sobie projekt: File->New project wizzard
2. Opcjonalnie, w 2 albo 3 kroku możesz dodać do projektu utworzone
wcześniej pliki jeśli takowe posiadasz (np. "typu" VHDL),
3. Później możesz dodawać do projektu nowe pliki: File->New i wybież
plik "typu" VHDL
4. Opcjonalnie możesz sobie też zmienić plik zawierający top-level entity
- w tree view plików projektu wskaż odpowiedni plik i w menu pod prawym
klawiszem myszy zrób Set as top-level entity
Regards,
/J.D.
--
Jan Dubiec We're all living in Amerika
jdx#slackware.pl Coca Cola
+48 506 790442 Sometimes war
Amerika by Rammstein
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Quartus
Date: Sun, 27 Feb 2005 16:27:55 +0100
Jan Dubiec wrote:
2. Opcjonalnie, w 2 albo 3 kroku możesz dodać do projektu utworzone
wcześniej pliki jeśli takowe posiadasz (np. "typu" VHDL),
Posiadalem, ale Quartus mi popsul.
4. Opcjonalnie możesz sobie też zmienić plik zawierający top-level entity
- w tree view plików projektu wskaż odpowiedni plik i w menu pod prawym
klawiszem myszy zrób Set as top-level entity
O, wlasnie tej informacji potrzebowalem. Dziekuje serdecznie
za pomoc, coc mam jeszcze jedno pytanie: gdy sie juz wszystko
bedzie poprawnie kompilowalo i symulowalo, to w jaki sposob
podlaczyc konkretne piny FPGA do portow w top-level entity,
tzn. dokladnie tak, jak chce, by to na PCB wygladalo?
Pozdrawiam
Piotr Wyderski
From: Jan Dubiec <jdx_at_nospam_SPAMTRAP.slackware.pl>
Subject: Re: Quartus
Date: 28 Feb 2005 10:17:58 +0100
On Sun, 27 Feb 2005 16:27:55 +0100, "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl> wrote:
[.....]
to w jaki sposob podlaczyc konkretne piny FPGA do portow w top-level
entity, tzn. dokladnie tak, jak chce, by to na PCB wygladalo?
Assignments->Pins lub Assignments->Assignment Editor
Można to też chyba zrobić edytując zwykłym edytorem plik z rozszerzeniem "pin".
Regards,
/J.D.
--
Jan Dubiec We're all living in Amerika
jdx#slackware.pl Coca Cola
+48 506 790442 Sometimes war
Amerika by Rammstein
From: "JA" <j_andrWYTNIJTO_at_nospam_freenet.de>
Subject: Re: Quartus
Date: 28 Feb 2005 11:44:15 +0100
"Piotr Wyderski":
jak sie w Quartusie robi nastepujace rzeczy:
1. W edytorze graficznym zrobilem blok odpowiadajacy
najlepiej porzucic czym predzej edytor graficzny;
znam ludzi [wlasciwie czlowieka], ktorzy sie tym
posluguja calkiem sprawnie, ale i tak zdarzylo nam
sie szukac dluzszy czas durnego bledu, bo ten edytor
robi jakies nie calkiem intuicyjne zalozenia, ktore
sa ukryte na rysunku;
[...]
5. Czy mozna kompilowac po jednym pliku VHDL, w celu
przetestowania jego poprawnosci? Processing->Start
compilation uruchamia caly proces syntezy.
teoretycznie mozna zmnieniac 'top_level'
i kompilowac wybrany modul i wszystkie 'ponizej';
ale wg. mnie to szybko doprowadza do bajzlu;
lepszym chyba podejsciem jest stworzenie mniej
wiecej takiej struktury katalogow:
projekt
modul_1
modul_2
...
modul_N
kazdy "modul_x" to osobny projekt, bedacy sam top_level,
samodzielnie kompilowany i symulowany;
"projekt" zawiera 'project_top_level', ktory jest kompilujesz
jak przetestujesz moduly;
to w jaki sposob podlaczyc konkretne piny FPGA do portow
w top-level entity, tzn. dokladnie tak, jak chce, by to na PCB
wygladalo?
Assignments->Pins lub Assignments->Assignment Editor
Można to też chyba zrobić edytując zwykłym edytorem plik
z rozszerzeniem "pin".
*.pin to output file, informacja dla uzytkownika,
w *.qsf file mozna edytowac pin assignment;
tak wyglada skladnia:
# Pin & Location Assignments
# ==========================
set_location_assignment PIN_Y37 -to reset_n
set_location_assignment PIN_C21 -to clock_source
set_location_assignment PIN_B5 -to ddr_dq[0]
set_location_assignment PIN_C5 -to ddr_dq[1]
Piotr Wyderski
JA
jak sie w Quartusie robi nastepujace rzeczy:
1. W edytorze graficznym zrobilem blok odpowiadajacy
za pewna funkcje. Potrzebuje on zegarow o czestotliwosciach
1*clk i 2*clk. Aby uzyskac ten drugi, wstawilem megafunkcje
PLL i odpowiednio ja skonfigurowalem. W bloku zrobilem
wejscia clock_1x i clock_2x. Narysowalem kreske od
PLL do bloku. W mapper properties ustawilem polaczenie
na "input" i "io on block" na "clock_2x", combo z "signal
in node" bylo puste, wiec nic nie dalem. Podczas
proby kompilacji wyskakuja mi jednak bledy
"Error: Illegal wire or bus name "" of type mapping".
Co powinienem wpisac, by mi sie clock_2x zmapowalo na
c0 w PLL?
2. Jak zrobic, by Quartus generowal pliki VHDL
uzywajac malych liter do slow kluczowych?
3. Dlaczego Quartus psuje mi uklad pliku VHDL zawierajacego
wiele entities, jesli dam "Update Design File", tzn. wycina
tabulatory z tekstu wszystkich entities, ktorych nie wygenerowal?
Jak to poprawic?
4. Czy da sie tworzyc w Quartusie projekty bez uzywania
edytora graficznego, tzn. piszac wszystko od poczatku
do konca recznie w VHDL? Jesli tak, to jak to zrobic, bo
mnie to narzedzie niesamowicie irytuje, by nie powiedziec
znacznie dosadniej...
5. Czy mozna kompilowac po jednym pliku VHDL, w celu
przetestowania jego poprawnosci? Processing->Start
compilation uruchamia caly proces syntezy.
Pozdrawiam
Piotr Wyderski
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Quartus
Date: Mon, 28 Feb 2005 12:07:24 +0100
JA wrote:
najlepiej porzucic czym predzej edytor graficzny;
Tak przed dwoma dniami zrobilem i dzieki temu w koncu udalo mi
sie dosc znacznie posunac do przodu z implementacja projektu. :-)
*.pin to output file, informacja dla uzytkownika,
w *.qsf file mozna edytowac pin assignment;
tak wyglada skladnia:
# Pin & Location Assignments
# ==========================
set_location_assignment PIN_Y37 -to reset_n
set_location_assignment PIN_C21 -to clock_source
set_location_assignment PIN_B5 -to ddr_dq[0]
set_location_assignment PIN_C5 -to ddr_dq[1]
O, dzieki wielkie!
Pozdrawiam
Piotr Wyderski
From: "JA" <j_andrWYTNIJTO_at_nospam_freenet.de>
Subject: Re: Quartus
Date: 28 Feb 2005 12:33:06 +0100
"Piotr Wyderski":
O, dzieki wielkie!
drobiazg:)
zapomnialem dopisac poprzednio;
zeby samemu nie edytowac kilkudziesieciu, czy
kilkuset linii typu:
"set_location_assignment PIN_Y37 -to reset_n"
[i by przy okazji nie przegapic jakiegos sygnalu]
mozna zrobic:
assignments
back-annotate assignments
i zahaczyc kolko "pin & device assignments"
oczywiscie projekt musi byc choc raz skompilowany;
wtedy quartus sam wstawi do projekt.qsf file przypisania
wszystkich pinow, wystarczy wtedy przeedytowanie
kawalkow "xyz" we fragmencie "PIN_xyz"
Piotr Wyderski
J.A
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl