[an error occurred while processing this directive]
Вопрос по Verilog
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

миниатюрный аудио-видеорекордер mAVR

Отправлено cdg 10 сентября 2004 г. 10:38

Вот бьюсь над делемой, возможно ли вообще сделать в test-bench на Verilog вызываемую процедуру, task например (или что-то подобное), записи на шину и установку сигналов Wr, CS...


пробовал так:
...
reg [2:0] Addr;
reg [2:0] MPDIO;
reg CS,Wr;
...
task WrDIO;
input [2:0] AddrIn;
input [7:0] DIn;
output [2:0] AddrOut;
output [7:0] DOut;
output CSw;
output Wrw;

begin
CSw = 1'b1;
DOut[7:0] = DIn[7:0];
AddrOut[2:0] = AddrIn[2:0];
#30 Wrw = 1'b1;
#100 Wrw = 1'b0;
#30 CSw = 1'b0;
DOut[7:0] = 8'bz;
end
endtask

ну и вызов соответсвенно:

WrDIO(3'h1,8'h95,Addr[2:0],MPDIO[7:0],CS,Wr);
WrDIO(3'h2,8'h23,Addr[2:0],MPDIO[7:0],CS,Wr);


сигналы MPDIO[7:0] = 8'bz,CS = 0,Wr = 0, Addr[2:0] выставляется каждый раз не менее чем на #160 (т.е. до следующего вызова task), складывается впечатление что временной контроль все же работает, но изменение сигнала в нутри одной task отслеживается только по выходу, конечно выход всегда есть - копировать куски текста необходимое количество раз :-((((


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru