Skocz do zawartości

DCE Q816 procesor w FPGA


rafal2808

Pomocna odpowiedź

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Cześć,

a tak z ciekawości, czy planujesz obsługę operacji arytmetycznych  i flag zero, carry (przeniesienie arytmetyczne) i operacji przesunięć bitowych, oraz operacji logicznych bitowych (na rejestrach)?

Dopiero wtedy będzie to "pełny" procesor, który będzie można wykorzystać do praktycznych celów. Mam nadzieję, że się nie obrazisz za to pytanie - naprawdę jestem pełen uznania w stosunku do twoich aktualnych dokonań.

Myślę, że dużo byś skorzystał z zapoznania się z architekturą i listą rozkazów 8-bitowego soft procesora firmy Xilinx  Picoblaze (śmiało można go zaimplementaować na Elbercie).

Tu masz dokumentację do Picoblaze:

https://www.xilinx.com/support/documentation/ip_documentation/ug129.pdf

https://www.xilinx.com/products/intellectual-property/picoblaze.html

Pewne próby z Picoblaze były też opisane na Forbocie.

Pozdrawiam

  • Lubię! 2
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

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

Cześć,

nie zauważyłem, że masz te rozkazy z nimi to jest pełnoprawny procesor 🙂 Jest jeszcze tylko jedno pytanie - przeważnie operacje arytmetyczne ustawiają dwie flagi procesora: ZERO (ostatnia operacja arytmetyczna spowodowała wyzerowanie akumulatora) i CURRY  (w operacji arytmetycznej wystąpiło przepełnienie arytmetyczne). Ułatwia to pisanie operacji arytmetycznych na długich liczbach. Przeważnie z tymi flagami są skojarzone dwie instrukcje skoków warunkowych: JumpIfZero i JumpIfCurry co ułatwia pisanie programów z użyciem operacji arytmetycznych na długich liczbach.

Być może masz to już obsłużone, jeśli nie to nie jest to krytyka tylko temat do przemyślenia, czy może warto to brać pod uwagę przy rozbudowie projektu.

Pozdrawiam

  • Lubię! 2
Link do komentarza
Share on other sites

Jeżeli chodzi o sygnalizowanie przepełnienia to istnieje już odpowiedni bit, u mnie nazwany Cout. Dodatkowo istnieją dwa rozkazy skoków warunkowych biorących go pod uwagę (skocz jeżeli 0 oraz skocz jeżeli 1). Natomiast flagi ZERO układ na razie nie posiada. Chociaż w przyszłości na pewno się pojawi. Jak na razie skupiłem się na programach, w których to zmienne nie przekraczają 8 bitów. Wiemy jednak, że taka sytuacja w rzeczywistości nie jest zbyt częsta, ale mając już podstawy prostsze będzie przystosowanie układu do wykonywania operacji na zmiennych większych niż podstawowe 8 bitów. 

  • Lubię! 2
Link do komentarza
Share on other sites

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!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.