the_king_orange_summer 0 5 июля, 2013 Опубликовано 5 июля, 2013 · Жалоба Доброго времени суток! Необходимо проводелировать проект. В проекте присутствует прием по последовательному интерфейсу, описание которого будет занимать достаточное много строк. Так и просится использовать для этих целей task. При моделировании в тестбенче пишу строки /*выше созданы переменные, проведена инициализация*/ //создаю задачу передачи данных по последовательному интерфейсу task UART; output reg in; reg [14:0] IN_DATA; integer i, j; begin for (j=0; j < 8; j = j + 1) begin #1 IN_DATA [11:0] = $random; #1 IN_DATA [14:12] = j; #10 in = 1; #32 in = 0; #96 in = 1; #64 in = 0; for (i=0; i < 15; i = i + 1) begin #32 in = 1; #32 in = IN_DATA[14-i]; #64 in = 0; end #32 in = 0; #5500 in = 0; end #1500000; end endtask //генерация сигналов always begin Wait_Clk (10); UART(IN[7]); end /*далее, описание соединений*/ Провожу моделирование и вижу, что сама задача UART работает (регистр in меняет свои значения в нужные моменты), а вот в регистр IN[7] эти данные не подгружаются. В чем проблема? что я пишу не так? Заранее благодарю Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Poluektovich 0 6 июля, 2013 Опубликовано 6 июля, 2013 · Жалоба В IN[7] записывается последнее значение in перед завершением task. Можно использовать глобальную переменную. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться