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

 
 
 
Reply to this topicStart new topic
> Повышаем скорость работы с inout шиной, как это сделать?
torik
сообщение Dec 25 2012, 05:49
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Имеется память SSRAM. Написал для нее контроллер.

Прописал констрейны следующего вида:

Код
create_generated_clock -name ssram_clk_pin -source $ssram_clk_phy [get_ports {SSRAM_CLK}]


set tAC 3.4
set tOH 1.3

set tCM_Hold -0.4
set tCM_Setup 1.4

set tD_Hold -0.4
set tD_Setup 1.4

set tA_Hold -0.4
set tA_Setup 1.4
                                    
set_input_delay -clock [get_clocks {ssram_clk_pin}] -max $tAC [get_ports {SSRAM_DQ[*]}]
set_input_delay -clock [get_clocks {ssram_clk_pin}] -min $tOH [get_ports {SSRAM_DQ[*]}] -add_delay

set_output_delay -clock [get_clocks {ssram_clk_pin}] -max $tD_Setup [get_ports {SSRAM_DQ[*]}]
set_output_delay -clock [get_clocks {ssram_clk_pin}] -min $tD_Hold [get_ports {SSRAM_DQ[*]}] -add_delay

set_output_delay -clock [get_clocks {ssram_clk_pin}] -max $tA_Setup [get_ports {SSRAM_A[*]}]
set_output_delay -clock [get_clocks {ssram_clk_pin}] -min $tA_Hold [get_ports {SSRAM_A[*]}] -add_delay

set_output_delay -clock [get_clocks {ssram_clk_pin}] -max $tCM_Setup [get_ports {SSRAM_OEn}]
set_output_delay -clock [get_clocks {ssram_clk_pin}] -min $tCM_Hold [get_ports {SSRAM_OEn}] -add_delay

set_output_delay -clock [get_clocks {ssram_clk_pin}] -max $tCM_Setup [get_ports {SSRAM_CE1n}]
set_output_delay -clock [get_clocks {ssram_clk_pin}] -min $tCM_Hold [get_ports {SSRAM_CE1n}] -add_delay

set_output_delay -clock [get_clocks {ssram_clk_pin}] -max $tCM_Setup [get_ports {SSRAM_BWEn}]
set_output_delay -clock [get_clocks {ssram_clk_pin}] -min $tCM_Hold [get_ports {SSRAM_BWEn}] -add_delay

set_output_delay -clock [get_clocks {ssram_clk_pin}] -max $tCM_Setup [get_ports {SSRAM_ADSPn}]
set_output_delay -clock [get_clocks {ssram_clk_pin}] -min $tCM_Hold [get_ports {SSRAM_ADSPn}] -add_delay



Таймквест дает Fmax 170МГц (да и 200 тоже позволяет). Однако шина SSRAM_DQ не проходит по setup:

Код
SSRAM_DQ[14] - qsys1:qsys1_inst|altera_avalon_mm_clock_crossing_bridge:mm_clock_crossing_bridge_1|altera_avalon_dc_fifo:rsp_fifo|altsyncram:mem_rtl_0|altsyncram_60d1:auto_generated|ram_block1a0~porta_datain_reg0

SSRAM_DQ[14] - sld_signaltap:auto_signaltap_0|acq_trigger_in_reg[31]

....................


ну и так со всеми сигналами DQ.

Это что, фазу надо крутить как для SDRAM?


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
alexPec
сообщение Dec 25 2012, 06:51
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Ну да, даже в примере для кита 3с25 фаза клока SSRAM стоит -2ns. Пробовал тоже без подкрутки - нормальной скорости не добился
Go to the top of the page
 
