Elvis Styczeń 1, 2018 Udostępnij Styczeń 1, 2018 FlyingDutch, masz ode mnie piwo za znalezienie kompilatora C na picoblaze. Tego mi właśnie brakowało 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
FlyingDutch Styczeń 2, 2018 Autor tematu Udostępnij Styczeń 2, 2018 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. Cytuj Link do komentarza Share on other sites More sharing options...
JTyburski Styczeń 2, 2018 Udostępnij Styczeń 2, 2018 Bardzo się cieszę, że zauważyłeś to co ja wczoraj zauważyłem (a przynajmniej w tym względzie, że cię naprowadziłem 🙂) Cytuj Link do komentarza Share on other sites More sharing options...
FlyingDutch Styczeń 2, 2018 Autor tematu Udostępnij Styczeń 2, 2018 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 Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Elvis Styczeń 4, 2018 Udostępnij Styczeń 4, 2018 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. Cytuj Link do komentarza Share on other sites More sharing options...
FlyingDutch Styczeń 4, 2018 Autor tematu Udostępnij Styczeń 4, 2018 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 Cytuj Link do komentarza Share on other sites More sharing options...
Elvis Styczeń 4, 2018 Udostępnij Styczeń 4, 2018 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 valueMakefile:7: recipe for target 'prog_1.psm' failed Cytuj Link do komentarza Share on other sites More sharing options...
FlyingDutch Styczeń 5, 2018 Autor tematu Udostępnij Styczeń 5, 2018 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 valueMakefile: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 Cytuj Link do komentarza Share on other sites More sharing options...
Elvis Styczeń 5, 2018 Udostępnij Styczeń 5, 2018 FlyingDutch, piszę właśnie długą odpowiedź w wątku o kompilatorze C dla PicoBlaze: https://www.forbot.pl/forum/topics51/kompilator-jezyka-c-dla-soft_cpu-picoblaze-xilinxa-vt15049.htm#122757 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!