95
S_AXI_RREADY : in std_logic;
AN : out std_logic_VECTOR(3 DOWNTO 0);
C : out std_logic_VECTOR(7 DOWNTO 0)
Fig. 124 : Adăugarea IP-ului creat
- Se dă click dreapta pe IP-ul nou adăugat și se selecteaza Edit in IP Package. Aici trebuie adăugată
și funcționalitatea SSD, așa cum ne-am propus din start.
- Se deschide o nouă fereastră Vivado. Aici avem 2 fișiere VHDL, primul fiind cel din top module.
Componenta ssd_ctrl trebuie adăugată în al doilea fișier, iar semnalele de ieșire vor trebui
adăugate la porturile de la entitate. Adăugarea componentei ssd_ctrl se face urmând pași similari
din Adăugarea unui fișier sursă , însă, în loc de crearea fișierului, se va selecta adăugarea unui
fișier
- După acest pas, se va selecta al doilea fișier VHDL, dintre cele două care existau inițial, și se vor
adăuga semnalele de ieșire AN și C.
);
end my_SSD_ip_v1_0_S00_AXI;
- Apoi se adaugă în partea de arhitectură componenta ssd_ctrl împreună cu semnalul intern ‘data’:
component SSD_CTRL
Generic(number_of_digits: integer := 4);
Port ( clk : in STD_LOGIC;
data : in STD_LOGIC_VECTOR(number_of_digits * 4 - 1 downto 0);
AN : out STD_LOGIC_VECTOR (number_of_digits - 1 downto 0);
C : out STD_LOGIC_VECTOR (7 downto 0));
end component;
signal data: STD_LOGIC_VECTOR (15 downto 0);
- La sfârșitul acestui fișier se adaugă controlul datei de intrare, aceasta fiind realizată de către
regiștri, dar se adaugă și instanțierea componenta ssd_ctrl, după cum urmează:
-- Add user logic here
data(3 downto 0) <= slv_reg0(3 downto 0);
data(7 downto 4) <= slv_reg1(3 downto 0);
data(11 downto 8) <= slv_reg2(3 downto 0);