Xilinx ISE WebPack8.1i - makabra...
Masz problem? Zapytaj na forum elektroda.pl
From: Radek <radkowal_at_nospam_mitsoft.com.pl>
Subject: Xilinx ISE WebPack8.1i - makabra...
Date: Thu, 25 May 2006 13:20:35 +0200
Witam,
Interesowałem się CPLD jako zamiennik dla układów serii 4000 i było
to fajne. Rysowałem schemat logiczny w ISE i wszystko działało. Jednak
"apetyt rośnie w miarę jedzenia" i zacząłem się uczyć Veriloga.
Ćwiczyłem najpierw na Icarusie i jak poczułem się w miarę pewnie to
postanowiłem skompilować i zaprogramować CPLD (X9536XL).
Prosty projekt zawiera jako "top-module" schemat a moduły są napisane w
Verilogu. Np. taki prosty moduł:
module counter3(c_clock, c_reset, c_out);
input c_clock, c_reset;
output [7:0] c_out;
reg [7:0] c, c_max;
assign c_out = c;
always _at_nospam_ (posedge c_clock) begin
if (c < c_max)
c <= c + 1;
else
c <= c_max;
end
always _at_nospam_ (posedge c_reset) begin
c <= 0;
c_max <= 100;
end
endmodule
W Icarusie skompilował się i działał bez problemów. Co innego w ISE...
Sama synteza generuje dziwne rezultaty używające tylko 8 makrokomórek i
zero flipflopów?!! Symulator behavioralny wywala się z błędem:
"FATAL_ERROR: GuiUtilities:Gq_Application.c:570:1.12.10.2 - This
application has discovered an exceptional condition from which it cannot
recover. ..."
I robi to po kliknięciu na okienko z przebiegami, którymi ma się karmić
symulator.
Więc sam nie wiem co jest nie tak by jeśli ISE ma takie bugi na aż tak
podstawowym poziomie to...
Pozdrawiam,
Radek
From: JA <j_andr_bezsmieci_at_nospam_freeent.de>
Subject: Re: Xilinx ISE WebPack8.1i - makabra...
Date: Thu, 25 May 2006 15:19:41 +0200
Radek wrote:
"makabra" ... odwazne stwierdzenie o najpopularniejszym
narzedziu do programowania fpga jak na kogos, kto wlasnie
zaczal sie uczyc :)
taki prosty moduł:
module counter3(c_clock, c_reset, c_out);
input c_clock, c_reset;
output [7:0] c_out;
reg [7:0] c, c_max;
assign c_out = c;
always _at_nospam_ (posedge c_clock) begin
if (c < c_max)
c <= c + 1;
else
c <= c_max;
end
always _at_nospam_ (posedge c_reset) begin
c <= 0;
c_max <= 100;
end
endmodule
W Icarusie skompilował się i działał bez problemów.
dziwny ten icarus ... :)
1. to co napisales jest wbrew regulom sztuki,
rejestr z reset pisze sie tak:
always _at_nospam_(posedge clk)
if (reset) reg <= 0;
else reg <= reg + 1;
jesli reset ma byc synchroniczny,
lub:
always _at_nospam_(posedge clk or posedge reset)
if (reset) reg <= 0;
else reg <= reg + 1;
jesli reset asynchroniczny;
co sie stanie, jesli rozbijesz reakcje na zegar
i reset na dwa bloki 'always' nie mam pojecia,
prawdopodobnie jest to zalezne od kompilatora;
poza tym, nie rozumiem, co ty chcesz osiagnac:
always _at_nospam_ (posedge c_clock) begin
if (c < c_max)
c <= c + 1;
else
c <= c_max;
end
zauwaz, ze 'c' jest inkrementowane az osiagnie
wartosc 'c_max', pozniej w kolko jest do 'c' wpisywane
c_max;
ten twoj kod powinien wygladac tak,
jesli chciales napisac licznik modulo 100:
parameter c_max = 100;
always _at_nospam_(posedge c_clock)
if (reset) c <= 0;
else if ( c < c_max ) c <= c + 1;
else c <= 0;
assign c_out = c;
lub tak, jesli chcesz licznik ktory liczy
do 100 i staje po osiagnieciu setki:
parameter c_max = 100;
always _at_nospam_(posedge c_clock)
if (c_reset) c <= 0;
else if ( c < c_max ) c <= c + 1;
else c <= c;
assign c_out = c;
Radek
JA
From: Radek <radkowal_at_nospam_mitsoft.com.pl>
Subject: Re: Xilinx ISE WebPack8.1i - makabra...
Date: Thu, 25 May 2006 19:32:57 +0200
Witam,
JA napisał(a):
Radek wrote:
"makabra" ... odwazne stwierdzenie o najpopularniejszym
narzedziu do programowania fpga jak na kogos, kto wlasnie
zaczal sie uczyc :)
A jednak trochę uzasadnione - zainstalowałem update 8.1.03i i zaczęło
działać! :)
W Icarusie skompilował się i działał bez problemów.
dziwny ten icarus ... :)
I teraz kompiluje się i działa pod ISE po zrobieniu update.
A IcarusVerilog jest bardzo wygodny do testowania i nauki.
No i ponieważ nie używam RedHata (ISE dla Linuxa w zasadzie wymaga tej
dystrybucji) to musiałem znaleźć jakieś inne narzędzie do symulowania.
1. to co napisales jest wbrew regulom sztuki,
rejestr z reset pisze sie tak:
always _at_nospam_(posedge clk)
if (reset) reg <= 0;
else reg <= reg + 1;
jesli reset ma byc synchroniczny,
lub:
always _at_nospam_(posedge clk or posedge reset)
if (reset) reg <= 0;
else reg <= reg + 1;
jesli reset asynchroniczny;
co sie stanie, jesli rozbijesz reakcje na zegar
i reset na dwa bloki 'always' nie mam pojecia,
prawdopodobnie jest to zalezne od kompilatora;
Działało ale oczywiście taki kod jest niejednoznaczny.
poza tym, nie rozumiem, co ty chcesz osiagnac:
always _at_nospam_ (posedge c_clock) begin
if (c < c_max)
c <= c + 1;
else
c <= c_max;
end
zauwaz, ze 'c' jest inkrementowane az osiagnie
wartosc 'c_max', pozniej w kolko jest do 'c' wpisywane
c_max;
Wiem i oryginalnie tego else wcale nie było. Jednak były "dziwne cyrki"
pod ISE przed zrobieniem update więc próbowałem właśnie takich
"dodatków". W sumie w "ciemno" i niepotrzebnie.
W każdym razie cieszę się, że już działa i dziękuje za sugestie.
Pozdrawiam,
Radek
From: "Krzysiek." <_at_nospam_dla.zaufanych.zapytaj>
Subject: Re: Xilinx ISE WebPack8.1i - makabra...
Date: Thu, 25 May 2006 22:22:40 +0200
A jednak trochę uzasadnione - zainstalowałem update 8.1.03i i zaczęło
działać! :)
pracowalem na webpacku na uczelni, to jedno wielkie g... wersja chyba 6 czy
7 ale widze ze jeszcze maja sporo roboty z tym:) Zapisuj kopie zapasowe
folderow z projektem (rar jakis) bo moze sie okazac ze nagle projekt
uszkodzony :) (moze juz tak nie robi ale P.Z.U...)
From: "RobertP." <r_p_u_d_l_i_k_at_nospam_poczta.onet.pl>
Subject: Re: Xilinx ISE WebPack8.1i - makabra...
Date: Fri, 26 May 2006 12:00:08 +0200
Krzysiek. wrote:
pracowalem na webpacku na uczelni, to jedno wielkie g... wersja chyba 6 czy
7 ale widze ze jeszcze maja sporo roboty z tym:) Zapisuj kopie zapasowe
folderow z projektem (rar jakis) bo moze sie okazac ze nagle projekt
uszkodzony :) (moze juz tak nie robi ale P.Z.U...)
Ciekawe, używałem wszystkich wersji ISE/Webpcak od 4.1i, czasem do
sporych projektów, a przedtem jeszcze Foundation, i nic takiego mi się
nie działo. Poza tym można robić "snapshots", gdzie cały projekt jest
zrzucany do pliku zip.
A kiedyś zainstalowałem z ciekawości Quartusa (w firmie używamy tylko
Xilinxa), ale nawet się nie pobawiłem za dużo bo się za często wysypywał
- nie na moje nerwy. Czy stwierdzenie że to wielkie g.., jak ty mówisz o
Webpack'u, będzie uzasadnione, rozważ sam.
--
Pozdrawiam
RobertP.
From: JA <j_andr_bezsmieci_at_nospam_freeent.de>
Subject: Re: Xilinx ISE WebPack8.1i - makabra...
Date: Fri, 26 May 2006 20:44:03 +0200
RobertP. wrote:
A kiedyś zainstalowałem z ciekawości Quartusa
(w firmie używamy tylko Xilinxa),
ale nawet się nie pobawiłem za dużo, bo się za
często wysypywał - nie na moje nerwy. Czy stwierdzenie,
że to wielkie g.., jak ty mówisz o Webpack'u,
będzie uzasadnione, rozważ sam.
ja pracuje z ukladami altery i jej software 'od zawsze',
i nie zauwazylem, by sie czesto wysypywal;
te opinie uzytkownikow altery o xilinxie i odwrotnie
troszke mi przywodza na mysl wojny kiboli ... :)
JA
From: "RobertP." <r_p_u_d_l_i_k_at_nospam_poczta.onet.pl>
Subject: Re: Xilinx ISE WebPack8.1i - makabra...
Date: Mon, 29 May 2006 09:02:15 +0200
JA wrote:
RobertP. wrote:
ja pracuje z ukladami altery i jej software 'od zawsze',
i nie zauwazylem, by sie czesto wysypywal;
te opinie uzytkownikow altery o xilinxie i odwrotnie
troszke mi przywodza na mysl wojny kiboli ... :)
Dokładnie to miałem na myśli.
--
Pozdrawiam
RobertP.
From: "PAndy" <pandrw_cutthis__at_nospam_poczta.onet.pl>
Subject: Re: Xilinx ISE WebPack8.1i - makabra...
Date: Fri, 26 May 2006 10:45:09 +0200
"Radek" <radkowal_at_nospam_mitsoft.com.pl> wrote in message
news:e54pje$e60$1_at_nospam_atlantis.news.tpi.pl...
A IcarusVerilog jest bardzo wygodny do testowania i nauki.
No i ponieważ nie używam RedHata (ISE dla Linuxa w zasadzie wymaga tej
dystrybucji) to musiałem znaleźć jakieś inne narzędzie do symulowania.
A tak trudno postawic VMPlayer i RH?
From: Radek <radkowal_at_nospam_mitsoft.com.pl>
Subject: Re: Xilinx ISE WebPack8.1i - makabra...
Date: Fri, 26 May 2006 12:43:02 +0200
PAndy napisał(a):
"Radek" <radkowal_at_nospam_mitsoft.com.pl> wrote in message
news:e54pje$e60$1_at_nospam_atlantis.news.tpi.pl...
A IcarusVerilog jest bardzo wygodny do testowania i nauki.
No i ponieważ nie używam RedHata (ISE dla Linuxa w zasadzie wymaga tej
dystrybucji) to musiałem znaleźć jakieś inne narzędzie do symulowania.
A tak trudno postawic VMPlayer i RH?
Może i nie jest trudno ale to by była przesada jak dla moich skromnych
zastosowań.
Potrzebuję napisać kod (preferuję Vim), skompilować i przetestować. Jak
mam zadawalające mnie moduły to reboot do Win i ISE aby przygotować
binarki dla CPLD i zaprogramować układ.
Pozdrawiam,
Radek