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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
карамболь
сообщение Dec 8 2010, 13:15
Сообщение #1


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

Группа: Участник
Сообщений: 153
Регистрация: 25-08-08
Из: Санкт-Петербург
Пользователь №: 39 813



Снова возникли проблемы с времянками. До последнего момента Ниос работал на 75 МГц, но после добавления в систему SRAM, CFI и еще кое чего по мелочи, при компиляции ругается -

Type : Clock Setup: 'altpll0:inst1|altpll:altpll_component|altpll_5pj2:auto_generated|clk[0]'
Slack : -0.802 ns
Required Time : 75.00 MHz ( period = 13.333 ns )
Actual Time : 70.75 MHz ( period = 14.135 ns )
From : nios_test1:sopc_system_inst|cpu_0:the_cpu_0|A_mem_baddr[27]
To : nios_test1:sopc_system_inst|onchip_memory2_0:the_onchip_memory2_0|altsyncram:the
_altsyncram|altsyncram_2bc1:auto_generated|ram_block1a149~porta_we_reg

From Clock : altpll0:inst1|altpll:altpll_component|altpll_5pj2:auto_generated|clk[0]
To Clock : altpll0:inst1|altpll:altpll_component|altpll_5pj2:auto_generated|clk[0]
Failed Paths : 2205


Пока в SDC файле присустствует только это (это только то, что касается тактовой, )

create_clock -period 20.00 -name clk_50 [ get_ports clk_50 ]
create_clock -period 8.00 -name clk_125 [ get_ports clk_125 ]

# Deriving PLL Clocks
derive_pll_clocks

# Providing easier to use clock names
#set System_Clock {enet_pll_inst|altpll_component|auto_generated|pll1|clk[0]}
set clk_75 {inst1|altpll_component|auto_generated|pll1|clk[0]}
set clk1_125 {inst1|altpll_component|auto_generated|pll1|clk[1]}
set clk2_125 {inst1|altpll_component|auto_generated|pll1|clk[2]}

Пока пользовался SDC файлом любезно предоставленным vadimuzzz, но в нем нет констрейнов для тактовой процессора.

Читал "Таймквест для чайников", пытался сделать констрейны по аналогии, но видимо неудачно.

PLL в моей системе является внешней для СОПЦа. На входе PLL clk_50, выход clk_75 завожу на клок Ниоса

Прошу помощи у специалистов.

Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 8 2010, 15:38
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



это:
Код
create_clock -period 20.00 -name clk_50  [ get_ports clk_50  ]

+ это:
Код
derive_pll_clocks

задают все клоки, в т.ч. тактовую для процессора.
картина далека от ясности, но есть подозрение, что много всего навешали (особенно SRAM и CFI большой разрядности), а бриджами как следует не развязали, вот тактовая и просела. картинку из билдера покажите, еще можно html файлик с названием системы, что билдер генерит, там хорошее summary.
Go to the top of the page
 
+Quote Post
карамболь
сообщение Dec 8 2010, 16:04
Сообщение #3


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

Группа: Участник
Сообщений: 153
Регистрация: 25-08-08
Из: Санкт-Петербург
Пользователь №: 39 813



SRAM 32 разрядов
CFI 16 разрядов




Сообщение отредактировал карамболь - Dec 8 2010, 16:05
Прикрепленные файлы
Прикрепленный файл  nios_test1.html ( 107.08 килобайт ) Кол-во скачиваний: 92
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 9 2010, 01:44
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



да, вроде похоже на то, о чем я говорил. тогда курите 4-й том квартус хендбука, глава 11 про
Avalon-MM Pipeline Bridge. он определенно должен помочь поднять тактовую ценой увеличения латентности,
проблема только в том, что решение не единственное. что точно стоит сделать - отрезать таким мостом
периферию типа UART, PIO (на них одного моста хватит). а вот с памятью надо разные варианты
попробовать, с разным количеством мостов, поиграть с топологией.
Go to the top of the page
 
+Quote Post
карамболь
сообщение Dec 9 2010, 09:51
Сообщение #5


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

Группа: Участник
Сообщений: 153
Регистрация: 25-08-08
Из: Санкт-Петербург
Пользователь №: 39 813



