Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: регистр в бит в verilоg
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Языки проектирования на ПЛИС (FPGA)
dimone
Подскажите пожалуйста ,можно ли в verilоg регистр перевести и присвоить биту, без исползования сравнений как в Си: bit=(bool)byte;

....
reg [3:0]cnt;
bit Out;
....
Out<=(bool)cnt; /?
...
Flip-fl0p
Цитата(dimone @ May 15 2018, 12:24) *
Подскажите пожалуйста ,можно ли в verilоg регистр перевести и присвоить биту, без исползования сравнений как в Си: bit=(bool)byte;

....
reg [3:0]cnt;
bit Out;
....
Out<=(bool)cnt; /?
...

Ничего не понимаю !
Какой регистр ? Какой бит ? Как его вообще биту присвоить, если регистр - это набор триггеров, хранящих информацию(биты). Как несколько бит одному биту присвоить ?
Сформулируйте правильно вопрос !
andrew_b
В Си
bit=(bool)byte
bit равен 1, если byte не равен нулю.

Это обычный OR. Тогда в Верилоге
Out<=|cnt;

Наверное, можно, как и в Си,
Out<=!!cnt;
one_eight_seven
Учитывая, что в Си нет типа bool, а даже если он туда доставляется какими-либо библиотеками, он всё равно имеет размер не менее 8 бит (1 байт)...
Out = { 7{1'b0}, (|cnt) }

P.S. только Out должен быть восьмибитным регистром или wire'ом. (типа bit в Veilog, если я правильно помню, нет вообще)
andrew_b
Цитата(one_eight_seven @ May 15 2018, 13:20) *
Учитывая, что в Си нет типа bool, а даже если он туда доставляется какими-либо библиотеками
Таки уже есть. Появился в C99.
Цитата
он всё равно имеет размер не менее 8 бит (1 байт)...
Это да.
dimone
Цитата(one_eight_seven @ May 15 2018, 13:20) *
Учитывая, что в Си нет типа bool,

вроде начиная с С99 -есть..
я как нуб догадался, что можно сделать побитовое ОR и присвоить биту, но думал,
что возможно есть подобное <stdbool.h> , раз Verilog "C"-like..

Большое спасибо за подсказки.
andrew_b
Цитата(dimone @ May 15 2018, 13:33) *
раз Verilog "C"-like..
Это миф.
Nieve
Verilog и "C" абсолютно разные вещи. Как максимум они визуально друг на друга похожи конструкциями типа "if else", "for" и т.д., но на этом их "сходство" заканчивается.

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.