Maloy999 0 27 августа, 2008 Опубликовано 27 августа, 2008 · Жалоба Дело в том, что этот модуль ЕМС1.0в помоему не очень подходит под этот SSRAM, но тем не мение на одном из бордов (виртекс4) он нормально работал с почти анологичной SSRAM кипарисов но только она была без АДСП И АДСЦ и на 1 мб, а эта на 2! Проблема в следующем есть микросхема CY7C1380D, есть ЕДК9.2, ЕМС1.0в, надо только это все связать!! На сайте кипарисов я нашел ман позваляющий убрать все сигналы управления до минимума!!Оставив только ОЕ и 4 BWE так как DQ 32-х разрядная, остольные заводятся на соответствующие разрешающие уровни!! Но ничего не выходит!! Еще вопрос шина адреса для меня немного странновата!Тоесть есть 3 различия между адресами(приведено на рисунке) A0, A1, A(2 to 18) я немного не понял этого решения!!Как сдесь задать адрес и как его задать в ЕДК?? Так что вот такие у меня проблемы!! Подскажите если есть какие нибудь соображения!! Спасибо зарание! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RKOB 0 8 сентября, 2008 Опубликовано 8 сентября, 2008 · Жалоба Используем 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 Удачи!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Cont 0 23 октября, 2008 Опубликовано 23 октября, 2008 · Жалоба Добрый день. Я тоже использую ssram от кипарисов. Вот только у меня есть проблема: чтобы что-то записать или считать из памяти в режиме Single beat(read/write), сигналы ADSP и GW нужно держать не по одному такту синхросигнала, а по два (в противном случае, из памяти считываются рандомные числа). В чем может быть проблема? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RKOB 0 24 октября, 2008 Опубликовано 24 октября, 2008 · Жалоба Как формируете клок (с feedback)? на какой частоте работаете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Cont 0 24 октября, 2008 Опубликовано 24 октября, 2008 · Жалоба Клок у меня берется с CLKDLL, при этом он сдивнут по фазе на 180 градусов относительно системного клока.(и управляющих сигналов АДСП, ГВ, ОЕ ибо по даташиту там необходима задержка). Работал на частоте 166 мегагерца. Провел опыт - снизил частоту до 100 - теперь записывает за 1 такт. Видимо нужно точно по даташиту выдерживать все тайминги с ГВ, ОЕ, АДСП вплоть до 0,5 наносекунды, иначе на большой частоте ничего не выйдет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 25 октября, 2008 Опубликовано 25 октября, 2008 · Жалоба Клок у меня берется с CLKDLL, при этом он сдивнут по фазе на 180 градусов относительно системного клока.(и управляющих сигналов АДСП, ГВ, ОЕ ибо по даташиту там необходима задержка). Насколько я помню рекомендации xilinx инверсия клока на PLL это порочная практика. Нужно разворачивать именно тот клок, на котором у вас работает контроллер. Но разворачивать по уму через DDR регистр. В противном случае пути клока и его инверсии могут сильно разойтись, тогда нужно констрейнить перекос между ними. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zeratul 0 27 октября, 2008 Опубликовано 27 октября, 2008 · Жалоба Используем 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 просто вывожу его внешним портом на ногу СРАМ без всяких ДЦМ с обратной связью! Это правильно?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RKOB 0 28 октября, 2008 Опубликовано 28 октября, 2008 · Жалоба А где сдесь тайминги?? Что вы понимаете под словом "тайминги"? я вам привел лишь пример описания аппаратной части. Для своей CY7Y1380D я нашел тайминги на частоту 250, 200 и 167 МГц в даташите, но микроб не потянет даж на сотне помоему с объемной переферией темболие кварц у меня 50МГц!! Так как же мне быть?? Еще как тянет... Я подогнал 2 тайминга на глазок проходит 2 теста 32- и 16-битные!! И как же вы подогнали? Оч.интересно узнать! А клок я использую системный sys_clk_s просто вывожу его внешним портом на ногу СРАМ без всяких ДЦМ с обратной связью! Это правильно?? Можно и так (это если на низких частотах, т.к. память успевает), но лучше всего использовать feedback или же инверсный клок. А sys_clk_s у вас какой? Если 75 МГц, то должно работать как часики ;-) Если у вас не проходит 8-битный тест, то скорее всего у вас ошибка в адресации или перепутаны BE и Data. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zeratul 0 28 октября, 2008 Опубликовано 28 октября, 2008 · Жалоба 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 ДЦМ тут помоему не поможет??Или яне прав?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RKOB 0 29 октября, 2008 Опубликовано 29 октября, 2008 · Жалоба у вас какая частота и какие тайминги и какая плис???? плис Virtex-4LX80, тайминги мои уже были приведены выше. Работаю на 100 МГц (и МВ и контроллер). есть клок который я подаю на срам ядолжен сдвигать на 180 град относительно sys_clk_s?? Я поступаю именно так. А feedback насколько я понял должна помимо микроба быть реализована еще и физически на плате!!1 ДЦМ тут помоему не поможет??Или яне прав?? Да. Вы правы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zeratul 0 29 октября, 2008 Опубликовано 29 октября, 2008 · Жалоба Ясно!Спасибо!Буд пробовать!А насчет синхронной опции вы пользуетесь ей так же как показано в примере??ТОесть синхронная=1 и режим=1? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться