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

 
 
> Нестабильная зарузку NIOS из onchip mem при герерации тактовой на PLL на Cyclone III
KIM
сообщение Mar 31 2010, 06:25
Сообщение #1


Участник
*

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



Народ помогите плиз. Есть девайс. На нем- cyclone III и USB котроллер cy7c68013 (очень распрастраненный Cypress, может выдавать на Cyclone тактовую в 12, 24 или 48 мегагерц) На циклоне реализован NIOS, программа небольшая и я решил обойтись без бутлоалера - грузить всю прогу сразу в onchip mem. Все работало при заведении тактовой с USB, однако хотелось бы ее увеличить, тем более что тайминг аналайзер сказал что тактовая до 110 Мг подойдет. Как начал использовать PLL - начали появляться странности - нестабильная прогрузка NIOSa. То есть в 90% случаев он загружается нормально, а в остальных то ли виснет толи непойму что. Но явно не корректно заружается. Тактовую на PLL увеличиваю в два раза - получается 96 Мгц. Тайминг аналайзер не выдает ничего плохого -тактовая нормальная, задержек нигде нет. Если NIOS грузиться девайс может работать по несколько суток без единой ошибки - проверял. В чем может быть проблема с загрузкой? Ногу PLL "locked" анализирую - приостанавливаю подачу тактовой на NIOS (мегафукнция ALTCLKCTRL), Жду пока стабилизируется, потом снова подаю. Процессор при этом не ресетю, но пробовал и ресетить, не помогало.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dvladim
сообщение Apr 1 2010, 07:16
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(KIM @ Apr 1 2010, 09:59) *
С частотой поиграл: результат примерно следующий - гдето до 70 МГц все вроде нормально, после 70 начинаются нестабильность с загрузкой. Повторяюсь - только с загрузкой, если ниосы прогружаются они работают отлично.

Если вся программа в on-chip памяти, то о какой загрузке ниоса может идти речь? Или у вас прошивка на этой же частоте грузится?
Go to the top of the page
 
+Quote Post
KIM
сообщение Apr 1 2010, 07:20
Сообщение #3


Участник
*

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



Цитата(dvladim @ Apr 1 2010, 11:16) *
Если вся программа в on-chip памяти, то о какой загрузке ниоса может идти речь? Или у вас прошивка на этой же частоте грузится?


Вся программа в Onchip памяти, под загрузкой я понимаю инициализацию процессора, передачу управления в функцию main, где первым делом устанавливается в '1' PIO, по которомы снаружи SOPC системы я понимаю, успешно ли иниуиировался процесоор или нет. Так вотесли схема работает на 96 МГц это происходит невсегда. Хотя по таймингам все должно быть нормально. Но если всетаки в main управление попадет, все работает отлично и очень долго
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Apr 1 2010, 08:08
Сообщение #4


Гуру
******

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



