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

Altsyncram хочет INIT?

Ув. форумчане! Подскажите, плз! При использовании мегафункции Altsyncram (simple dual-port) в Quartus 2.2 происходила следущая чудесность:

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

Перешел на 5.0 с сп2. Такая же история! И wrclock, и rdclock. Первый такт игнорируется.

Приходится при "включении" подать по одному клоку wrclock и rdclock. И все работает!

Кто сталкивался? Может где-то писали? Пока не нашел! :(

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


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

Не вполне понятно, у Вас клок не всё время подается, что-ли? Если так, то это лучший способ приобрести гемор.

Клок должен быть периодический.

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


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

Не вполне понятно, у Вас клок не всё время подается, что-ли? Если так, то это лучший способ приобрести гемор.

Клок должен быть периодический.

:excl:

1) Как может быть клок периодический? Тогда я буду перезаписывать данные по установленному адресу.

2) Это статическая память, не динамическая. Ей клок постоянный не нужен.

3) Исче раз подчеркиваю, что когда на управление этим блоком берутся сигналы с выводов, то все ОК, а если изнутри, то спим один такт. И если в Quartus 2.2 только первый такт записи не проходил, то в 5.0 сп2 и первый такт чтения тоже.

 

Наверное надо на Альтеру написать! :maniac: я эту функцию еще, а потом буду писать :help: .

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


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

Соглашусь с yurich - клок должен быть постоянно. Если Вы сомневаетесь - читайте описания мегафункций.

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


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

2) Это статическая память, не динамическая. Ей клок постоянный не нужен.

 

Наверное надо на Альтеру написать! :maniac: я эту функцию еще, а потом буду писать :help: .

 

Насколько я понимаю разговор идет не про физ. принципы, а про логику работы, блока записи блочной памяти. Там клок должен быть постоянно.

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


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

2) Это статическая память, не динамическая. Ей клок постоянный не нужен.

 

Наверное надо на Альтеру написать! :maniac: я эту функцию еще, а потом буду писать :help: .

 

Насколько я понимаю разговор идет не про физ. принципы, а про логику работы, блока записи блочной памяти. Там клок должен быть постоянно.

Мужики, а вы ни чего не путаете? Или как?

Фронт на входе wrclock защелкивает входные данные в установленный адрес. Если clock будет постоянным, что же будет содержаться в памяти :) Это статическая память, а не динамическая!! Я имею полное право записать только одно значение. А потом непрерывный клоск мне туда будет записывать произвольное состояние шины.

В проекте приходит с интерфейса сигнал записи и только тогда могу записывать по строго определенному адресу. И целостность данных мне тоже надо обеспечить!

См. выше. Если я эти клоки завожу с лап, то при первом клоке все записывается, а если изнутри то нет. В этом то и неудобство. Я это поборол обходным путем = сделал после загрузки ПЛМ по 1-му клоку записи и чтения. Но хочется истины.!

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


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

Если вы не верите, просто промоделируйте в квартусе поведение. Я вам гарантирую что у вас ничего не будет работать. Управлять одиночной записью надо сигналом записи (разрешения записи wren), снимать клок - это явный способ поиска геммороя на пятую точку. Я надеюсь вам такое счастье не нужно? Вы справедливо заметили, что это статическая память, но это синхронная статика!.

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


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

Мужики, а вы ни чего не путаете? Или как?

 

никто, ничего не путает.

 

Для управления записью в память есть сигнал "Разрешение записи" - wrena (или другое похожее название). И именно этот сигнал определяет писать в память или нет. А тактовая частота (клок) определяет поведение блока записи в память, который состоит из: тригеров на линиях адреса и данных + логики формирования сигнала записи для битового массива. (см даташит на блочную память).

 

проекте приходит с интерфейса сигнал записи и только тогда могу записывать по строго определенному адресу

 

вот его и пустите как сигнал разрешения записи, а не как тактовую частоту работы логики порта.

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


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

Это статическая память, а не динамическая!! Я имею полное право записать только одно значение. А потом непрерывный клоск мне туда будет записывать произвольное состояние шины.

 

Статическая память бывает синхронная и асинхронная.

Если взять пример конкретного кристалла: Устройства Stratix имеют структуру памяти TriMatrix

RAM трех размеров. Блоки M512 имеют 512 битов памяти, блоки M4K - 4-Kbit, и блоки MegaRAM™ - 512-Kbit, причем каждый из них может быть сконфигурирован так, чтобы выполнять различные, заданные пользователем функции. В режиме двухпортовой памяти, блок RAM способен к выполнению любой комбинации одновременного чтения и записи по каждому из ее двух портов. В режиме переменной разрядности, блок RAM может иметь различную разрядность при чтении и записи. Все блоки памяти в устройствах Stratix теперь полностью синхронны, а это означает, что все входы в память будут защелкнуты во входном регистре, и выходы будут сниматься или с выходов выходных регистров, или с выходов комбинаторной логики, на которой обрабатываются выходные сигналы регистров. Чтобы ввести в схему регистры ввода и вывода, нет необходимости использовать любые дополнительные ресурсы, так как для этой цели могут быть использованы регистры ввода - вывода блока памяти Stratix.

Поэтому и существуют сигналы enable wr

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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