Skocz do zawartości

PicoBlaze z jaką maksymalną częstotliwością zegara działa na Elbercie?


Pomocna odpowiedź

FlyingDutch, masz ode mnie piwo za znalezienie kompilatora C na picoblaze. Tego mi właśnie brakowało 🙂

Cześć Elvis,

też się cieszę (szczególnie, że wydaje się iż działa on całkiem rozsądnie). Tak naprawdę, to znalazłem go trochę przez przypadek 😉

Pozdrawiam

[ Dodano: 02-01-2018, 09:33 ]

Drobiazg ^^ W końcu jako naukowy człowiek jestem właśnie od analiz 🙂 Niemnie wracając do tematu - oczywiście testowałem tylko pod względem błędów (nie sprawdzałem dalej jak idzie symulacja - stąd spodziewam się, że pewnie na tym się nie skończy i zauważysz jakieś dalsze błędy - a jeśli tak no to dalej się będziemy martwić 🙂)

Myślę, że będzie działać, też doszedłem do wnioski, że coś jest nie tak z interpretacją wygenerowanego assemblera w pBlazeIDE.

Cześć,

właśnie od około 20-tu minut testuję PicoBlaze na zestawie ElbertV2 z zegarem 180 MHz i programem CPU (ASM) liczącym w pętli funkcję CRC-8 i jak dotąd nie ma błędów. Bardzo prawdopodobne jest, że PicoBlaze na Spartanie 3A może bezproblemowo pracować z zegarem 180 MHz nawet z programami intensywnie korzystającymi z funkcji arytmetyczno-logicznych tego Soft-CPU.

To było dość długie ćwiczenie i chyba czas zająć się jakimś projektem "na luzie" - może jakiś projekt audio. Ma może ktoś jakieś pomysły?

---------------------------------------------------------------------

Update: sorry zapomniałem w samym projekcie VHDL w pliku "kcpsm3.vhd" zmienić proces ustawiający diodę LED (port out). Poprawiłem projekt"ISE" i przetestowałem, że gdy daję w porównaniu obliczonej sumy CRC-8 inną wartość niż 0x0F to zapala się dioda LED - tak, że teraz mam pewność iż cały projekt działa poprawnie.

Testowałem też projekt PicoBlaze (liczenie CRC-8) z różnymi częstotliwościami zegara w pobliżu wartości 180 MHz i ustaliłem, że już przy częstotliwości zegara 192 MHz program działa ale po nawet dość krótkim czasie działania sygnalizuje błędy obliczeń.

Tak, że wartość 180 MHz pozostaje górną granicą zegara dla której PicoBlaze działa poprawnie.

W załączniku poprawiony projekt PicoBlaze (liczenie CRC-8).

PicoBlaze06.zip

Testuję ostatnio kompilator C do PicoBlaze i dochodzę do wniosku, że to niestety bardzo niedopracowany program. Właściwie nie nadaje się do niczego 🙁 Jednak trzeba się pogodzić z pisaniem w asemblerze, na C lepiej nie liczyć. Chyba że ktoś zna jakiś inny kompilator.

Testuję ostatnio kompilator C do PicoBlaze i dochodzę do wniosku, że to niestety bardzo niedopracowany program. Właściwie nie nadaje się do niczego 🙁 Jednak trzeba się pogodzić z pisaniem w asemblerze, na C lepiej nie liczyć. Chyba że ktoś zna jakiś inny kompilator.

Elvis,

mógłbyś podać jakieś przykłady (no np. konstrukcje, które nie działają poprawnie)?

Pozdrawiam

Zwykłe dzielenie przez 10 nie działa. A tylko chciałem przetestować licznik :/

[ Dodano: 04-01-2018, 21:28 ]

Operator przesunięcia bitowego też nie najlepiej działa:

PBLAZEPORT[OUT_LEDS] = 1 << leds;

Daje w wyniku:

Internal error: validateOpType failed in OP_LIVETO(left) @ gen.c:2639: expected symbol, got value

Makefile:7: recipe for target 'prog_1.psm' failed

Zwykłe dzielenie przez 10 nie działa. A tylko chciałem przetestować licznik :/

[ Dodano: 04-01-2018, 21:28 ]

Operator przesunięcia bitowego też nie najlepiej działa:

PBLAZEPORT[OUT_LEDS] = 1 << leds;

Daje w wyniku:

Internal error: validateOpType failed in OP_LIVETO(left) @ gen.c:2639: expected symbol, got value

Makefile:7: recipe for target 'prog_1.psm' failed

Cześć Elvis,

Ja też zauważyłem małe 'dewiacje' w składni. Np pętla for:

Nie możesz napisać tak:

for(int i =0; i < 19; i++)

tylko:

int i = 19;

for(i; i <19; i++)

Na stronie kompilatora są przykłady programów do pobrania (z nich można dużo wywnioskować).

Mógłbyś podać kod programu, który nie działa prawidłowo?

BTW: moim zdanie użycie tego kompilatora ma sens, aby wygenerować szkielet programu w assemblerze, a szczegóły uzupełnić "ręcznie" (zaoszczędza to sporo czasu).

Pozdrawiam

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...