[an error occurred while processing this directive]
|
Но ябы сделал обычный кодер, если входов мало - аналог енкодера с диодами. Что-то вроде
assign out1 = (In1) ? 1:0;
assign out2 = (In2) ? 2:0;
assign out3 = (In3) ? 3:0;
assign out4 = (In4) ? 4:0;
assign out = out1 | out2 | out3 | out4;
Что-то в таком духе в общем.
Если входов очень много (и быстродействие позволяет), то длинный сдвиговый регистр и счетчик. Регистр и счетчик стробировать от одного клока, при появлении единицы на сдвиговом регистре заносить данные со счетчика в выходной буффер. При совпадении значения на счетчике с количеством регистров - обнулять счетчик и заносить новые значения в сдвиговый решистр со входов.
E-mail: info@telesys.ru