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

 
 
 
Reply to this topicStart new topic
> EDK9.2 - CY7C1380D(SSRAM), проблема с подключением через ЕМС1.0в
OLEG999
сообщение Aug 27 2008, 12:09
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 26-08-08
Пользователь №: 39 822



Дело в том, что этот модуль ЕМС1.0в помоему не очень подходит под этот SSRAM, но тем не мение на одном из бордов (виртекс4) он нормально работал с почти анологичной SSRAM кипарисов но только она была без АДСП И АДСЦ и на 1 мб, а эта на 2!

Проблема в следующем есть микросхема CY7C1380D, есть ЕДК9.2, ЕМС1.0в, надо только это все связать!!

На сайте кипарисов я нашел ман позваляющий убрать все сигналы управления до минимума!!Оставив только ОЕ и 4 BWE так как DQ 32-х разрядная, остольные заводятся на соответствующие разрешающие уровни!!

Но ничего не выходит!!

Еще вопрос шина адреса для меня немного странновата!Тоесть есть 3 различия между адресами(приведено на рисунке) A0, A1, A(2 to 18) я немного не понял этого решения!!Как сдесь задать адрес и как его задать в ЕДК??

Так что вот такие у меня проблемы!!

Подскажите если есть какие нибудь соображения!!

Спасибо зарание!
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
RKOB
сообщение Sep 8 2008, 13:54
Сообщение #2


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

Группа: Свой
Сообщений: 172
Регистрация: 17-03-05
Пользователь №: 3 422



Используем CY7C1471V25 (Flow-Through), проблем не обнаружено.
С адресацией все просто: важны лишь 0 и 1 биты, а остальные назначаете сами. Если вам поможет, вот его mhs-описание из моего проекта ():

PORT SRAM_0_DQ_pin = SRAM_0_DQ, DIR = IO, VEC = [0:31]
PORT SRAM_0_A_pin = SRAM_0_A, DIR = O, VEC = [0:31] # вывожу все адреса, цепляю только нужные
PORT SRAM_0_BEN_pin = SRAM_0_BEN, DIR = O, VEC = [0:3]
PORT SRAM_0_WEN_pin = SRAM_0_WEN, DIR = O
PORT SRAM_0_OEN_pin = SRAM_0_OEN, DIR = O, VEC = [0:0]
PORT SRAM_0_ADVLD_pin = SRAM_0_ADVLD, DIR = O
PORT SRAM_0_MODE_pin = SRAM_0_MODE, DIR = O
PORT SRAM_0_ZZ_pin = net_gnd, DIR = O
PORT SRAM_0_CE_pin = net_gnd, DIR = O
PORT SRAM_0_CEN_pin = net_vcc, DIR = O
PORT SRAM_0_CLK_pin = SRAM_0_clock, DIR = O
PORT SRAM_0_CLK_FB = SRAM_0_clk_FB, DIR = I, SIGIS = CLK, CLK_FREQ = 100000000

BEGIN opb_emc
PARAMETER INSTANCE = sram_0
PARAMETER HW_VER = 2.00.a
PARAMETER C_MAX_MEM_WIDTH = 32
PARAMETER C_MEM0_WIDTH = 32
PARAMETER C_NUM_BANKS_MEM = 1
PARAMETER C_SYNCH_MEM_0 = 1
PARAMETER C_OPB_CLK_PERIOD_PS = 10000
PARAMETER C_INCLUDE_DATAWIDTH_MATCHING_0 = 0
PARAMETER C_TCEDV_PS_MEM_0 = 0
PARAMETER C_TAVDV_PS_MEM_0 = 0
PARAMETER C_TWC_PS_MEM_0 = 0
PARAMETER C_TWP_PS_MEM_0 = 0
PARAMETER C_THZCE_PS_MEM_0 = 0
PARAMETER C_THZOE_PS_MEM_0 = 0
PARAMETER C_TLZWE_PS_MEM_0 = 0
PARAMETER C_SYNCH_PIPEDELAY_0 = 1
PARAMETER C_MEM0_BASEADDR = 0x40800000
PARAMETER C_MEM0_HIGHADDR = 0x40ffffff
BUS_INTERFACE SOPB = mb_opb
PORT OPB_Clk = sys_clk_s
PORT Mem_DQ = SRAM_0_DQ
PORT Mem_A = SRAM_0_A
PORT Mem_BEN = SRAM_0_BEN
PORT Mem_WEN = SRAM_0_WEN
PORT Mem_OEN = SRAM_0_OEN
PORT Mem_ADV_LDN = SRAM_0_ADVLD
PORT Mem_LBON = SRAM_0_MODE
END