спасибо.
У меня еще такая проблема с платой Altera Cyclon III DevBoard, постоянно приходится передергивать JTAG, иначе он отваливается и невозможно записать SOF в FPGA, регулярно при перетыкании вылезает сообщение, что обнаружено неизвестное устройство и с ним какие то проблемы. Это виндовские глюки ? Известно как с этим бороться ? Иногда SOF грузится нормально, но происходят проблемы при загрузке софта для Ниоса
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 9 2010, 10:25
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



может кабель или разъемы хреновые, посмотрите сигналы осциллографом
Go to the top of the page
 
+Quote Post
карамболь
сообщение Dec 9 2010, 10:55
Сообщение #7


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

Группа: Участник
Сообщений: 153
Регистрация: 25-08-08
Из: Санкт-Петербург
Пользователь №: 39 813



развязал периферию (rs232, timer, PIO) через pipeline bridge, также добавил отдельный tristate bridge для флешки, пересобрал систему - Fmax не увеличилась. Что еще можно предпринять ?

Сообщение отредактировал карамболь - Dec 9 2010, 10:57
Прикрепленные файлы
Прикрепленный файл  nios_test1.html ( 113.67 килобайт ) Кол-во скачиваний: 77
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 9 2010, 13:22
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



ну, самая жирная шина у SRAM, отрежьте ее мостом (pipeline). потом FLASH и т.д. следите не только за Fmax (она по наихудшему сигналу измеряется), но и за количеством сигналов, не уложившихся в констрейны. в общем, поиграйтесь с мостами (можно тупо систему только проц + SRAM взять, замерить Fmax, добавить мост, замерить с ним).
Go to the top of the page
 
+Quote Post
карамболь
сообщение Dec 9 2010, 13:34
Сообщение #9


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

Группа: Участник
Сообщений: 153
Регистрация: 25-08-08
Из: Санкт-Петербург
Пользователь №: 39 813



Цитата(vadimuzzz @ Dec 9 2010, 16:22) *
ну, самая жирная шина у SRAM, отрежьте ее мостом (pipeline). потом FLASH и т.д. следите не только за Fmax (она по наихудшему сигналу измеряется), но и за количеством сигналов, не уложившихся в констрейны. в общем, поиграйтесь с мостами (можно тупо систему только проц + SRAM взять, замерить Fmax, добавить мост, замерить с ним).


простите, не совсем понял. Нужно поставить pipeline бридж между ЦПУ и Tristate бриджем SRAM (у меня в данный момент 2 Tristate бриджа, отдельно для SRAM и флешки)?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 9 2010, 14:55
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(карамболь @ Dec 9 2010, 19:34) *
простите, не совсем понял. Нужно поставить pipeline бридж между ЦПУ и Tristate бриджем SRAM (у меня в данный момент 2 Tristate бриджа, отдельно для SRAM и флешки)?

да, м.б. получится одним обойтись, но надо пробовать разные варианты. смысла в 2 tristate мостах нет, там регистрятся только входы.
Go to the top of the page
 
+Quote Post
карамболь
сообщение Dec 9 2010, 15:04
Сообщение #11


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

Группа: Участник
Сообщений: 153
Регистрация: 25-08-08
Из: Санкт-Петербург
Пользователь №: 39 813



установка pipeline бриджа позволила увеличить частоту на 10 МГц, т.е. в требуемые 75 МГЦ я вписался, но хочется большего, тем более, что у многих
Ниос на 120 МГц работает.
Тут еще такая бяка вылезла -
Type : Clock Setup: 'altpll0:inst1|altpll:altpll_component|altpll_5pj2:auto_generated|clk[2]'

Slack : -2.737 ns

Required Time : 125.00 MHz ( period = 8.000 ns )

Actual Time : N/A

From : nios_test1:sopc_system_inst|triple_speed_ethernet_0:the_triple_speed_ethernet_0|
altera_tse_mac:altera_tse_mac_inst|altera_tse_top_gen_host:top_gen_host_inst|alte
ra_tse_mac_control:U_MAC_CONTROL|altera_tse_register_map:U_REG|command_config[9]

To : nios_test1:sopc_system_inst|triple_speed_ethernet_0:the_triple_speed_ethernet_0|
altera_tse_mac:altera_tse_mac_inst|altera_tse_top_gen_host:top_gen_host_inst|alte
ra_tse_top_w_fifo_10_100_1000:U_MAC_TOP|altera_tse_top_w_fifo:U_MAC|altera_tse_to
p_1geth:U_GETH|altera_tse_mac_tx:U_TX|rd_3[3]

