реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> pll в цык-2, как сделать
des00
сообщение Dec 11 2009, 05:01
Сообщение #31


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(%-) @ Dec 10 2009, 07:38) *
При любом режиме с Thold>0, адрес вычисляется также некорректно.

если верить времянкам что вы привели, вот это очень странно. Th со стороны проца влиять не должен, т.к. в это время он не изменяет состояние линий CS/A/D/WE.

Цитата
P.S. а адрес с данными тоже надо нарезать - а то пиксель пишится в память размазанно влево-вправо

на одном триггере можно и хлопнуть, а вот 2 триггера ИМХО излишне.

Цитата
Там также рассмотрен случай, когда используется комбинационная логика управляющих сигналов, что их надо объединять в функцию ДО синхронизации.
Вопрос - какие из сигналов: CE,WE,A,D являются управляющими?
Я склонен считать что CE и WE - обязательно, а вот на счёт A - не совсем уверен, потому что это - адресный бит от которого зависит распознавание "регистр-память"
И уж совсем менее склонен считать управляющим сигнал D - так как это данные, НО в старших битах - номер регистра.

Если верить времянкам что вы привели и вы используете только запись то ИМХО управляющий сигнал здесь один WE. И обрабатывал я бы его по первому (спадающему фронту) Т.е. в начале фазы записи twr. CE/A/D к этому моменту должны быть уже установлены и удерживаться в фиксированном положении (tsu). WE нарезал бы на 3-х триггерах, последние 2 использовал для детектора фронта. Если на длительности сигнала не менее 2 отсчетов тактовой нарезки, то все должно работать с полпинка при времянках Tsu >= 1, Twr = 1, Th >= 0.

Цитата
у меня уже все ссылки красные в поисковике laughing.gif

еще раз : нужно не гугл читать, а www.altera.com там всё есть. кроме того надо не просто читать, нужно еще и понимать что читаешь.

PS. владеть обоими языками ХДЛ не обязательно, но уметь читать надо оба.
PPS. и ваш VHDL код я бы переписал, на начальном этапе увлечение VHDL variable до добра не доведет. Да и читать ваш код из-за этого сложно.


--------------------
Go to the top of the page
 
+Quote Post
%-)
сообщение Dec 11 2009, 05:35
Сообщение #32


Частый гость
**

Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331



Цитата(des00 @ Dec 11 2009, 08:01) *
если верить времянкам что вы привели, вот это очень странно. Th со стороны проца влиять не должен, т.к. в это время он не изменяет состояние линий CS/A/D/WE.


зато есть разница, когда вычислять адрес.
ИМХО не совсем корректно считать адрес по опусканию строба записи - так как можно ещё нитуда записать

Об этом (уже не помню кто) говорил - что лучше по фронту хватать данные, а не по спаду

Кстати, много подключал асиков к шине блекфина - так ни одно из них не работало корректно с Thold>0. Почему - не знаю smile.gif

Цитата(des00 @ Dec 11 2009, 08:01) *
на одном триггере можно и хлопнуть, а вот 2 триггера ИМХО излишне.


попробуем

Цитата(des00 @ Dec 11 2009, 08:01) *
Если верить времянкам что вы привели и вы используете только запись то ИМХО управляющий сигнал здесь один WE. И обрабатывал я бы его по первому (спадающему фронту) Т.е. в начале фазы записи twr. CE/A/D к этому моменту должны быть уже установлены и удерживаться в фиксированном положении (tsu). WE нарезал бы на 3-х триггерах, последние 2 использовал для детектора фронта. Если на длительности сигнала не менее 2 отсчетов тактовой нарезки, то все должно работать с полпинка при времянках Tsu >= 1, Twr = 1, Th >= 0.


осмыслю сказанное вами, попробую. результат напишу. Не забывайте также что у меня SRAM 10ns - как она поведёт на Twr=1 (7.5ns) - ещё не известно smile.gif

Цитата(des00 @ Dec 11 2009, 08:01) *
PPS. и ваш VHDL код я бы переписал, на начальном этапе увлечение VHDL variable до добра не доведет. Да и читать ваш код из-за этого сложно.


переменные хранят значения только управляющих регистров. и всё.

различия между сигналами и переменными представляю - сигнал апдейтится только при следующем клоке, а переменная мгновено. Это если синхронная логика и процесс последовательный. При параллельном они одинаковы.

в чём опасность использования переменных - конкретно в моём коде - где и каких?

Сообщение отредактировал %-) - Dec 11 2009, 05:39
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 11 2009, 06:30
Сообщение #33


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(%-) @ Dec 10 2009, 23:35) *
зато есть разница, когда вычислять адрес.
ИМХО не совсем корректно считать адрес по опусканию строба записи - так как можно ещё нитуда записать
осмыслю сказанное вами, попробую. результат напишу. Не забывайте также что у меня SRAM 10ns - как она поведёт на Twr=1 (7.5ns) - ещё не известно smile.gif

уже советовал вам разделить фазы обращения проца к фпга и обращения фпга к памяти, а не делать их одновременно.

Цитата
Об этом (уже не помню кто) говорил - что лучше по фронту хватать данные, а не по спаду

хватать надо тогда, когда данные устаканились. нарисуйте на бумажке что у вас происходит в фпга и на шине.

Цитата
Кстати, много подключал асиков к шине блекфина - так ни одно из них не работало корректно с Thold>0. Почему - не знаю smile.gif

осцил в руки и смотреть, ад не выполняет собственных спецификаций?

Цитата
различия между сигналами и переменными представляю - сигнал апдейтится только при следующем клоке, а переменная мгновено. Это если синхронная логика и процесс последовательный. При параллельном они одинаковы.


далеко не факт. например ваш код

Код
      
when "1011" =>
       R_H:=D(7 downto 0);
       H2:='0'&R_H(7 downto 1);
       Y0:="01111000"-H2;
       Y1:="01110111"+H2;
       Y:=Y0;


исходя из описания (считаем что другого кода, который обращается к этим переменным нет) Y/Y1 будут регистрами, остальное выродиться в комбинационную логику. Т.е. этот код аналог вот этого

Код
when "1011" =>
       Y <="01111000"-(0'&D(7 downto 1));
       Y1 <="01110111"+(0'&D(7 downto 1));


--------------------
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 09:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01303 секунд с 7
ELECTRONIX ©2004-2016