Удачи!!!
Go to the top of the page
 
+Quote Post
Cont
сообщение Oct 23 2008, 13:50
Сообщение #3


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

Группа: Участник
Сообщений: 112
Регистрация: 10-11-06
Из: Москва
Пользователь №: 22 176



Добрый день. Я тоже использую ssram от кипарисов. Вот только у меня есть проблема: чтобы что-то записать или считать из памяти в режиме Single beat(read/write), сигналы ADSP и GW нужно держать не по одному такту синхросигнала, а по два (в противном случае, из памяти считываются рандомные числа). В чем может быть проблема?
Go to the top of the page
 
+Quote Post
RKOB
сообщение Oct 24 2008, 07:31
Сообщение #4


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

Группа: Свой
Сообщений: 172
Регистрация: 17-03-05
Пользователь №: 3 422



Как формируете клок (с feedback)? на какой частоте работаете?
Go to the top of the page
 
+Quote Post
Cont
сообщение Oct 24 2008, 18:41
Сообщение #5


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

Группа: Участник
Сообщений: 112
Регистрация: 10-11-06
Из: Москва
Пользователь №: 22 176



Клок у меня берется с CLKDLL, при этом он сдивнут по фазе на 180 градусов относительно системного клока.(и управляющих сигналов АДСП, ГВ, ОЕ ибо по даташиту там необходима задержка). Работал на частоте 166 мегагерца. Провел опыт - снизил частоту до 100 - теперь записывает за 1 такт. Видимо нужно точно по даташиту выдерживать все тайминги с ГВ, ОЕ, АДСП вплоть до 0,5 наносекунды, иначе на большой частоте ничего не выйдет.
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 25 2008, 02:10
Сообщение #6


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

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



Цитата(Cont @ Oct 24 2008, 13:41) *
Клок у меня берется с CLKDLL, при этом он сдивнут по фазе на 180 градусов относительно системного клока.(и управляющих сигналов АДСП, ГВ, ОЕ ибо по даташиту там необходима задержка).


Насколько я помню рекомендации xilinx инверсия клока на PLL это порочная практика. Нужно разворачивать именно тот клок, на котором у вас работает контроллер. Но разворачивать по уму через DDR регистр. В противном случае пути клока и его инверсии могут сильно разойтись, тогда нужно констрейнить перекос между ними.


--------------------
Go to the top of the page
 
+Quote Post
Serg`
сообщение Oct 27 2008, 16:50
Сообщение #7


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

Группа: Участник
Сообщений: 111
Регистрация: 25-06-07
Пользователь №: 28 668



Цитата(RKOB @ Sep 8 2008, 17:54) *
Используем CY7C1471V25 (Flow-Through), проблем не обнаружено.
С адресацией все просто: важны лишь 0 и 1 биты, а остальные назначаете сами. Если вам поможет, вот его mhs-описание из моего проекта ():

PORT SRAM_0_DQ_pin = SRAM_0_DQ, DIR = IO, VEC = [0:31]
PORT SRAM_0_A_pin = SRAM_0_A, DIR = O, VEC = [0:31] # вывожу все адреса, цепляю только нужные
PORT SRAM_0_BEN_pin = SRAM_0_BEN, DIR = O, VEC = [0:3]
PORT SRAM_0_WEN_pin = SRAM_0_WEN, DIR = O
PORT SRAM_0_OEN_pin = SRAM_0_OEN, DIR = O, VEC = [0:0]
PORT SRAM_0_ADVLD_pin = SRAM_0_ADVLD, DIR = O
PORT SRAM_0_MODE_pin = SRAM_0_MODE, DIR = O
PORT SRAM_0_ZZ_pin = net_gnd, DIR = O
PORT SRAM_0_CE_pin = net_gnd, DIR = O
PORT SRAM_0_CEN_pin = net_vcc, DIR = O
PORT SRAM_0_CLK_pin = SRAM_0_clock, DIR = O
PORT SRAM_0_CLK_FB = SRAM_0_clk_FB, DIR = I, SIGIS = CLK, CLK_FREQ = 100000000

BEGIN opb_emc
PARAMETER INSTANCE = sram_0
PARAMETER HW_VER = 2.00.a
PARAMETER C_MAX_MEM_WIDTH = 32
PARAMETER C_MEM0_WIDTH = 32
PARAMETER C_NUM_BANKS_MEM = 1
PARAMETER C_SYNCH_MEM_0 = 1
PARAMETER C_OPB_CLK_PERIOD_PS = 10000
PARAMETER C_INCLUDE_DATAWIDTH_MATCHING_0 = 0
PARAMETER C_TCEDV_PS_MEM_0 = 0
PARAMETER C_TAVDV_PS_MEM_0 = 0
PARAMETER C_TWC_PS_MEM_0 = 0
PARAMETER C_TWP_PS_MEM_0 = 0
PARAMETER C_THZCE_PS_MEM_0 = 0
PARAMETER C_THZOE_PS_MEM_0 = 0
PARAMETER C_TLZWE_PS_MEM_0 = 0
PARAMETER C_SYNCH_PIPEDELAY_0 = 1
PARAMETER C_MEM0_BASEADDR = 0x40800000
PARAMETER C_MEM0_HIGHADDR = 0x40ffffff
BUS_INTERFACE SOPB = mb_opb
PORT OPB_Clk = sys_clk_s
PORT Mem_DQ = SRAM_0_DQ
PORT Mem_A = SRAM_0_A
PORT Mem_BEN = SRAM_0_BEN
PORT Mem_WEN = SRAM_0_WEN
PORT Mem_OEN = SRAM_0_OEN
PORT Mem_ADV_LDN = SRAM_0_ADVLD
PORT Mem_LBON = SRAM_0_MODE
END

Удачи!!!



А где сдесь тайминги?? Ведь насколько я поня без них никак?? Для своей CY7Y1380D я нашел тайминги на частоту 250, 200 и 167 МГц в даташите, но микроб не потянет даж на сотне помоему с объемной переферией темболие кварц у меня 50МГц!! Так как же мне быть?? Я подогнал 2 тайминга на глазок проходит 2 теста 32- и 16-битные!! 8-битный не проходит!! Мб у кого нибудь есть тайминги на 75Мгц или ктонибудь знает где их достать??Буду оч благодарен!! А клок я использую системный sys_clk_s просто вывожу его внешним портом на ногу СРАМ без всяких ДЦМ с обратной связью! Это правильно??
Go to the top of the page
 
+Quote Post
RKOB
сообщение Oct 28 2008, 09:45
Сообщение #8


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

Группа: Свой
Сообщений: 172
Регистрация: 17-03-05
Пользователь №: 3 422



Цитата
А где сдесь тайминги??

Что вы понимаете под словом "тайминги"? я вам привел лишь пример описания аппаратной части.
Цитата
Для своей CY7Y1380D я нашел тайминги на частоту 250, 200 и 167 МГц в даташите, но микроб не потянет даж на сотне помоему с объемной переферией темболие кварц у меня 50МГц!! Так как же мне быть??

Еще как тянет...
Цитата
Я подогнал 2 тайминга на глазок проходит 2 теста 32- и 16-битные!!

И как же вы подогнали? Оч.интересно узнать!
Цитата
А клок я использую системный sys_clk_s просто вывожу его внешним портом на ногу СРАМ без всяких ДЦМ с обратной связью! Это правильно??

Можно и так (это если на низких частотах, т.к. память успевает), но лучше всего использовать feedback или же инверсный клок. А sys_clk_s у вас какой? Если 75 МГц, то должно работать как часики ;-) Если у вас не проходит 8-битный тест, то скорее всего у вас ошибка в адресации или перепутаны BE и Data.
Go to the top of the page
 
+Quote Post
Serg`
сообщение Oct 28 2008, 17:08
Сообщение #9


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

Группа: Участник
Сообщений: 111
Регистрация: 25-06-07
Пользователь №: 28 668



Цитата
PARAMETER C_TCEDV_PS_MEM_0 = 0
PARAMETER C_TAVDV_PS_MEM_0 = 0
PARAMETER C_TWC_PS_MEM_0 = 0
PARAMETER C_TWP_PS_MEM_0 = 0
PARAMETER C_THZCE_PS_MEM_0 = 0
PARAMETER C_THZOE_PS_MEM_0 = 0
PARAMETER C_TLZWE_PS_MEM_0 = 0



Вот что я понимаю под таймингами

Цитата
Я подогнал 2 тайминга на глазок проходит 2 теста 32- и 16-битные!!

И как же вы подогнали? Оч.интересно узнать!


Подогнал посмотрев на диограмму на осцилограффе!

А у вас какая частота и какие тайминги и какая плис????

Кстати я так понял в синхронном режиме
Код
PARAMETER C_SYNCH_MEM_0 = 1
тайминги ваобще прописовать не надо так как там есть два режима
Код
PARAMETER C_SYNCH_PIPEDELAY_0 = 1
и
Код
PARAMETER C_SYNCH_PIPEDELAY_0 = 2
со стандартными таймингами или я что то не понял??

Я сейчас работаю в асинхронном!!

Цитата
А клок я использую системный sys_clk_s просто вывожу его внешним портом на ногу СРАМ без всяких ДЦМ с обратной связью! Это правильно??

Можно и так (это если на низких частотах, т.к. память успевает), но лучше всего использовать feedback или же инверсный клок. А sys_clk_s у вас какой? Если 75 МГц, то должно работать как часики ;-) Если у вас не проходит 8-битный тест, то скорее всего у вас ошибка в адресации или перепутаны BE и Data.


ТОесть клок который я подаю на срам ядолжен сдвигать на 180 град относительно sys_clk_s??

А с 8-ми битным тестом седня разабрался БВЕ 3 и 4 банков перепутал!!

А feedback насколько я понял должна помимо микроба быть реализована еще и физически на плате!!1 ДЦМ тут помоему не поможет??Или яне прав??
Go to the top of the page
 
+Quote Post
RKOB
сообщение Oct 29 2008, 10:54
Сообщение #10


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

Группа: Свой
Сообщений: 172
Регистрация: 17-03-05
Пользователь №: 3 422



Цитата
у вас какая частота и какие тайминги и какая плис????

плис Virtex-4LX80, тайминги мои уже были приведены выше. Работаю на 100 МГц (и МВ и контроллер).
Цитата
есть клок который я подаю на срам ядолжен сдвигать на 180 град относительно sys_clk_s??

Я поступаю именно так.
Цитата
А feedback насколько я понял должна помимо микроба быть реализована еще и физически на плате!!1 ДЦМ тут помоему не поможет??Или яне прав??

Да. Вы правы.
Go to the top of the page
 
+Quote Post
Serg`
сообщение Oct 29 2008, 17:16
Сообщение #11


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

Группа: Участник
Сообщений: 111
Регистрация: 25-06-07
Пользователь №: 28 668



Ясно!Спасибо!Буд пробовать!А насчет синхронной опции вы пользуетесь ей так же как показано в примере??ТОесть синхронная=1 и режим=1?
Go to the top of the page
 
+Quote Post

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

 


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


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