Перейти к содержанию

регистр в бит в verilоg

Подскажите пожалуйста ,можно ли в verilоg регистр перевести и присвоить биту, без исползования сравнений как в Си: bit=(bool)byte;

 

....

reg [3:0]cnt;

bit Out;

....

Out<=(bool)cnt; /?

...

Изменено пользователем dimone

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Подскажите пожалуйста ,можно ли в verilоg регистр перевести и присвоить биту, без исползования сравнений как в Си: bit=(bool)byte;

 

....

reg [3:0]cnt;

bit Out;

....

Out<=(bool)cnt; /?

...

Ничего не понимаю !

Какой регистр ? Какой бит ? Как его вообще биту присвоить, если регистр - это набор триггеров, хранящих информацию(биты). Как несколько бит одному биту присвоить ?

Сформулируйте правильно вопрос !

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В Си

bit=(bool)byte

bit равен 1, если byte не равен нулю.

 

Это обычный OR. Тогда в Верилоге

Out<=|cnt;

 

Наверное, можно, как и в Си,

Out<=!!cnt;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Учитывая, что в Си нет типа bool, а даже если он туда доставляется какими-либо библиотеками, он всё равно имеет размер не менее 8 бит (1 байт)...

Out = { 7{1'b0}, (|cnt) }

 

P.S. только Out должен быть восьмибитным регистром или wire'ом. (типа bit в Veilog, если я правильно помню, нет вообще)

Изменено пользователем one_eight_seven

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Учитывая, что в Си нет типа bool, а даже если он туда доставляется какими-либо библиотеками
Таки уже есть. Появился в C99.

он всё равно имеет размер не менее 8 бит (1 байт)...
Это да.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Учитывая, что в Си нет типа bool,

вроде начиная с С99 -есть..

я как нуб догадался, что можно сделать побитовое ОR и присвоить биту, но думал,

что возможно есть подобное <stdbool.h> , раз Verilog "C"-like..

 

Большое спасибо за подсказки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
раз Verilog "C"-like..
Это миф.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Verilog и "C" абсолютно разные вещи. Как максимум они визуально друг на друга похожи конструкциями типа "if else", "for" и т.д., но на этом их "сходство" заканчивается.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация