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

 
 
> cpu core 32 bit на spartan3e
sergey sva
сообщение Dec 23 2013, 08:14
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Сколько примерно занимает места например arm7dtmi или какое нибудь ядро процессора 32бита. Сейчас дизайн занимает половину spartan3e можно еще уместить процессор ?
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 27)
iosifk
сообщение Dec 23 2013, 08:19
Сообщение #2


Гуру
******

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



Цитата(sergey sva @ Dec 23 2013, 12:14) *
Сколько примерно занимает места например arm7dtmi или какое нибудь ядро процессора 32бита. Сейчас дизайн занимает половину spartan3e можно еще уместить процессор ?

Зависит от того, как и какую память будете использовать для процессора... Память команд для процессора где будет?
И нужен ли именно ARM? Может быть что-то урезанное подойдет?
Посмотрите он "открытых проектах" полно исходников...
И по Ниосу и по Микроблэйзу данные тоже выложены...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Dec 23 2013, 08:34
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Процессор нужен 32 бита все переменные 32бита float. А можно под память программ использовать конфигурационную flash она почти на половину пустая. А для озу двухпортовую ?
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 23 2013, 08:49
Сообщение #4


Гуру
******

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



Цитата(sergey sva @ Dec 23 2013, 12:34) *
Процессор нужен 32 бита все переменные 32бита float. А можно под память программ использовать конфигурационную flash она почти на половину пустая. А для озу двухпортовую ?

32 бита, это понятно. Речь идет о системе команд и о наличии регистров процессора. На каком языке будете программировать? Если Си, то тогда только стандартное ядро. Если ассемблер, то можно урезать по требованию...
"конфигурационную flash", если последовательная, то ее надо куда-то перегрузить. Куда? И сколько есть ОЗУ и где оно? На кристалле или внешнее?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Dec 23 2013, 09:01
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Система команд хорошо бы, что бы была совместима с каким нибудь процессором под который gcc умеет компилировать.
Конфигурационная память последовательная. А если исполнять напрямую из нее? на кристалле только двух потовая.
Возникла такая мысль если добавить модуль который будет писать и читать из конфигурационной памяти то прошивку для процессора можно будет через pci загружать в эту память по определенным адресам, правда не знаю как потом будет загружаться плис после перезагрузки
Просьба по ресурсам(хватит половины spartan3e) оцените, у меня пока опыта не достаточно, еще нужно 4 модуля пид регулятора, или их лучше реализовать в процессоре ?
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 23 2013, 09:07
Сообщение #6


Гуру
******

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



Цитата(sergey sva @ Dec 23 2013, 13:01) *
Конфигурационная память последовательная. А если исполнять напрямую из нее? на кристалле только двух потовая.

Тогда посчитайте, сколько будет выполняться каждая команда...
А если скажете "Кэш", то где он будет и как часто он будет перегружаться?
Память на кристалле чем занята?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Dec 23 2013, 09:20
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Там структура сейчас точно не скажу размер, для процессора(если получится запустить процессор) коэффициенты pid и еще настройки всякие примерно 2кб.
Заполняет pci структуру( с компа программа.)
Go to the top of the page
 
+Quote Post
Maverick
сообщение Dec 23 2013, 09:46
Сообщение #8


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

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



Цитата(sergey sva @ Dec 23 2013, 11:20) *

я бы в первую очередь проверил сколько занимает ядро FPU, т.к. у Вас вычисления с числами флоат формата
Если ядро FPU влезет в остальную часть ПЛИС, то потом можно будет подумать либо о самописном управляющем автомате либо где-то позаимствованном wink.gif

Если ядро FPU не влезет в остальную часть ПЛИС, то разговоры про процессор отпадут...


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

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


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Не во всех процессорах есть fpu библиотеки используются. Есть два варианта например использовать процессор подключенный к плис контроллером sram или использовать процессорное ядро в плис Какой вариант предпочли бы?
Go to the top of the page
 
+Quote Post
Maverick
сообщение Dec 23 2013, 11:45
Сообщение #10


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

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



Цитата(sergey sva @ Dec 23 2013, 13:21) *
Не во всех процессорах есть fpu библиотеки используются. Есть два варианта например использовать процессор подключенный к плис контроллером sram или использовать процессорное ядро в плис Какой вариант предпочли бы?

Вы расскажите пожалуйста задачу в полном объеме...
Что имеется и что нужно сделать...


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

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


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



в спартан3 [лучше всего] лезет микроблейз к нему есть FPU, но расход ресурсов будет большой (в 500 спартан думаю не влезет)

может без FPU, а считать флоат поинт софтом? тогда сильно скромнее

http://www.xilinx.com/tools/microblaze.htm
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Dec 23 2013, 15:03
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Цитата
может без FPU, а считать флоат поинт софтом? тогда сильно скромнее

Понятно не хочется что бы все было впритык.
Цитата
Вы расскажите пожалуйста задачу в полном объеме...

Ничего сложного sm.gif делаю контроллер который будет управлять приводами станка. То что получиться уверен на 99%. Просто в этом деле пересекается очень много направлений плис, контроллеры, программы верхнего уровня, электрика. все знать не возможно одному, поэтому что мне непонятно спрашиваю. спасибо за то что направляете на правильный курс )).
Для того что бы сделать такой контроллер, что бы это нормально работало нужен процессор(микроконтроллер) и плис как никрути. Передумал кучу мыслей, если использовать жирную плис и все на ней сделать то это будет дороже чем использовать микроконтроллер и плис попроще. Кое какие наброски есть, код в плис уже отработал, примерно уместиться в spartan 3ы250e. в качестве микроконтроллера думаю stm32f407 или lpc4337 а в качестве плис spartan 6 XC6SLX9. Хорошо бы сделать что в плис конфигурацию загружал контроллер. Если есть рекомендации буду благодарен.
вот приблизительно что нужно сделать.
Прикрепленное изображение

Все остальное нет смысла размещать на этой плате, оно крупное и можно развести на двухсторонней печатке. А этот участок скорее всего на 4 или 6 слойке только разместиться.
Go to the top of the page
 
+Quote Post
yes
сообщение Dec 23 2013, 15:45
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



Цитата(sergey sva @ Dec 23 2013, 19:03) *
Хорошо бы сделать что в плис конфигурацию загружал контроллер. Если есть рекомендации буду благодарен.


а откуда он ее возьмет? хранить ее где-то нужно, технически можно зазиповать и т.п. но все равто пару сотен кБ отдать придется.
если есть в контролере столько лишней памяти - то пожалуйста, у ПЛИС есть режимы slave загрузки

ну и берите 6 спартан, они сейчас и дешевле и удобнее

если вопрос сэкономить деньги, а размер платы не важен - то лучше брать внешний контроллер, а в ПЛИС только то, что в контролере нельзя сделать

--------------

если только ПЛИС, то и MAC туда тоже засунуть надо...

просто если от ПЛИС нужно только ножки, ну то есть XC6SLX4 достаточно, а по цене XC6SLX9 можно поставить, то в разницу можно проц без FPU засунуть, но работа станет сразу сложнее и производительность будет похуже

Go to the top of the page
 
+Quote Post
sergey sva
сообщение Dec 23 2013, 15:57
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Flash конфигурационную на плату поставить не проблема, не хочется jtag разъемы городить, микроконтроллер прошивается flashmadgic через ft232 uart. Usb есть на любом компьютере. Управлять платой по ethernet тоже есть на любом компьютере. остается jtag fpga убрать.
Go to the top of the page
 
+Quote Post
SyncLair
сообщение Dec 23 2013, 16:04
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 209
Регистрация: 6-01-12
Пользователь №: 69 197



lpc4337 итак поддерживает плавающую точку, и вроде два ядра на борту

В проекте марсоход используют старый вариант арма.



--------------------
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Dec 23 2013, 16:13
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Да как раз такая мысль он будет считать траектории и прочее. Второе ядро связь tcp ip разбор команд. плис всю высокоскоростную логику генерация импульсов для 4 координат step dir управление цапами, подсчет скорости интерполяции, расчет положения по датчикам. (Ну и нужен запас, этот процессор и плис с хорошим запасом на будущие корректировки)
Как уйти от jtag, подключить флуш к контроллеру в нее загружать через ethernet, а из нее в плис контроллером в slave так?
Реально то сделать до что набросал на листочке может замечания какие есть?
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Dec 24 2013, 09:54
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Где можно посмотреть код эмулятора (verilog vhdl) sdram на двухпортовой памяти ?
Go to the top of the page
 
+Quote Post
o_khavin
сообщение Dec 24 2013, 12:21
Сообщение #18


Местный
***

Группа: Участник
Сообщений: 230
Регистрация: 29-08-09
Пользователь №: 52 094



Цитата(sergey sva @ Dec 23 2013, 20:13) *
Да как раз такая мысль он будет считать траектории и прочее. Второе ядро связь tcp ip разбор команд. плис всю высокоскоростную логику генерация импульсов для 4 координат step dir управление цапами, подсчет скорости интерполяции, расчет положения по датчикам. (Ну и нужен запас, этот процессор и плис с хорошим запасом на будущие корректировки)
Как уйти от jtag, подключить флуш к контроллеру в нее загружать через ethernet, а из нее в плис контроллером в slave так?
Реально то сделать до что набросал на листочке может замечания какие есть?

Нет никаких препятствий прицепить jtag прямо к контроллеру и лить прошивку через сеть/usb без всякой флешки. В одном проекте я так конфигурирывал цепочку из нескольких десятков FPGA через CY7C68013 (подключение по USB). Правда, пришлось разобраться в специфике процесса прошивки.
А если флешка рядом с FPGA таки нужна для хранения каких-то данных, то ничто не мешает залить в неё нужное после прошивки самой FPGA (через "штатный" интерфейс с контроллером).

Цитата(sergey sva @ Dec 24 2013, 13:54) *
Где можно посмотреть код эмулятора (verilog vhdl) sdram на двухпортовой памяти ?

Э...?
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Dec 24 2013, 12:40
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Цитата
Нет никаких препятствий прицепить jtag прямо к контроллеру и лить прошивку через сеть/usb без всякой флешки. В одном проекте я так конфигурирывал цепочку из нескольких десятков FPGA через CY7C68013 (подключение по USB). Правда, пришлось разобраться в специфике процесса прошивки.
А если флешка рядом с FPGA таки нужна для хранения каких-то данных, то ничто не мешает залить в неё нужное после прошивки самой FPGA (через "штатный" интерфейс с контроллером).


Имеете ввиду прицепить флэшку к микроконтроллеру ,и jtag плис тоже.
Прошивку загружать по сети в флешку, а после из нее ногодрыганием ног микроконтроллера которые подключены к jtag плис загрузить в плис прошивку?

Цитата
Э...?

Может не правильно назвал.
Имею ввиду : к микроконтроллеру вместо sdram подключаю плис. В плис нужно будет эмулировать контроллеру, как будто к нему подключена память sdram, а память брать из двух портовой. Может я не правильно это как то назвал. Посмотрел как работает память sdram сложного не должно быть, может уже есть готовые блоки, поэтому спросил.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 24 2013, 12:46
Сообщение #20


Гуру
******

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



Цитата(sergey sva @ Dec 24 2013, 16:40) *
Имеете ввиду прицепить флэшку к микроконтроллеру ,и jtag плис тоже.
Прошивку загружать по сети в флешку, а после из нее ногодрыганием ног микроконтроллера которые подключены к jtag плис загрузить в плис прошивку?


Да и при этом еще в режиме тестирования получите возможность проверять припайку ПЛИС к плате....
Так же через jtag можно сделать и доступ ко внутренним ресурсам ПЛИС...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
o_khavin
сообщение Dec 24 2013, 13:14
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 230
Регистрация: 29-08-09
Пользователь №: 52 094



Цитата
Имеете ввиду прицепить флэшку к микроконтроллеру ,и jtag плис тоже.
Прошивку загружать по сети в флешку, а после из нее ногодрыганием ног микроконтроллера которые подключены к jtag плис загрузить в плис прошивку?

Я имею ввиду, загрузить FPGA через JTAG непосредственно из МК. А данные для загрузки доставить в МК удобным образом непосредственно в момент загрузки. Флешка в таком варианте не нужна.

Цитата
Имею ввиду : к микроконтроллеру вместо sdram подключаю плис. В плис нужно будет эмулировать контроллеру, как будто к нему подключена память sdram, а память брать из двух портовой. Может я не правильно это как то назвал. Посмотрел как работает память sdram сложного не должно быть, может уже есть готовые блоки, поэтому спросил.

Вы хотите эмулирывать динамическую память в FPGA ради интерфейса с МК? Precharge, refresh, DQS и вот это всё? Может попроще что-то придумать? rolleyes.gif Какой нить GPIO использовать в МК или прикинуться статической памятью (SRAM)?
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Dec 24 2013, 14:29
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Цитата
Вы хотите эмулирывать динамическую память в FPGA ради интерфейса с МК? Precharge, refresh, DQS и вот это всё? Может попроще что-то придумать? rolleyes.gif Какой нить GPIO использовать в МК или прикинуться статической памятью (SRAM)?

Что бы контроллер не подозревал что вместо памяти у него плис. А что в этом не так?
Go to the top of the page
 
+Quote Post
o_khavin
сообщение Dec 24 2013, 14:50
Сообщение #23


Местный
***

Группа: Участник
Сообщений: 230
Регистрация: 29-08-09
Пользователь №: 52 094



Цитата(sergey sva @ Dec 24 2013, 18:29) *
Что бы контроллер не подозревал что вместо памяти у него плис. А что в этом не так?

Вы точно хотите чтобы МК не подозревал, что у него FPGA именно вместо динамической памяти? Вариант не подозревать, например, статическую память Вас не устраивает? Это две большие разницы по сложности эмуляции, как с точки зрения логики работы, так и с точки зрения i/o timing. Меж тем МК умеет и то, и другое, и просто GPIO тоже. По крайней мере серия lpc4300, второй вариант мне было лень гуглить.

Сообщение отредактировал o_khavin - Dec 24 2013, 14:50
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Dec 24 2013, 16:59
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Память удобнее в микроконтроллере можно будет получить доступ к памяти по указателю, а gpio наверно нужно будет функцию писать так ?
Go to the top of the page
 
+Quote Post
o_khavin
сообщение Dec 24 2013, 17:44
Сообщение #25


Местный
***

Группа: Участник
Сообщений: 230
Регистрация: 29-08-09
Пользователь №: 52 094



Цитата(sergey sva @ Dec 24 2013, 20:59) *
Память удобнее в микроконтроллере можно будет получить доступ к памяти по указателю, а gpio наверно нужно будет функцию писать так ?

Думается мне, после геморроя с эмуляцией динамической памяти в FPGA, написание дополнительной функции в МК вам покажется невинным развлечением. Впрочем, дело Ваше.
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Dec 24 2013, 18:03
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



) хочу выбрать правильное решение, сейчас посмотрю какую память поддерживает lpc4337 вроде статическую тоже поддерживает. Вы рекомендуете настроить emc lpc4337 на работу с статической памятью и в плис симулировать эту память?
Go to the top of the page
 
+Quote Post
o_khavin
сообщение Dec 24 2013, 18:17
Сообщение #27


Местный
***

Группа: Участник
Сообщений: 230
Регистрация: 29-08-09
Пользователь №: 52 094



Цитата(sergey sva @ Dec 24 2013, 22:03) *
) хочу выбрать правильное решение, сейчас посмотрю какую память поддерживает lpc4337 вроде статическую тоже поддерживает. Вы рекомендуете настроить emc lpc4337 на работу с статической памятью и в плис симулировать эту память?

Да. Наконец то Вы поняли мой намёк. 08.gif
Я так понял, что Вы никогда не работали на низком уровне с динамической памятью и слабо представляете всю глубину этого удовольствия.
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Dec 24 2013, 18:43
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



да не приходилось ) Только смотрел курс какой то видео, там рассказывали про эту память, то что нужно постоянно перезаписывать все данные.
Go to the top of the page
 
+Quote Post

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

 


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


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