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

регистр в бит в 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" абсолютно разные вещи. Как максимум они визуально друг на друга похожи конструкциями типа "if else", "for" и т.д., но на этом их "сходство" заканчивается.

 

 

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...