Faton_11 0 9 апреля, 2014 Опубликовано 9 апреля, 2014 · Жалоба Добрый вечер! Имеется такая запись: count=count+2'b1; (прописан только один (!) бит) Диаграмма рисуется такая: Как это нужно понимать? Если знаете, пожалуйста, объясните Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
coolbassnik 0 9 апреля, 2014 Опубликовано 9 апреля, 2014 (изменено) · Жалоба По идее это просто 2-х битная константа, значение которой = 1. Эта же константа в 2-х битном представлении выглядеть должна как = 01 (наверное в таком виде компилятор ее автоматически преобразует к 2-х битному значению). Изменено 9 апреля, 2014 пользователем coolbassnik Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 10 апреля, 2014 Опубликовано 10 апреля, 2014 · Жалоба Как это нужно понимать? Если знаете, пожалуйста, объясните А чего непонятного в записи? Вы всегда ведущие нули пишете, добивая до указанной разрядности? Это лишнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 10 апреля, 2014 Опубликовано 10 апреля, 2014 · Жалоба мне, например, не понятно почему считает так странно 0 - 1 - 0 -3 - 0 - 1... что-то вы нам не все показали, что с коунтом происходит... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Faton_11 0 10 апреля, 2014 Опубликовано 10 апреля, 2014 · Жалоба Эту диаграмму нарисовал Signal Tap, встроенный в квартус. Как оказалось, он может вносить глюк в проект. Его удалось побороть, добавив в список сигналов клок исследуемой схемы. Спасибо за ответы! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
coolbassnik 0 10 апреля, 2014 Опубликовано 10 апреля, 2014 · Жалоба Скорей всего это не глюк, а просто вы не инициализировали переменную counter Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 10 апреля, 2014 Опубликовано 10 апреля, 2014 · Жалоба он значения то принимает.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
slawikg 0 12 апреля, 2014 Опубликовано 12 апреля, 2014 · Жалоба Эту диаграмму нарисовал Signal Tap, встроенный в квартус. Как оказалось, он может вносить глюк в проект. Никакого глюка тут нет, Signal Tap так и должен работать, просто частота дискретизации должна быть как минимум вдвое большечем частоты счётчика или равна, что вы и сделали далее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ivan219 0 13 апреля, 2014 Опубликовано 13 апреля, 2014 · Жалоба Смотря какой счетчик вам нужен? Запись такого вида count=count+2'b1; Verilog интерпретирует как count=count+2'b11; либо count=count+2'd3; т.е. счетчик + 3 если нужен счетчик + 1 то надо писать count=count+1'b1; либо так count=count+2'b01; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 13 апреля, 2014 Опубликовано 13 апреля, 2014 · Жалоба и с чего вдруг 2 битовую единицу верилог стал интерпретировать как тройку? чтобы получить 2'b11 надо писать {2{1'b1}} но ни как не 2'b1, потому что последние как и 15'b1 - есть единица, заданной разрядности, с заданным количеством нулей до. если 2'b11 == 2'b1, зачем делать разную запись? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ivan219 0 13 апреля, 2014 Опубликовано 13 апреля, 2014 · Жалоба и с чего вдруг 2 битовую единицу верилог стал интерпретировать как тройку? чтобы получить 2'b11 надо писать {2{1'b1}} но ни как не 2'b1, потому что последние как и 15'b1 - есть единица, заданной разрядности, с заданным количеством нулей до. если 2'b11 == 2'b1, зачем делать разную запись? Да вы правы. На симуляции показывает именно 1. Был не прав :( Но я отталкивался от того что прочитал. Файлы в приложении. Verilog_HDL.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 13 апреля, 2014 Опубликовано 13 апреля, 2014 · Жалоба Но я отталкивался от того что прочитал. Файлы в приложении. А это ошибка... правда верилог делает дополнение единицами слева до полной разрядности, но только для "знаковых" - signed ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 13 апреля, 2014 Опубликовано 13 апреля, 2014 · Жалоба Но я отталкивался от того что прочитал. Мда.... Не читайте по утрам советских газет © :) Есть стандарт, читайте только его, причем в оригинале, без переводов. Там все (ну почти все) подробно расписано, что можно, что нельзя, и что из чего получится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 13 апреля, 2014 Опубликовано 13 апреля, 2014 · Жалоба правда верилог делает дополнение единицами слева до полной разрядности, но только для "знаковых" - signed ... что совершенно понятно, так как -1 == 1 для 1 битного числа -1 == 11 для 2 битного числа и так далее... то есть увеличивая битность знаковго числа, дополнять его надо значением старшего доступного разряда 01 -> 000....01 11 -> 111....11 что сохранит значение знакового числа, но беззнаковое должно добиваться нулями, при удлинении вектора не должно меняться значение.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться