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

 
 
> Отдельное АЛУ, Простенькое АЛУ, отдельное от ядра для своих нужд
Golikov A.
сообщение May 19 2014, 11:39
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Всем привет!

Понадобилось чтобы для прибора управления (шевелит ножками, крутит моторами, опрашивает датчики) пользователь мог писать свои микропрограмки. Сначала в приборе был свой специализированный автомат который разбирал входной поток команд и превращал его в управляющие воздействия. Поток шел через FIFO, но сейчас захотели чтобы можно было делать циклы, и я так понимаю на этом не остановимся.

Потому вместо наращивания набора команд спец автомата думаю сразу забабахать полноценное АЛУ, выделить пользователю регистров и памяти, и путь пишет программы в машинных кодах. В целом этот велосипед уже изобрел, но хочется поглядеть-послушать на то как еще это делают. Интересует даже не столько сама реализация, а больше сколько надо команд, как сделано сравнение, как сделаны команды перехода, маскирование. Сколько надо регистров для того чтобы было комфортно и не много и так далее...

В общем я тут больше посоветоваться и послушать что умные люди скажут. Готовые ядра ставить не предлагать, это принципиально должен быть отдельный блок, который я защищу от пользовательского произвола как смогу. А любые мысли по поводу того как бы вы это сделали приветствуются!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение May 21 2014, 02:58
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Забавный процессор, и всего 700 лутиков.
С temp приятное решение, а среда следит что регистры не кончились?


Конечная цель - сделать приборsm.gif Тут я не могу прям все рассказать, а то конкуренты пронюхают, попробую понятно, но не подробно. Расскажу на примере не связанном с нашей областью, но смысл будет понятен, я надеюсь.

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

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

Потом появилась система с 4 такими модулями, но 4 не такой-же а рулящий например сыпучими веществами, все тоже самое, но другие параметры, другие режимы работы и задания потока.

а в перспективе с 5, а может 6. Или вернемся обратно к 2. А то и сделаем отдельно на 1.

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

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

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

Вот такая общая цель.
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение May 21 2014, 03:43
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(Golikov A. @ May 21 2014, 11:08) *
Вот такая общая цель.

Не знаю как с ПИД, но для остального возможно подойдет интерпретатор, на вход которого подается череда указаний, с последующей пошаговой отработкой каждого из них опять же на FSM.
Ну а в принципе, Вы в предыдущем посте описали свой процессор, в целом все понятно, но как всегда, бес кроется в деталях...
Я бы взял NiosII...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Golikov A.   Отдельное АЛУ   May 19 2014, 11:39
- - Alex77   Цитата(Golikov A. @ May 19 2014, 19:49) В...   May 19 2014, 14:13
|- - Lmx2315   ..в приложении самоделка ни на что не претендующая...   May 19 2014, 15:06
|- - Pavia   Для Lmx2315: Цитата(Lmx2315 @ May 19 2014, 23...   May 19 2014, 22:19
|- - Serhiy_UA   Тема интересная, но в конечном итоге все может увя...   May 20 2014, 01:14
- - alman   Цитата(Golikov A. @ May 19 2014, 19:49) В...   May 19 2014, 16:42
|- - RobFPGA   Приветствую! Цитата(alman @ May 19 2014,...   May 19 2014, 17:22
|- - alman   Цитата(RobFPGA @ May 20 2014, 01:32) А см...   May 19 2014, 18:54
|- - iosifk   Цитата(alman @ May 20 2014, 03:04) Если к...   May 20 2014, 00:58
|- - alman   Цитата(iosifk @ May 20 2014, 09:08) Проце...   May 20 2014, 04:29
|- - RobFPGA   Приветствую! Цитата(iosifk @ May 20 2014...   May 20 2014, 05:16
- - Golikov A.   Спасибо ответившим. Спасибо за пример, обязательно...   May 20 2014, 01:06
- - Golikov A.   Большой ФСМ - однозначно определен, и придется его...   May 20 2014, 01:53
|- - RobFPGA   Приветствую! Цитата(Golikov A. @ May 20 ...   May 20 2014, 03:49
- - Golikov A.   В целом я определился с тем какого вида я хочу пос...   May 20 2014, 07:23
|- - Serhiy_UA   Цитата(Golikov A. @ May 20 2014, 14:33) Е...   May 20 2014, 08:00
- - Golikov A.   Ну что же, будет оно все вот так. Все регистры уп...   May 20 2014, 12:47
|- - Timmy   А я сделал специализированный процессор для неслож...   May 20 2014, 15:08
|- - Serhiy_UA   к Golikov A. Все же, какая целью этой работы. Похо...   May 21 2014, 01:50
||- - Timmy   Цитата(Serhiy_UA @ May 21 2014, 10:00) В ...   May 22 2014, 10:12
||- - Serhiy_UA   к Timmy Спасибо за информацию. Не совсем понял, ас...   May 23 2014, 01:17
||- - Timmy   Цитата(Serhiy_UA @ May 23 2014, 09:27) Не...   May 28 2014, 04:23
|- - Кнкн   Цитата(Timmy @ May 20 2014, 22:18) сам пр...   May 21 2014, 02:16
|- - iosifk   Цитата(Golikov A. @ May 21 2014, 11:08) Т...   May 21 2014, 10:38
- - Golikov A.   ну так интерпретатор и есть процессор%). Череда у...   May 21 2014, 03:51
|- - RobFPGA   Приветствую! Цитата(Golikov A. @ May 21 ...   May 21 2014, 04:35
|- - Alex77   Цитата(Golikov A. @ May 21 2014, 12:01) н...   May 21 2014, 05:40
- - Golikov A.   1 микросекунда на команду, при 100 МГц основном кл...   May 21 2014, 05:30
|- - RobFPGA   Приветствую! Цитата(Golikov A. @ May 21 ...   May 21 2014, 05:36
- - Golikov A.   я может не внимательно читал, но не увидел там ком...   May 21 2014, 07:13
|- - Alex77   Цитата(Golikov A. @ May 21 2014, 15:23) я...   May 21 2014, 07:18
- - Golikov A.   понятно, спасиб... но я уже успел полюбить свой в...   May 21 2014, 07:31
- - Golikov A.   если нету ПИДа, он сам не появиться. А если есть п...   May 21 2014, 13:18


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

 


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


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