Skrócony opis procesora Picoblaze

Cechy procesora:

Wykorzystanie procesora w kodzie VHDL:

Procesor należy osadzić wewnątrz kodu wraz z pamięcią programu (ROM), jak pokazano na rysunku poniżej: Picoblaze

Rozkazy procesora

Oznaczenia:
"X" i "Y" oznaczają rejestry procesora s0, s1,..., sF.
"kk" oznacza wartość stałą w zakresie 00 do FF.
"aa" oznacza adres o wartości od 00 do FF.
"pp" oznacza adres portu o wartości od 00 do FF.

Kontrola programu:

JUMP aa
JUMP Z,aa
JUMP NZ,aa
JUMP C,aa
JUMP NC,aa
CALL aa
CALL Z,aa
CALL NZ,aa
CALL C,aa
CALL NC,aa
RETURN
RETURN Z
RETURN NZ
RETURN C
RETURN NC

Operacje logiczne:

LOAD sX,kk
AND sX,kk
OR sX,kk
XOR sX,kk
LOAD sX,sY
AND sX,sY
OR sX,sY
XOR sX,sY

Operacje arytmetyczne:

ADD sX,kk
ADDCY sX,kk
SUB sX,kk
SUBCY sX,kk
ADD sX,sY
ADDCY sX,sY
SUB sX,sY
SUBCY sX,sY

Przesunięcia bitowe:

SR0 sX
SR1 sX
SRX sX
SRA sX
RR sX
SL0 sX
SL1 sX
SLX sX
SLA sX
RL sX

Rozkazy obsługi portów wej/wyj.:

INPUT sX,pp
INPUT sX,(sY)
OUTPUT sX,pp
OUTPUT sX,(sY)

Obsługa przerwania:

RETURNI ENABLE
RETURNI DISABLE
ENABLE INTERRUPT
DISABLE INTERRUPT

Asembler

Program asemblera zamienia kod programu na pamięć RAM opisaną jako moduł w języku VHDL. Pamięć taką osadza się wraz z procesorem. Każdorazowa zmiana programu w asemblerze powoduje konieczność uruchomienia programu asemblera, a następnie przeprowadzenia ponownej implementacji do układu FPGA.

Uruchomienie programu asemblera:
kcpsm.exe <program>.psm
W wyniku działania programu powstanie plik <program>.vhd.
Asembler umożliwia m.in.:

Dodatkowe informacje

Niniejszy dokument powstał na podstawie materiałów i not aplikacyjnych z firmy Xilinx. Opis procesora PicoBlaze: http://direct.xilinx.com/bvdocs/appnotes/xapp213.pdf .