добавьте SignalTap( http://www.altera.com/literature/an/an446.pdf ) и посмотрите, чем занимается проц во время сбоя. правда я не знаю, как оно в двухпроцессорной конфигурации выглядит.
Go to the top of the page
 
+Quote Post
KIM
сообщение Apr 1 2010, 08:16
Сообщение #5


Участник
*

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



vadimuzzz
Буду пробовать разбираться, спасибо

Сообщение отредактировал Omen_13 - Apr 1 2010, 15:25
Причина редактирования: Избыточное цитирование
Go to the top of the page
 
+Quote Post
KIM
сообщение Apr 1 2010, 11:08
Сообщение #6


Участник
*

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



Цитата(KIM @ Apr 1 2010, 12:16) *
Буду пробовать разбираться, спасибо


Вот что происходит если проц не инитится:

CODE


Signal Legend:

Key Signal Name

0 = cpu_system:CPU|cpu:the_cpu|Nios II Inst Address
1 = cpu_system:CPU|cpu:the_cpu|Nios II Disassembly

Data Table:

Signals-> 0 1

sample

0 <empty> <empty>
1 <empty> <empty>
2 0x80824 flushi bt
3 <empty> <empty>
4 <empty> <empty>
5 <empty> <empty>
6 0x80828 br 0x8082c
7 <empty> <empty>
8 <empty> <empty>
9 <empty> <empty>
10 <empty> <empty>
11 <empty> <empty>
12 <empty> <empty>
13 <empty> <empty>
14 0x8082c br 0x80820
15 <empty> <empty>
16 <empty> <empty>
17 <empty> <empty>
18 <empty> <empty>
19 <empty> <empty>
20 <empty> <empty>
21 <empty> <empty>
22 <empty> <empty>
23 <empty> <empty>
24 0x80820 nextpc bt
25 <empty> <empty>
26 <empty> <empty>
27 0x80824 flushi bt
28 <empty> <empty>
29 <empty> <empty>
30 <empty> <empty>
31 0x80828 br 0x8082c
32 <empty> <empty>
33 <empty> <empty>
34 <empty> <empty>
35 <empty> <empty>
36 <empty> <empty>
37 <empty> <empty>
38 <empty> <empty>
39 0x8082c br 0x80820
40 <empty> <empty>
41 <empty> <empty>
42 <empty> <empty>
43 <empty> <empty>
44 <empty> <empty>
45 <empty> <empty>
46 <empty> <empty>
47 <empty> <empty>
48 <empty> <empty>
49 0x80820 nextpc bt
50 <empty> <empty>
51 <empty> <empty>
52 0x80824 flushi bt
53 <empty> <empty>
54 <empty> <empty>
55 <empty> <empty>
56 0x80828 br 0x8082c
57 <empty> <empty>
58 <empty> <empty>
59 <empty> <empty>
60 <empty> <empty>
61 <empty> <empty>
62 <empty> <empty>
63 <empty> <empty>
64 0x8082c br 0x80820
65 <empty> <empty>
66 <empty> <empty>
67 <empty> <empty>
68 <empty> <empty>
69 <empty> <empty>
70 <empty> <empty>
71 <empty> <empty>
72 <empty> <empty>
73 <empty> <empty>
74 0x80820 nextpc bt
75 <empty> <empty>
76 <empty> <empty>
77 0x80824 flushi bt
78 <empty> <empty>
79 <empty> <empty>
80 <empty> <empty>
81 0x80828 br 0x8082c
82 <empty> <empty>
83 <empty> <empty>
84 <empty> <empty>
85 <empty> <empty>
86 <empty> <empty>
87 <empty> <empty>
88 <empty> <empty>
89 0x8082c br 0x80820
90 <empty> <empty>
91 <empty> <empty>
92 <empty> <empty>
93 <empty> <empty>
94 <empty> <empty>
95 <empty> <empty>
96 <empty> <empty>
97 <empty> <empty>
98 <empty> <empty>
99 0x80820 nextpc bt
100 <empty> <empty>
101 <empty> <empty>
102 0x80824 flushi bt
103 <empty> <empty>
104 <empty> <empty>
105 <empty> <empty>
106 0x80828 br 0x8082c
107 <empty> <empty>
108 <empty> <empty>
109 <empty> <empty>
110 <empty> <empty>
111 <empty> <empty>
112 <empty> <empty>
113 <empty> <empty>
114 0x8082c br 0x80820
115 <empty> <empty>
116 <empty> <empty>
117 <empty> <empty>
118 <empty> <empty>
119 <empty> <empty>
120 <empty> <empty>
121 <empty> <empty>
122 <empty> <empty>
123 <empty> <empty>
124 0x80820 nextpc bt
125 <empty> <empty>
126 <empty> <empty>
127 0x80824 flushi bt
128 <empty> <empty>
129 <empty> <empty>
130 <empty> <empty>
131 0x80828 br 0x8082c
132 <empty> <empty>
133 <empty> <empty>
134 <empty> <empty>
135 <empty> <empty>
136 <empty> <empty>
137 <empty> <empty>
138 <empty> <empty>
139 0x8082c br 0x80820
140 <empty> <empty>
141 <empty> <empty>
142 <empty> <empty>
143 <empty> <empty>
144 <empty> <empty>
145 <empty> <empty>
146 <empty> <empty>
147 <empty> <empty>
148 <empty> <empty>
149 0x80820 nextpc bt
150 <empty> <empty>
151 <empty> <empty>
152 0x80824 flushi bt
153 <empty> <empty>
154 <empty> <empty>
155 <empty> <empty>
156 0x80828 br 0x8082c
157 <empty> <empty>
158 <empty> <empty>
159 <empty> <empty>
160 <empty> <empty>
161 <empty> <empty>
162 <empty> <empty>
163 <empty> <empty>
164 0x8082c br 0x80820
165 <empty> <empty>
166 <empty> <empty>
167 <empty> <empty>
168 <empty> <empty>
169 <empty> <empty>
170 <empty> <empty>
171 <empty> <empty>
172 <empty> <empty>
173 <empty> <empty>
174 0x80820 nextpc bt
175 <empty> <empty>
176 <empty> <empty>
177 0x80824 flushi bt
178 <empty> <empty>
179 <empty> <empty>
180 <empty> <empty>
181 0x80828 br 0x8082c
182 <empty> <empty>
183 <empty> <empty>
184 <empty> <empty>
185 <empty> <empty>
186 <empty> <empty>
187 <empty> <empty>
188 <empty> <empty>
189 0x8082c br 0x80820
190 <empty> <empty>
191 <empty> <empty>
192 <empty> <empty>
193 <empty> <empty>
194 <empty> <empty>
195 <empty> <empty>
196 <empty> <empty>
197 <empty> <empty>
198 <empty> <empty>
199 0x80820 nextpc bt
200 <empty> <empty>
201 <empty> <empty>
202 0x80824 flushi bt
203 <empty> <empty>
204 <empty> <empty>
205 <empty> <empty>
206 0x80828 br 0x8082c
207 <empty> <empty>
208 <empty> <empty>
209 <empty> <empty>
210 <empty> <empty>
211 <empty> <empty>
212 <empty> <empty>
213 <empty> <empty>
214 0x8082c br 0x80820
215 <empty> <empty>
216 <empty> <empty>
217 <empty> <empty>
218 <empty> <empty>
219 <empty> <empty>
220 <empty> <empty>
221 <empty> <empty>
222 <empty> <empty>
223 <empty> <empty>
224 0x80820 nextpc bt
225 <empty> <empty>
226 <empty> <empty>
227 0x80824 flushi bt
228 <empty> <empty>
229 <empty> <empty>
230 <empty> <empty>
231 0x80828 br 0x8082c
232 <empty> <empty>
233 <empty> <empty>
234 <empty> <empty>
235 <empty> <empty>
236 <empty> <empty>
237 <empty> <empty>
238 <empty> <empty>
239 0x8082c br 0x80820
240 <empty> <empty>
241 <empty> <empty>
242 <empty> <empty>
243 <empty> <empty>
244 <empty> <empty>
245 <empty> <empty>
246 <empty> <empty>
247 <empty> <empty>
248 <empty> <empty>
249 0x80820 nextpc bt
250 <empty> <empty>
251 <empty> <empty>
252 0x80824 flushi bt
253 <empty> <empty>
254 <empty> <empty>
255 040412h 0C408301C40412h




чтонибудь говорит кроме того что налицо зацикливание?

Сейча поставил триггер на ресет вектор (0x00000000), выкладываю два файла - запись того что происходит в начале инициализации вслучае, если она в дальнейшем прошла успешно, и в случае, если проц завис. Мне кажется тут причина в том что из Onchip mem в каких то случаях происходит некорректное считывание команд. Как такое может быть?
Прикрепленные файлы
Прикрепленный файл  good_load.txt ( 12.23 килобайт ) Кол-во скачиваний: 50
Прикрепленный файл  bad_load.txt ( 12.49 килобайт ) Кол-во скачиваний: 44
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Apr 1 2010, 11:54
Сообщение #7


Гуру
******

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



Цитата(KIM @ Apr 1 2010, 17:08) *
Мне кажется тут причина в том что из Onchip mem в каких то случаях происходит некорректное считывание команд. Как такое может быть?

потому что изначально была некорректная запись (при инициализации)? сделайте objdump программ(в настойках ниос-иде есть галка), чтобы идентифицировать куски кода в районе ресета. потом нужно как-то ухитриться сделать дамп памяти on-chip во время сбоя. тут, возможно, придется сделать контроллер памяти с доступом извне SOPC-системы, чтобы была доступна в момент зависания. или дать одному из ядер доступ к памяти второго(наверное, лучше ее 2-портовой сделать) и ждать пока оно (второе) зависнет. пока неясно, то ли содержимое памяти - лажа, то ли ядро неправильно читает. а, еще надо добавить data master port зависшего ядра в диаграмму signaltap, добавит определенности с памятью.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- KIM   Нестабильная зарузку NIOS из onchip mem при герерации тактовой на PLL на Cyclone III   Mar 31 2010, 06:25
- - vadimuzzz   я с PLL делал так: ALTCLKCTRL не ставил, PLL ...   Mar 31 2010, 06:54
|- - KIM   Цитата(vadimuzzz @ Mar 31 2010, 10:54) я ...   Mar 31 2010, 07:16
|- - vadimuzzz   Цитата(KIM @ Mar 31 2010, 13:16) Неполуча...   Mar 31 2010, 07:39
|- - KIM   Цитата(vadimuzzz @ Mar 31 2010, 11:39) Se...   Mar 31 2010, 07:43
|- - vadimuzzz   но сама ПЛИС сконфигурилась? если flash-programmer...   Mar 31 2010, 07:46
- - Stewart Little   Тайминги, тайминги и еще раз тайминги. Цитата(KIM...   Mar 31 2010, 07:53
- - KIM   Цитатавообще сильно на тайминги смахивает, точно в...   Mar 31 2010, 08:09
- - vadimuzzz   ЦитатаТайминг аналайзер квартуса ни выдает ничего ...   Mar 31 2010, 08:17
|- - KIM   vadimuzzz Ясно,у меня так и было   Mar 31 2010, 08:22
|- - KIM   Цитата(KIM @ Mar 31 2010, 12:22) warnings...   Mar 31 2010, 09:39
- - vadimuzzz   ну, кроме таймингов на ум ничего не приходит. выкл...   Mar 31 2010, 08:50
- - vadimuzzz   так, чтобы последние варнинги убрать добавьте deri...   Mar 31 2010, 11:47
|- - KIM   Цитата(vadimuzzz @ Mar 31 2010, 15:47) пр...   Mar 31 2010, 12:36
- - KIM   в общем ситауция не поменялась, все так же то рузи...   Mar 31 2010, 14:00
- - vadimuzzz   еще такой вариант: поиграть выходной частотой PLL,...   Mar 31 2010, 14:05
|- - KIM   Цитата(vadimuzzz @ Mar 31 2010, 18:05) ещ...   Apr 1 2010, 06:59
|- - dim99   Есть один вариант: когда делал двухъядерную систем...   Apr 2 2010, 18:24
|- - KIM   Цитата(vadimuzzz @ Apr 1 2010, 15:54) пот...   Apr 3 2010, 10:17
|- - vadimuzzz   Цитата(KIM @ Apr 3 2010, 17:17) Теперь в ...   Apr 3 2010, 10:42
|- - KIM   Цитата(vadimuzzz @ Apr 3 2010, 14:42) как...   Apr 3 2010, 11:13
|- - vadimuzzz   ЦитатаУ меня питание идет от USB. может ему элемен...   Apr 3 2010, 11:56
|- - KIM   Цитата(vadimuzzz @ Apr 3 2010, 15:56) поэ...   Apr 3 2010, 17:10
|- - KIM   посмотрел внимательно разводку платы и обнаружил 1...   Apr 4 2010, 21:29
|- - vadimuzzz   Цитата(KIM @ Apr 5 2010, 04:29) посмотрел...   Apr 4 2010, 22:32
|- - KIM   Цитата(vadimuzzz @ Apr 5 2010, 02:32) че-...   Apr 4 2010, 22:39
|- - vadimuzzz   Цитата(KIM @ Apr 5 2010, 05:39) Я щас поп...   Apr 4 2010, 23:50
|- - KIM   Цитата(vadimuzzz @ Apr 5 2010, 03:50) так...   Apr 4 2010, 23:57
- - Аматер   Я запускал ниос самый навороченный из внутренней п...   Apr 2 2010, 21:28
- - KIM   Посмтотрел внимательнее, оказывается ноги вводла в...   Apr 7 2010, 07:55
|- - vadimuzzz   Цитата(KIM @ Apr 7 2010, 15:10) Посмтотре...   Apr 7 2010, 11:19
|- - KIM   Цитата(vadimuzzz @ Apr 7 2010, 15:34) нет...   Apr 7 2010, 13:04
- - dvladim   Цитата(vadimuzzz @ Apr 5 2010, 03:05) так...   Apr 10 2010, 19:23
|- - vadimuzzz   Цитата(dvladim @ Apr 11 2010, 02:38) Нет,...   Apr 11 2010, 01:48
- - dvladim   Цитата(vadimuzzz @ Apr 11 2010, 05:03) мо...   Apr 12 2010, 19:41
- - vadimuzzz   да, нашел. оставлю тут для памятки: What is Altera...   Apr 12 2010, 22:35
- - KIM   Проблема дейсвтительно оказалась в цепи питания, н...   Apr 27 2010, 11:41
- - vadimuzzz   Цитата(KIM @ Apr 27 2010, 18:41) Проблема...   Apr 27 2010, 12:31
- - KIM   Цитата(vadimuzzz @ Apr 27 2010, 16:31) мо...   Apr 27 2010, 12:38


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

 


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


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