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

 
 
 
Reply to this topicStart new topic
> помогите с процем, не записывается никак в отладочный набор
Fynjisx
сообщение Sep 9 2010, 08:34
Сообщение #1


студент
****

Группа: Свой
Сообщений: 571
Регистрация: 3-07-08
Из: Russia
Пользователь №: 38 712



У меня есть отладочная платка для CyclonaIII, хотелось бы записать всё туда, но не получается.
Теперь по порядку. Написал модуль который собственно и является процем, который пока включает в себя ALU, PC, Аккумулятор и умеет обрабатывать всего 4 команды (работа с памятью и сложение)))). Выходного порта нет. Далее в файле более высокого уровня подключаю его к блокам памяти ram и rom(за оба блока взяты внутренние
блоки памяти плис) и сам clk. Итого у меня получается, что в файле верхнего уровня у меня имеется только пин для clk, а выходных пинов нет. Из-за этого компилятор квартуса выдает предупреждение:
Warning (15610): No output dependent on input pin "clk"
а Fitter разводит не полностью всю мою схему. Ну здесь вроде бы всё понятно, нужны зависимые от clk выходы. Для этой цели я подключаю выходные пины на интересующие цепи - на выход ram и rom памяти(чтоб в дальнейшем посмотреть их в SignalTap)). Далее для них назначаю ножки ПЛИС. Поcле этого Fitter выдает I/O Assignment: Missing drive strength and slew rate. И далее ничего не зашивается. JTAG выдает ошибку:
Error: Can't access JTAG chain
Error: Can't configure device. Expected JTAG ID code 0x010E15DE for device 1, but found JTAG ID code 0x00000000.
Error: Operation failed
И хрен его знает почему... Думал, может JTAG не работает, но другие файлы он прошивает без проблем...Может кто подскажет, в чем тут проблема, может кто сталкивался?
Заранее спасибо...

Сообщение отредактировал Fynjisx - Sep 9 2010, 08:53
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
С Уважением...
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 9 2010, 08:41
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Fynjisx @ Sep 9 2010, 12:34) *
квартуса выдает предупреждение:

Может кто подскажет, в чем тут проблема, может кто сталкивался?


А кто мешает сделать регистр и его выходы подать на светодиоды, которые есть на этой же плате? Запись в регистр сделайте по какому нибудь адресу памяти... Или просто при выполнении какой-либо команды...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Fynjisx
сообщение Sep 9 2010, 08:44
Сообщение #3


студент
****

Группа: Свой
Сообщений: 571
Регистрация: 3-07-08
Из: Russia
Пользователь №: 38 712



Цитата(iosifk @ Sep 9 2010, 12:41) *
А кто мешает сделать регистр и его выходы подать на светодиоды, которые есть на этой же плате?

хорошая идея. Буду пробовать

Сообщение отредактировал Fynjisx - Sep 9 2010, 08:48


--------------------
С Уважением...
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 9 2010, 08:50
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Fynjisx @ Sep 9 2010, 12:44) *
Это будет порт. Нужно подумать как его адресовать... Возможно нужно будет добавлять в мою систему команд, команды отвечающие за обмен данными с портом.

Ну кто Вам сказал, что именно "порт"? Кто сказал, что у всех процессоров обязаны быть порты? Если есть желание, то почитайте у меня на сайте цикл статей "Микропроцессор своими руками"...
Подключите светодиоды к шине данных. Этого компилятору будет достаточно, чтобы понять, что есть выходы. Подключите их как ячейку памяти... Или как перенос сумматора... Какие проблемы здесь?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Fynjisx
сообщение Sep 9 2010, 09:06
Сообщение #5


студент
****

Группа: Свой
Сообщений: 571
Регистрация: 3-07-08
Из: Russia
Пользователь №: 38 712



Цитата(iosifk @ Sep 9 2010, 12:50) *
Ну кто Вам сказал, что именно "порт"? Кто сказал, что у всех процессоров обязаны быть порты? Если есть желание, то почитайте у меня на сайте цикл статей "Микропроцессор своими руками"...
Подключите светодиоды к шине данных. Этого компилятору будет достаточно, чтобы понять, что есть выходы. Подключите их как ячейку памяти... Или как перенос сумматора... Какие проблемы здесь?

Сделал, схема ниже. Сетодиоды загорелись. Но JTAG все равно выдает ошибку.

Сообщение отредактировал Fynjisx - Sep 9 2010, 09:07
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
С Уважением...
Go to the top of the page
 
+Quote Post
Fynjisx
сообщение Sep 9 2010, 16:43
Сообщение #6


студент
****

Группа: Свой
Сообщений: 571
Регистрация: 3-07-08
Из: Russia
Пользователь №: 38 712



Цитата(Fynjisx @ Sep 9 2010, 13:06) *
Сделал, схема ниже. Сетодиоды загорелись. Но JTAG все равно выдает ошибку.

Ерунда какая-то. ОТдельнопроц без памяти он загружает. Но стоит подключить память, как сразу выдает ошибку по JTAG. Хотя сама по себе отдально прога для проверки памяти загружается без ошибок


--------------------
С Уважением...
Go to the top of the page
 
+Quote Post
Fynjisx
сообщение Sep 10 2010, 03:26
Сообщение #7


студент
****

Группа: Свой
Сообщений: 571
Регистрация: 3-07-08
Из: Russia
Пользователь №: 38 712



