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

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

Отправлено -=Sergei=- 07 июля 2004 г. 12:25

Симулятор АктивХДЛ 6.2.

Тест бенч, проганяет все адреса и все данные на каждый аддрес.
ниже привожу усеченный код, только цикл по адресам и цикл по данным.

module tt ();
reg [6:0]address;
reg [7:0]data;
always
begin
for (address = 0; address < 7'b1111111; address=address+1 )
for (data = 0; data < 8'b11111111; data=data+1)
begin
$display (address);
$display (data);
#10;
//I2C_7A_toSlave (address, data);
end
$stop;
end
endmodule

Что имеем в результате:
Данные пробигают все значения от 0 до 254 (!!!! не до 255) после чего увеличивается адрес и при этом адрес пробигает значения от 0 до 126 (а не до 127!!!!!!!) То есть, увеличение значения приисходит ДО того как ПРОИСХОДИТ сравнение с верхней границей в конструкции FOR. Я конечно понимаю, что Верилог это язык описания параллельных процессов, но не до такой же степени что невозможно сделать цикл в цикле подобные С-шным. Вообшем вопрос, как правильно и КРАСИВО описать полный перебор адресов и данных на Верилоге ?

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru