-
sl_64
-
Автор темы
-
Не в сети
-
Осваиваюсь на форуме
-
-
Сообщений: 21
-
Спасибо получено: 0
-
-
|
Всем доброго дня! В общем, суть проблемы такова , допустим необходимо записывать и читать данные через плиску. Применяю элемент LPM_BUSTRI , но при симуляции проекта
В QUARTUS II 9.1 данные с DATA_RAM[7..0] не проходят на DATA_PIC[7..0], ну и соответственно с обратно. Помогите разобраться что я делаю не так? Заранее спасибо.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
umarsohod
-
-
Не в сети
-
Администрация форума
-
-
Сообщений: 816
-
Спасибо получено: 168
-
-
|
Посмотрел вашу схему в "RTL" - все правильно , и в реальном чипе будет работать.
А с симулятором, я думаю, он не умеет правильно обрабатывать "TRI-STATE", или
их нужно как-то специально описывать, - я не умею.:(
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
sl_64
-
Автор темы
-
Не в сети
-
Осваиваюсь на форуме
-
-
Сообщений: 21
-
Спасибо получено: 0
-
-
|
Спасибо за ответ, успокоили!!!
Ну что ж придется симулировать проект пока без LPM_BUSTRI
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
nckm
-
-
Не в сети
-
Администрация форума
-
-
Сообщений: 112
-
Спасибо получено: 34
-
-
-
-
-
|
ваша схема похоже правильная.
и я думаю quartus v9 может ее правильно симулировать, но важно правильно нарисовать входные временные сигналы - ведь данные у вас двунаправленные.
у двунаправленных сигналов драйвер должен быть один в каждый момент времени.
Если TRI в данный момент работает на вывод, то сигнал подключенный к нему в этот момент времени на ИСХОДНОЙ waveform нужно нарисовать в Z- состоянии.
Исходный waveform должен выглядеть как-то так:
WR 000111000001111100000
D0 100zzz110010zzzzz01101
D1 zzz110zzzzzzz0011zzzzzz
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
sl_64
-
Автор темы
-
Не в сети
-
Осваиваюсь на форуме
-
-
Сообщений: 21
-
Спасибо получено: 0
-
-
|
Спасибо nckm !!! Не хотелось бы создавать новую тему по каждому вопросу, поэтому продолжу спрашивать здесь.
Мне не понятна 8 и 9 строка в отчете :( если не сложно объясните что бы это значило.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от sl_64.
|
-
nckm
-
-
Не в сети
-
Администрация форума
-
-
Сообщений: 112
-
Спасибо получено: 34
-
-
-
-
-
|
sl_64 пишет: Спасибо nckm !!! Не хотелось бы создавать новую тему по каждому вопросу, поэтому продолжу спрашивать здесь.
Мне не понятна 8 и 9 строка в отчете :( если не сложно объясните что бы это значило.
каждая цифровая схема состоит из триггеров, которые хранят текущее состояние, и комбинационной логики.
триггера запоминают новые значения поступающие на вход данных скажем по фронту тактовой частоты.
Так вот данные, которые должны запоминать триггера (те что на входе D триггера) должны быть стабильны в течении некоторого времени до фронта clk и после фронта clk. Если данные на входе триггера в момент фронта только формируются или уже меняются, то в триггер может записаться неверное значение. Первое время - Setup Time, второе - Hold Time.
Если на входе триггера стоит сложная комбинационная схема, то значение ее функции может не успевать вычисляться к моменту фронта clk.
Вот это и есть проблема. Либо понижать тактовую частоту, либо упрощать логическую функцию на входе триггера.
Еще можно пытаться выполнить иную трассировку / компоновку проекта в чипе, чтобы критические соединения были короче
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
sl_64
-
Автор темы
-
Не в сети
-
Осваиваюсь на форуме
-
-
Сообщений: 21
-
Спасибо получено: 0
-
-
|
Спасибо nckm за развернутый ответ
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
Время создания страницы: 0.552 секунд