МАРСОХОД

Open Source Hardware Project

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1

ТЕМА: Вопрос от совсем новичка по вводу/выводу

Вопрос от совсем новичка по вводу/выводу 11 мес. 3 нед. назад #7479

  • kolyan
  • kolyan аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 31
  • Спасибо получено: 0
Здравствуйте.

Попробовал понять, как все это цепляется, чтоб хоть с чего-то начать понимать процесс.

module root (

input wire [7:0] a,b,
output wire [7:0] res_0,
output wire res_1

);

wire [3:0] x,y;
wire [7:0] z;
assign x = a[3:0] + b[3:0]; // складываются 4 младших разряда на шинах а и b (Больше, посмотреть)
assign y = a[7:4] + b[7:4]; // складываются 4 старших разряда на шинах а и b (Больше, посмотреть)
assign z = x+y;
assign res_0 = z;
assign res_1 = z[5]; // Тут непонятно. Висит в воздухе на схеме

endmodule


Но res_1 - упорно рисуется "в воздухе" (с подписью 1'h0) и никак не подключен к схеме.
Про оптимальность сейчас речи нет, тут больше, для понимания пока пишу.

Очень непривычно.

Заранее спасибо и не пинайте сильно. Вроде, интересная штука, но малопонятная, даже после прочтения кучи статей. В железо, пока и не лазал. Тут-бы с софтом разобраться.

Разбираться пытаюсь в Quartus Ptime 17.0

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопрос от совсем новичка по вводу/выводу 11 мес. 3 нед. назад #7481

Что вы собственно хотите понять?
Что такое цифровые логические схемы, в частности, ПЛИС?
Как описываются цифровые логические схемы на языках HDL?
Или научиться эти схемы симулировать?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопрос от совсем новичка по вводу/выводу 11 мес. 3 нед. назад #7482

  • kolyan
  • kolyan аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 31
  • Спасибо получено: 0
Понятно, что симулировать. До полного понимания процесса, рано еще в железо лить. Тем-более, что программирование мне не чуждо и это должно легко освоиться. Потому и отверг идею рисования, как многие советуют и сразу стал разбираться с программированием. Вот некоторые вещи не совсем понятны, потому и спросил. Вроде, все описано, а выход в воздухе висит. Как он тогда получит уровень состояния этого бита?

Он-же должен через что-то его получить. Там, регистр какой сдвиговый, а не просто из воздуха.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от kolyan.

Вопрос от совсем новичка по вводу/выводу 11 мес. 3 нед. назад #7484

Программирование и описание схемы на HDL совершенно разные вещи.
Если вы разбираетесь в цифровой схемотехнике, то рекомендую поступить следующим образом.
Компилируете ваш проект под какой-нибудь реальный чип , и смотрите в RTL-Viewer, что получилось.
Очень многое станет понятно.
Спасибо сказали: kolyan

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопрос от совсем новичка по вводу/выводу 11 мес. 3 нед. назад #7485

  • kolyan
  • kolyan аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 31
  • Спасибо получено: 0
Спасибо за совет... Попробую.

Буду ковырять и разбираться. Платка есть, но надо с основами разобраться. :о)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопрос от совсем новичка по вводу/выводу 11 мес. 3 нед. назад #7486

  • afad
  • afad аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 16
  • Спасибо получено: 2
Это от того, уважаемый kolyan, что в Вашем примере шины x и y имеют разряды от 0 до 3. Следовательно на шине z будут разряды от суммы x и y от 0 до 4, а пятый и старшие разряды z всегда будут равны нулю. Поэтому Quartus, поразмыслив об этом, решил, что нет смысла подключать res_1 к z[5], который всегда будет равен нулю, и просто подключил его к нулю.
Спасибо сказали: kolyan

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от afad.

Вопрос от совсем новичка по вводу/выводу 11 мес. 3 нед. назад #7487

  • kolyan
  • kolyan аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 31
  • Спасибо получено: 0
Да, спасибо.

Так оно и было. Надо внимательней быть. Заодно понял, что означает значок заземления. Это - провода, болтающиеся в воздухе. :)
Подвело непонимание. Я думал, что раз шина, то биты остаются на своих местах (как при AND), а они - смещались в младшенькие.

А это - прожорливо:
Timing Models Final
Total logic elements 12 / 240 ( 5 % )
Total pins 28 / 80 ( 35 % )

Надо было пожирней платку брать. На такой примитив - 5% элементов. Хотя, до платы еще далеко. :)
Надо язык освоить. С дуру ее ждал, а мог начать уже.

А можно глупый вопрос?
Если мне где-то нужна не земля на "схеме", как ее задать?
Землю, я уже научился задавать. Просто, не цеплять никуда. Ж)))) Правда, случайно.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от kolyan.

Вопрос от совсем новичка по вводу/выводу 11 мес. 2 нед. назад #7490

kolyan пишет: Землю, я уже научился задавать. Просто, не цеплять никуда. Ж)))) Правда, случайно.

Не нужно на это надеяться. Компилятор может сделать так, как ему проще, а не так , как вам нужно.
Для этого есть "константы" В графике так - marsohod.org/11-blog/145-quartussch
В верилоге еще проще - wire [7:0] z = 8'h00;

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от umarsohod.

Вопрос от совсем новичка по вводу/выводу 11 мес. 2 нед. назад #7491

  • afad
  • afad аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 16
  • Спасибо получено: 2

kolyan пишет: ...Заодно понял, что означает значок заземления. Это - провода, болтающиеся в воздухе. :)...

Ну нет, заземление это выход "логический 0" или провод, подключенный к "лог.0". В Вашем примере res_1 НЕ "болтается в воздухе", а подключен к "земле".

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Время создания страницы: 0.177 секунд

facebook  GitHub  YouTube  Twitter
Вы здесь: Начало Forum Наш форум Языки программирования Вопрос от совсем новичка по вводу/выводу