[an error occurred while processing this directive]
|
Ситуация такая.
Есть i2c core с режимом master, но нет testbench на vhdl.
Я хотелнаписать сам но не могу понять что деляю не так.
Вот часть кода:
scl <= scl_pad_o when (scl_padoen_o = '0') else 'Z';
sda <= sda_pad_o when (sda_padoen_o = '0') else 'Z';
scl_pad_i <= scl;
scl_pad_i <= sda;
-- *** Test Bench - User Defined Section ***
tb : PROCESS
BEGIN
wait for 1100 ns;
arst_i<='1';
wait for 50 ns;
arst_i<='0';
wait for 100 ns;
arst_i<='1';
wb_adr_i <= transport STD_LOGIC_VECTOR'("000"); --write prer low
wb_dat_i <= transport STD_LOGIC_VECTOR'("00010011");
wait for 100 ns;
wb_adr_i <= transport STD_LOGIC_VECTOR'("001"); --write prer high
wb_dat_i <= transport STD_LOGIC_VECTOR'("00000000");
wait for 100 ns; -- write control reg
wb_adr_i <= transport STD_LOGIC_VECTOR'("010");
wb_dat_i <= transport STD_LOGIC_VECTOR'("10000000");
wait for 100 ns;
wb_adr_i <= transport STD_LOGIC_VECTOR'("011"); -- write transmit reg
wb_dat_i <= transport STD_LOGIC_VECTOR'("10100010");
wait for 100 ns;
wb_adr_i <= transport STD_LOGIC_VECTOR'("100"); -- write command reg
wb_dat_i <= transport STD_LOGIC_VECTOR'("10010000");
wait; -- will wait forever
END PROCESS;
clk_gen: process
begin
wait for 50 ns;
wb_clk_i<='0';
wait for 50 ns;
wb_clk_i<='1';
end process;
В ModelSim на линиях sda, slc только 'Z'. Я понимаю что нет slave но я должен был увидеть хотя бы сигнал "старт" "slave адрес".
Может кто стыкался с такой проблемой или есть готовый testbench.
Помогите PLZ
E-mail: info@telesys.ru