+Quote Post
torik
сообщение Dec 25 2012, 07:23
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Подкрутил фазу, получилось -3.1 нс, но все равно даже на 150 МГц уже ругается на setup по шинам адреса и прочим кроме данных.
А можете выложить пример контроллера памяти от кита (и наименование мукрухи памяти для сравнения), и если возможно, описание констриков?
Я бы не сильно парился с такими частотами, но у сайпраса, как водится, ложка говнеца имеется - на запись с произвольным доступом требуется 2 такта.


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
alexPec
сообщение Dec 25 2012, 10:11
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(torik @ Dec 25 2012, 11:23) *
Подкрутил фазу, получилось -3.1 нс, но все равно даже на 150 МГц уже ругается на setup по шинам адреса и прочим кроме данных.
А можете выложить пример контроллера памяти от кита (и наименование мукрухи памяти для сравнения), и если возможно, описание констриков?
Я бы не сильно парился с такими частотами, но у сайпраса, как водится, ложка говнеца имеется - на запись с произвольным доступом требуется 2 такта.

Вечером найду, выложу. Но там SSRAM на частоте 100МГц запущена, чип is61lps25636A-200tqli
Go to the top of the page
 
+Quote Post
torik
сообщение Dec 25 2012, 10:27
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Заметил у сайпраса режим записи, чтоб за один такт.
Но максимальная частота, которой я достиг - 120 МГц. (на 150 Мгц оно работает, но таймквест уже ругается, так что нафиг).

Не знаю, есть ли какие-то способы повышения рабочей частоты в этом случае?


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
alexPec
сообщение Dec 25 2012, 17:17
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(torik @ Dec 25 2012, 14:27) *
Заметил у сайпраса режим записи, чтоб за один такт.
Но максимальная частота, которой я достиг - 120 МГц. (на 150 Мгц оно работает, но таймквест уже ругается, так что нафиг).

Не знаю, есть ли какие-то способы повышения рабочей частоты в этом случае?

Ну так а смысл в 20-30-40% повышать частоту? Если уж не успевает, то такое повышение если и спасет, то запаса совсем не останется. Или разрядность повышать (хотя и так уже 32) или несколько паметей ставить и распределить под разные задачи, чтоб работали по разным шинам.

Кстати, обещанный проект:


Прикрепленные файлы
Прикрепленный файл  picture_viewer.rar ( 3.13 мегабайт ) Кол-во скачиваний: 30
 
Go to the top of the page
 
+Quote Post
torik
сообщение Dec 26 2012, 04:36
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Да хотелось бы повысить частоту до 200МГц (ну хотя бы до 160, как у ДДР), на которых память может работать. Там весь контроллер - 3 ЛЯ, а клокбридж, через который это повешено на шину авалон, вполне способен работать на 200 МГц. И 20-40% - это вовсе не фигня.
Вопрос об изменении разрядности и т.п. не стоит, т.к. быть готовая плата.


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
alexPec
сообщение Dec 26 2012, 06:41
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(torik @ Dec 26 2012, 08:36) *
Вопрос об изменении разрядности и т.п. не стоит, т.к. быть готовая плата.


Тогда да, выжимать что можно. А мультицикл сделать? На аснхронной памяти выжимал мультициклом 100 мгц - макс. частота для памяти.
Go to the top of the page
 
+Quote Post
torik
сообщение Dec 26 2012, 06:45
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Дык мультицикл прописал как для сдрам, т.к. фазу-то крутим. Вот до 120МГц, болше не хочет.


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
alexPec
сообщение Dec 26 2012, 09:04
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(torik @ Dec 26 2012, 10:45) *
Дык мультицикл прописал как для сдрам, т.к. фазу-то крутим. Вот до 120МГц, болше не хочет.

А ограничение то где? Логика плис позволяет, память до 200 мгц, значит можно колдонуть.... Непоняяяятно sm.gif
Go to the top of the page
 
+Quote Post
torik
сообщение Dec 26 2012, 09:37
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Да, непонятно. В контроллере нет ничего, кроме

Код
assign avs_readdata = coe_SSRAM_DQ;
assign coe_SSRAM_DQ = (avs_write) ? avs_writedata : 16'bzzzzzzzzzzzzzzzz;


да все остальные сигналы напрямую с шины авалон...


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post

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

 


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


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