Заработало!!! НО только после того, как я блоки памяти (rom и ram), описал не в файле верхнего уровня, как у меня на картинке, а внес эти описания в файл описания блока cp. Проблема в том,
что не понял в чем разница?
Под словом "заработало" я имел ввиду тот факт, что JTAG перестал давать ошибки и всё нормально сконфигурировал...


--------------------
С Уважением...
Go to the top of the page
 
+Quote Post
Fynjisx
сообщение Sep 14 2010, 16:50
Сообщение #8


студент
****

Группа: Свой
Сообщений: 571
Регистрация: 3-07-08
Из: Russia
Пользователь №: 38 712



всё разобрался- заработало!!!)))


--------------------
С Уважением...
Go to the top of the page
 
+Quote Post
des333
сообщение Sep 14 2010, 17:36
Сообщение #9


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

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(Fynjisx @ Sep 14 2010, 20:50) *
всё разобрался- заработало!!!)))
Это очень важно, что Вы сообщили сообществу, что у Вас все хорошо.
А в чем была проблема и как ее решили - это ненужные мелочи, их не стоит указывать.

Ведь, если у кого-нибудь еще возникнет подобная проблема, он, того и гляди, сможет воспользоваться Вашими подсказками - а этого ни в коем случае нельзя допустить!  smile.gif


--------------------
Go to the top of the page
 
+Quote Post
Fynjisx
сообщение Sep 29 2010, 14:21
Сообщение #10


студент
****

Группа: Свой
Сообщений: 571
Регистрация: 3-07-08
Из: Russia
Пользователь №: 38 712



Цитата(des333 @ Sep 14 2010, 21:36) *
Это очень важно, что Вы сообщили сообществу, что у Вас все хорошо.
А в чем была проблема и как ее решили - это ненужные мелочи, их не стоит указывать.

Ведь, если у кого-нибудь еще возникнет подобная проблема, он, того и гляди, сможет воспользоваться Вашими подсказками - а этого ни в коем случае нельзя допустить!  smile.gif

Проблема была в том, что при конфигурации FPGA я ошибочно перенастраивал ногу TDO. Вместо светодиода на неё выводил. Там в схеме была опечатка. Ну и в том же проекте обнаружил ещё одну ошибку: описал внутри модуля inst5 :cp ( если посмотреть на мою первую картинку) буфер с тремя состояними. Что как я впоследствии выяснил, из HandBook на Quartus, делать нельзя! Все тристабильные буферы должны описываться только в файле верхнего уровня, который сцепляется с пинами FPGA.

Сообщение отредактировал Fynjisx - Sep 29 2010, 14:29


--------------------
С Уважением...
Go to the top of the page
 
+Quote Post
Victor®
сообщение Sep 29 2010, 19:01
Сообщение #11


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(Fynjisx @ Sep 29 2010, 17:21) *
...Ну и в том же проекте обнаружил ещё одну ошибку: описал внутри модуля inst5 :cp ( если посмотреть на мою первую картинку) буфер с тремя состояними. Что как я впоследствии выяснил, из HandBook на Quartus, делать нельзя! Все тристабильные буферы должны описываться только в файле верхнего уровня, который сцепляется с пинами FPGA.


Что интересно, сталкивался с аналогичной ситуацией в Xilinx насколько лет назад ;-)
Проект (VHDL) был чужой, я его переделывал (и еще в другой версии ISE). В "старой версии" как-то оно синтезировалось,
в "новом" ISE приводило к тому, что буфер был всегда разрешен. Xilinx в какой-то апноте (синтез гайд, наверное) тоже настаивает на выносе тристейтов на топ.
Вероятно потому, что трехстабильных шин внутри чипов нет. И синтезатору проще понять их непосредственно на топе, где они соединяются с физическими пинами.


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 30 2010, 06:19
Сообщение #12


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Victor® @ Sep 29 2010, 23:01) *
... Xilinx в какой-то апноте (синтез гайд, наверное) тоже настаивает на выносе тристейтов на топ.
Вероятно потому, что трехстабильных шин внутри чипов нет. И синтезатору проще понять их непосредственно на топе, где они соединяются с физическими пинами.


Делаю так всегда!
И симулить без буферов гораздо легче, особенно если они дифф-пары...
И даже делал самодельный софтовый инструмент, который по названию сигналов автоматически добавлял буфера и генерил файл верхнего уровня и файл пинов к нему...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Maverick
сообщение Sep 30 2010, 12:33
Сообщение #13


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Victor® @ Sep 29 2010, 22:01) *
Что интересно, сталкивался с аналогичной ситуацией в Xilinx насколько лет назад ;-)
Проект (VHDL) был чужой, я его переделывал (и еще в другой версии ISE). В "старой версии" как-то оно синтезировалось,
в "новом" ISE приводило к тому, что буфер был всегда разрешен. Xilinx в какой-то апноте (синтез гайд, наверное) тоже настаивает на выносе тристейтов на топ.
Вероятно потому, что трехстабильных шин внутри чипов нет. И синтезатору проще понять их непосредственно на топе, где они соединяются с физическими пинами.

Я тоже использую тристейт буферы только на топе. Соединение внутренних блоков схемы произвожу через мультиплексоры вместо использования тристейт буферов. Насколько мне известно у Xilinx только в семействе Virtex II (или еще в более ранних семействаx) имеются внутренние тристейт буферы (в каждой макроячейке), а уже Virtex 4 (Spartan 3) и выше (более поздних) их уже нет... только в блоках ввода-вывода.

Подробности по Virtex II здесь стр. 28 Раздел "3-State Buffers"


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

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

 


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


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