Mam taki problem, iż musiałem stworzyć koder oraz dekoder o pewnych parametrach co jest rzeczą mało ważną. Wszystko pięknie śmiga ale, potrzebuję zrobić to tak aby wszystkie wartości 12 bitowe zostały wrzucone i zakodowane. Pytanie jak to zrobić na pewno jakoś trzeba by to zrobić pętlą, czy ma ktoś jakiś pomysł ? Chodzi o to, że na wejsciu mam wpisany aktualnie 111011100111, a chciałbym żeby ten program zrobił to dla wartości od 111111111111 do 000000000000.
Kod wygląda następująco:
library ieee;
use ieee.std_logic_1164.all;
entity koder is
PORT(
data :in std_logic_vector(11 downto 0):="111011100111";
dataq :out std_logic_vector(7 downto 0)
);
end koder;
rozumiem, że chodzi Ci o napisanie TestBencha który będzie generować wartości dla data w podanym zakresie? Jeśli tak to:
Kod:
library ieee;
use ieee.std_logic_1164.all;
use IEEE.STD_LOGIC_unsigned.all;
entity koder_tb is
end koder_tb;
architecture sim of koder_tb is
component koder is
PORT(
data :in std_logic_vector(11 downto 0):="111011100111";
dataq :out std_logic_vector(7 downto 0)
);
end component;
signal S_data : std_logic_vector(11 downto 0) := (others => '0');
signal S_dataq : std_logic_vector(7 downto 0)
begin
U0 : koder
PORT map(
data => S_data,
dataq => S_dataq
);
process
begin
S_data <= S_data + "1";
wait for 100ns;
end process;
end sim;
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum