Meteor (13.01.2011 16:24, просмотров: 390) ответил Mahagam на подробнее задачу можно описать?
Суть такая, сконфигурировал мультиплексор (Quartus II, VHDL), проверяю его работу. Есть входные 32 сигнала (Din) и 5 сигналов (sel) выборки канала.Сигналы обозваны как std_logic_vector
В начале тестбэнча назначаю состояние поумолчанию все входы 1.
При тестировании хочу прогнать единичку или нулик по входным каналам и тут же в параллельном процессе перебрать состояния сигналов выборки.
Решение "в лоб": пишу 2 процесса. В первом 32 смены состояний каждого входа. Во втором 32 смены от 00000 до 11111.
Хоть и не лень писать, но хочется "странного".
А точнее в первом процессе написать сдвиг входных данных. Что-то а-ля wait for 320 ns; Din<=rol Din;
Во втором процессе написать нечто wait for 10 ns; sel<=sel+1;
Тогда и компактно и красиво будет.
Спасибо
ЗЫ. Пока проверяю "в лоб". Но на будущее хочется изыска.