From Clock : clk_50

To Clock : altpll0:inst1|altpll:altpll_component|altpll_5pj2:auto_generated|clk[2]

Failed Paths : 90


Это уже слаки по 125 МГц, от которых тактируется передатчик МАС гигабитный, при это он работает, ставил заглушку, чего передаю, то и принимаю, ошибок не обнаружил, но боюсь на предельных температурах могу поиметь с этими слаками неприятности.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 9 2010, 15:42
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



по поводу Fmax - я никогда не гоняюсь за тактовой, прирост производительности от ее увеличения небольшой, на
FPGA есть другие пути. 120МГц - это для простенькой системы с памятью DDR, при этом сильно не факт, что она реально
быстрее, скажем, системы из SRAM и ниос на 75МГц (сравнение теплого с мягким в общем-то). и в любом случае, имейте в
виду, что увеличение Fmax идет за счет латентности, так что на произвольном доступе идет даже потеря в скорости.
задайте другой критерий, на всю систему в целом. например, пропускная способность TCP/IP - хороший критерий, и для
увеличения ее не надо гнать частоту (вернее, можно, но есть и другие способы).
например (делал недавно), система на 85МГц (неточно, м.б. и меньше) без особого
напряга и оптимизаций "прокачивала" по UDP ~600Мбит.

что касается клоков, то забейте их как false path, т.к. в MAC`е стоят двухклоковые FIFO в обе стороны,
анализировать их не надо.
Go to the top of the page
 
+Quote Post
карамболь
сообщение Dec 9 2010, 16:14
Сообщение #13


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

Группа: Участник
Сообщений: 153
Регистрация: 25-08-08
Из: Санкт-Петербург
Пользователь №: 39 813



большое спасибо. Хочу добавить, что SRAM SRAMу рознь, на альтеровской плате стоит память на 70 нсек, с такой большой производительности не добиться.
А флешка у меня вообще не работает, 100 раз уже все сигналы проверил, все вроде правильно, но не работает, даже LED Flash Active не мигает, SRAM запустилась с полпинка, куда копать ума не приложу. Еще вопрос по поводу паралельной загрузки, насколько я понял у каждой ПЛИС есть определенный набор ног для подключения CFI, нашел в сети документ ep3c120.xls (Pin Information for the Cyclone® III EP3C120 Device), но информация по ножкам в этом документе не стреляет с разводкой на плате Altera Cyclon III DevBoard ? Не подскажите как называется дока, в которой описано куда цеплять загрузочную CFI Flash, я планирую хранить в ней прошивку для FPGA и грузить с нее софт Ниоса в он-чип память.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 10 2010, 01:59
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



ну, в доках на борду посмотрите, там есть схематик. еще там есть qsf-файлик с распиновкой, добавляете его
в qsf проекта (
Код
source cycloneIII_3c120_dev_golden_top.qsf
) и все (только ноги должны называться как в qsf). приложил в аттач.

вообще, для вашей платы есть хорошие примеры. вот, например: http://nioswiki.com/ExampleDesigns/Nios_II..._Design_Example
Прикрепленные файлы
Прикрепленный файл  cycloneIII_3c120_dev_golden_top.qsf.rar ( 4.5 килобайт ) Кол-во скачиваний: 16
 
Go to the top of the page
 
+Quote Post
карамболь
сообщение Dec 10 2010, 12:06
Сообщение #15


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

Группа: Участник
Сообщений: 153
Регистрация: 25-08-08
Из: Санкт-Петербург
Пользователь №: 39 813



за совет спасибо, правда все не так просто оказалось -
мало добавить - source cycloneIII_3c120_dev_golden_top.qsf

нужно еще править сам файл cycloneIII_3c120_dev_golden_top.qsf

пришлось вставить в строке - set_global_assignment -name TOP_LEVEL_ENTITY golden_top
название своего TOP_LEVEL_ENTITY и еще удалить строки -
set_global_assignment -name VERILOG_FILE golden_top.v
set_global_assignment -name TEXT_FILE backup.txt

зато все пины автоматом определились )

Но все же вопрос распиновки флешки остался открытым, что если я решу в своем железе использовать другую FPGA, в какой доке брать распиновку для CFI или EPCS ?



Go to the top of the page
 
+Quote Post

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

 


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


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