У меня есть горячая линия, которую я хочу использовать для выбора диапазона проводов. Например, если моя селекторная линия 0001
Я хочу выбрать some_wire[2:0]
, если это 0010
Я хочу выбрать some_wire[5:3]
, если это 0100
Я хочу выбрать some_wire[8:6]
и т. Д. В настоящее время я делаю это с огромным аргументом, но это не так, t, если, например, я хочу параметризовать модуль. Есть ли более сжатый способ сделать это?Выбор диапазона проводов на основе битмаски
2
A
ответ
4
Барабанные переключатели могут быть эффективно синтезированы, поэтому стоит сравнить любое решение с базой, где вы конвертируете селектор обратно в двоичную кодировку и используете сдвиг. Например, что-то вроде:
shift = 0;
for(i=0;i<N;i=i+1)
begin
if (selector[i])
begin
shift = i;
end
end
shifted_wire = some_wire >> shift;
output = shifted_wire[2:0];
В качестве альтернативы, можно использовать цикл для вычисления каждого бита независимо с помощью:
for(i=0;i<N;i=i+1)
begin
output[i] = | ((some_wire>>i) & selector);
end
Смежные вопросы
- 1. Выбор диапазона на основе вывода цикла for
- 2. Выбор диапазона на основе другого столбца
- 3. Выбор транзакций на основе диапазона дат
- 4. Выбор из диапазона на основе критериев множественного диапазона
- 5. Выбор Lat и Long на основе кругового диапазона
- 6. Выбор диапазона на основе от/до даты critera
- 7. SQL - выбор данных на основе диапазона дат Эффективно
- 8. Выбор несколько счетчиков из тех же таблиц на основе диапазона
- 9. Выбор на основе диапазона дат в базовых коллекциях
- 10. Выбор строк на основе диапазона векторных значений в Pandas
- 11. Выбор диапазона на основе введенного номера в любой клетке
- 12. Запрос на выбор диапазона номеров
- 13. Поиск дубликатов записей в mysql на основе битмаски
- 14. Получить значения массива на основе битмаски в PHP
- 15. Выбор диапазона в пределах диапазона
- 16. Выбор динамического диапазона
- 17. Выбор опций на основе процента
- 18. Выбор диапазона, основанный на где положение
- 19. Выбор на основе NSTableView?
- 20. Выбор на основе блоков на основе UICollectionViewCell
- 21. битмаски вопрос?
- 22. Агрегация на основе диапазона дат
- 23. Фильтр на основе именованного диапазона
- 24. Диапазона на основе значения ячейки
- 25. Количество столбцов на основе диапазона
- 26. Классификация дат на основе диапазона
- 27. Выбор оптимального диапазона
- 28. Скопировать множественный выбор диапазона
- 29. Выбор диапазона дат html5
- 30. Выбор диапазона с MDX
Это типа для заявления действующего в Verilog? – blcArmadillo
Я думаю, что это зависит от того, что вы хотите использовать для N. Синтез должен работать до тех пор, пока N оценивает константу или параметр, но я считаю, что он потерпит неудачу, если вы попытаетесь использовать реестр или провод для N. –
Cool Я не понимал, что ты можешь это сделать. Я еще не пробовал, но дальнейший поиск в Google предлагает. Благодаря! – blcArmadillo