Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср апр 24, 2024 07:47

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 408 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 28  След.
Автор Сообщение
 Заголовок сообщения: Re: Как сделать форт-процессор 2022
СообщениеДобавлено: Ср фев 09, 2022 17:50 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 405
Откуда: Минск SotnikSTO@mail.ru
Благодарил (а): 48 раз.
Поблагодарили: 3 раз.
diver писал(а):
Ну коли уж пошла такая пьянка....
https://habr.com/ru/post/582650/
Нет там никакой пьянки. :)
С 10 октября 2021 до сего момента Здесь пока нет ни одного комментария, вы можете стать первым!

Вот если б статья была: "Как выгнать самогон из табуретки". :)

_________________
Сотник. SotnikSTO@mail.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-процессор 2022
СообщениеДобавлено: Ср фев 09, 2022 18:06 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1293
Благодарил (а): 4 раз.
Поблагодарили: 18 раз.
Sotnik писал(а):
diver писал(а):
Ну коли уж пошла такая пьянка....
https://habr.com/ru/post/582650/
Нет там никакой пьянки. :)
С 10 октября 2021 до сего момента Здесь пока нет ни одного комментария, вы можете стать первым!

Вот если б статья была: "Как выгнать самогон из табуретки". :)

Табуретка из дерева?
Тогда методом сухой перегонки (дез доступа воздуха) перегоняем табурет в кучу полезных веществ – ацетон, дёготь, метиливый спирт (метанол).
Последний нам и нужен.

Воспользуемся интернетом и получаем этанол)
http://www.bolshoyvopros.ru/questions/2 ... ovogo.html

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-процессор 2022
СообщениеДобавлено: Ср фев 09, 2022 18:07 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 405
Откуда: Минск SotnikSTO@mail.ru
Благодарил (а): 48 раз.
Поблагодарили: 3 раз.
Флейм, конечно, пустословный, такие нагромождения, вместо пары вменяемых ответов.
Хищник: Мой тебе респект! :)

>> Восьмое поколение ядер уже этот стабильный отклик наблюдается. Для чего это конкретно нужно?
ТЗ не понятное...

ТЗ чёткое и понятное: :)

1) Готовое Форт-ядро для FPGA, которые годами там крутятся.
2) Поместить в XC6SLX4, то что подходит больше.
3) Определить ТТХ ФортCPU в этом камне.

Мне не надо владеть материалом, я пользователь, а следуют предложения обучить/создать/рассчитать/внедрить.
Мне нужны, точнее - Форт-общественности, для предметных аргументов и СРЕДНИХ проектов рабочее средство.
А не советы и демагогии КАК РАЗРАБОТАТЬ.

_________________
Сотник. SotnikSTO@mail.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-процессор 2022
СообщениеДобавлено: Ср фев 09, 2022 18:11 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 405
Откуда: Минск SotnikSTO@mail.ru
Благодарил (а): 48 раз.
Поблагодарили: 3 раз.
Цитата:
Вот если б статья была: "Как выгнать самогон из табуретки". :)
Цитата:
Табуретка из дерева?
Тогда методом сухой перегонки (дез доступа воздуха) перегоняем табурет в кучу полезных веществ – ацетон, дёготь, метиливый спирт (метанол).
Последний нам и нужен.

Воспользуемся интернетом и получаем этанол)
http://www.bolshoyvopros.ru/questions/2 ... ovogo.html
Аппарат управляется Фортом на FPGA? :shuffle;

_________________
Сотник. SotnikSTO@mail.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-процессор 2022
СообщениеДобавлено: Ср фев 09, 2022 18:22 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1293
Благодарил (а): 4 раз.
Поблагодарили: 18 раз.
Аппарат управляется псевдомногопоточным исскуственным интеллектом на базе подвида человека разумного – человек-рукожоп.

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-процессор 2022
СообщениеДобавлено: Ср фев 09, 2022 18:57 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Sotnik писал(а):
Флейм, конечно, пустословный, такие нагромождения, вместо пары вменяемых ответов.

Если не нравятся ответы, не надо задавать вопросы.

Sotnik писал(а):
ТЗ чёткое и понятное:

Это не ТЗ.

Sotnik писал(а):
1) Готовое Форт-ядро для FPGA, которые годами там крутятся.
2) Поместить в XC6SLX4, то что подходит больше.
3) Определить ТТХ ФортCPU в этом камне.

Такими ядрами весь интернет полон. И что, они кому-то помогли?

Sotnik писал(а):
Мне нужны, точнее - Форт-общественности, для предметных аргументов и СРЕДНИХ проектов рабочее средство.

А человеку с топором в спине нужна витаминка? Если нет процессора - надо слушать того, у кого он есть.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-процессор 2022
СообщениеДобавлено: Ср фев 09, 2022 19:21 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 466
Откуда: Москва
Благодарил (а): 57 раз.
Поблагодарили: 22 раз.
Hishnik писал(а):
Выглядит интересно, именно как стек. Однако надо проследить, чтобы запись получалась в правильные места. Кроме того, такая форма описания оставляет синтезатору только один вариант - триггеры ячеек. Они быстро съедятся таким образом.
Сейчас вместе с тестовой прошивкой занимает в районе 200-300 шт. по каждой из позиций Slices/Slice Flip Flops/LUTs.
Hishnik писал(а):
Нет, так точно не надо. С точки зрения абстрактных моделей вроде бы никаких проблем, но на кристалле такая поделенная частота будет иметь нестабильную фазу, разную на разных триггерах. Когда-то было неважно, но граница как раз на уровне Spartan-3. Если нужно изменить частоту, это может сделать сам dcm.
Это временная полумера, чтобы не на мегагерцах смотреть осциллографом, а глазом на светодиодах на частоте в несколько Герц. Теоретический предел пока в районе 70МГц, если верить xilinx'у...
На данный момент выглядит примерно так:
Код:
module cpu8 (
   input  wire r,
   input  wire c,
   output wire x,
   output wire y,
   output wire z,
   output wire [7:0] a,
   input  wire [7:0] i,
   output wire [7:0] o,
   output wire w
);
wire [3:0] code [0:255];
reg [7:0] pc = 0;
wire [3:0] cmd = code[pc];
reg [31:0] stack = 0;
wire [7:0] s0 = stack[7:0];
wire [7:0] s1 = stack[15:8];
wire [7:0] s2 = stack[23:16];
wire [7:0] s3 = stack[31:24];
reg [31:0] rstack = 0;
reg [2:0] color;
wire [7:0] xpc =
   (cmd == `CALL) ? s0 :
   (cmd == `RET)  ? rstack[7:0] :
   (cmd == `JZ)   ? s1?pc+1:s0 :
                    pc+1;
wire [31:0] xrstack =
   (cmd == `CALL) ? rstack<<8|(pc+1) :
   (cmd == `RET)  ? rstack>>8 :
                    rstack;
wire [31:0] xstack =
   (cmd == `PUSH)  ? stack<<8 :
   (cmd == `JZ)    ? {s3,s3,s3,s2} :
   (cmd == `CALL)  ? stack>>8 :
   (cmd == `RET)   ? stack :
   (cmd == `LOAD)  ? {s3,s2,s1,i} :
   (cmd == `STORE) ? {s3,s3,s3,s2} :
   (cmd == `SWAP)  ? {s3,s2,s0,s1} :
   (cmd == `PICK)  ? {s3,s2,s1,(s0==2)?s3:s0?s2:s1} :
   (cmd == `NAND)  ? {s3,s3,s2,~s1&~s0} :
   (cmd == `XOR)   ? {s3,s3,s2,s1^s0} :
   (cmd == `MLA)   ? {s3,s3,s3,s2*s0+s1} :
   (cmd == `SHIFT) ? stack : // пока не пригодилось
                     {s3,s2,s1,s0[5:0],cmd[1:0]};
always @ (posedge c) begin
   if (w && !a) color <= s1;
   {stack,rstack} <= {xstack,xrstack};
   pc <= r?0:xpc;
end
assign a = s0;
assign o = s1;
assign w = (cmd == `STORE);
assign x = color[0];
assign y = (cmd != `JZ);
assign z = color[2];
assign code[8'h00] = 4'h... // тут прошивка
...
endmodule
А теперь кто-нибудь объяснит мне, почему в таком варианте запись/чтение в/из Block RAM работает? :D Причем работает и серия из двух подряд ! (больше размер стека не позволяет) и серия из нескольких @. Память тактируется сигналом обратной полярности (в сравнении с модулем cpu8), но я рисую на листочке графики, и вроде как не должно работать, ведь запись, если верить документу pg058-blk-mem-gen.pdf, нагло сворованному с сайта xilinx.com, осуществляет по переднему фронту тактового сигнала при выставленных addr/din и установленном we... :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-процессор 2022
СообщениеДобавлено: Ср фев 09, 2022 19:29 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Total Vacuum писал(а):
Память тактируется сигналом обратной полярности (в сравнении с модулем cpu8), но я рисую на листочке графики, и вроде как не должно работать,

Оно все равно по переднему фронту, просто сигнал еще раз инвертируется (раз так в тексте сказано), и получается как раз фронт.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-процессор 2022
СообщениеДобавлено: Ср фев 09, 2022 19:35 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 466
Откуда: Москва
Благодарил (а): 57 раз.
Поблагодарили: 22 раз.
Hishnik писал(а):
Оно все равно по переднему фронту, просто сигнал еще раз инвертируется (раз так в тексте сказано), и получается как раз фронт.
Имел ввиду, что когда на cpu8 возникает событие posedge, на block ram примерно в это же время возникает negedge... Т.е. фактически запись в block ram идет в тот момент, когда на cpu8 появляется negedge... При этом адрес и данные, которые выставляются на шинах addr и din, должны становиться неправильными почти сразу же после posedge на cpu8... Т.е. we установлен после posedge, данные и адрес уже неправильные, а фронт тактового импульса на block ram вроде как еще не наступил... :)


Последний раз редактировалось Total Vacuum Ср фев 09, 2022 19:50, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-процессор 2022
СообщениеДобавлено: Ср фев 09, 2022 19:43 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Ср дек 06, 2006 09:23
Сообщения: 660
Благодарил (а): 7 раз.
Поблагодарили: 25 раз.
Sotnik писал(а):
diver писал(а):
Ну коли уж пошла такая пьянка....
https://habr.com/ru/post/582650/
Нет там никакой пьянки. :)
С 10 октября 2021 до сего момента Здесь пока нет ни одного комментария, вы можете стать первым!

Вот если б статья была: "Как выгнать самогон из табуретки". :)


я не про "в там" я про "в тут"....
не заходил сто лет - ничего не поменялось


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-процессор 2022
СообщениеДобавлено: Ср фев 09, 2022 19:45 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Total Vacuum писал(а):
Имел ввиду, что когда на cpu8 возникает событие posedge, на block ram примерно в это же время возникает negedge... Т.е. фактически запись в block ram идет в тот момент, когда на cpu8 появляется negedge...

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

Другое дело, что частота тут же упадет в два раза, плюс еще добавится небольшой запас на нестабильность заполнения. Теоретически оно 50/50, а на практике спад может "гулять" относительно положения фронта, так что падение будет больше чем в два раза. В целом игры с фазой не очень рекомендуются.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-процессор 2022
СообщениеДобавлено: Ср фев 09, 2022 20:09 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 405
Откуда: Минск SotnikSTO@mail.ru
Благодарил (а): 48 раз.
Поблагодарили: 3 раз.
Люди добрые!
Помогите для Хищника, сформировать ТЗ, для него понятное, по теме: :)

Готовое Форт-ядро для FPGA XC6SLX4, то что подходит больше.
Определить ТТХ ФортCPU в этом камне.

Можно под КИТ
Spartan-6 LX4 €83/$92 48-pin DIP 46 I/O 8 DSP USB A  4 user LEDs and 2 user buttons 5...15 V
https://www.reichelt.com/at/en/fpga-boa ... 43349.html?

P.S. Или что подешевле кто знает?
По ценам, конечно, больше подходит http://www.gowinsemi.com/en/product/detail/2/

_________________
Сотник. SotnikSTO@mail.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-процессор 2022
СообщениеДобавлено: Ср фев 09, 2022 20:13 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 405
Откуда: Минск SotnikSTO@mail.ru
Благодарил (а): 48 раз.
Поблагодарили: 3 раз.
diver писал(а):
Sotnik писал(а):
diver писал(а):
Ну коли уж пошла такая пьянка....
https://habr.com/ru/post/582650/
Нет там никакой пьянки. :)
С 10 октября 2021 до сего момента Здесь пока нет ни одного комментария, вы можете стать первым!
Вот если б статья была: "Как выгнать самогон из табуретки". :)
я не про "в там" я про "в тут"....
не заходил сто лет - ничего не поменялось
ТАМ: Был продемонстрирован простой маршрут быстрого прототипирования софт-процессора, позволяющий при незначительных затратах времени и вычислительных ресурсов проверить концептуальную идею на работоспособность. Полученные результаты – транслированные HDL-файлы могут служить основой для дальнейшего развития и оптимизации проекта уже с учетом особенностей текущей серии ПЛИС. В частности, для представленного примера финальный VHDL код будет генерировать память на дефицитных для ПЛИС регистрах, а более предпочтительным является задействование ресурсов встроенных блоков памяти.
ТУТ: Нигде и ничего не меняется. :))

_________________
Сотник. SotnikSTO@mail.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-процессор 2022
СообщениеДобавлено: Ср фев 09, 2022 21:57 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Sotnik писал(а):
Готовое Форт-ядро для FPGA XC6SLX4, то что подходит больше.
Определить ТТХ ФортCPU в этом камне.

Это не ТЗ на систему, это ТЗ на компонент. Что там определять? Мне выписать ячейки и частоты из проектов 10-летней давности?

Смотрим что такое "подходит больше". Подходит для чего? Для вычислений, для операций с памятью, для манипуляций битами в I/O? Будет много литералов, переходов, наложения масок, выводов в порт со сдвигом? Обмен по UART интенсивный, надо FIFO ставить? Если надо, то в обе стороны, или в какую-то одну? DSP надо в ядре? Деление? Трансцендентные операции? Под теорему Пифагора на целых числах модуль подключать? Как распределить память между кодом и данными? Для данных надо внешний порт, или можно оба отдать процессору? Модификация программы нужна, или достаточно загрузки по UART? Прерывание? Таймер? Если таймер, то как им управлять - вариантов масса.
Вот это примерные вопросы для доводки реального рабочего ядра.

Идем дальше. Процессор управляет чем-то. Процентов 90 кода и времени уходит на разработку этого чего-то. В такой ситуации начинать с процессора себе дороже, потому что неминуемо наступит момент, когда он перестанет нормально управлять, и при этом будет четко видно, что еще ему нужно добавить. Поэтому сначала проектируются потоки данных и задачи распределяются между ускорителями и ядром. Потом для ядра оцениваются основные приоритеты и выбирается общая архитектура с раскладкой уровня "команда такой ширины, нужны однотактные команды сдвига с маской, стек на BRAM, стек возвратов небольшой". Вот на основе этого можно рисовать базовый проект и запускать систему целиком на уровне типичных сценариев работы.

Sotnik писал(а):
Можно под КИТ
Spartan-6 LX4

Два ядра по 32 бита туда влезает. Опять же - зачем? Чтобы светодиодами помигать?

Sotnik писал(а):
По ценам, конечно, больше подходит http://www.gowinsemi


Tang nano. Тоже работает. Она меньше и 55 нм. Вопрос тот же - зачем это? Процессор в ПЛИС не определяет проект, его определяют аппаратные модули. Процессор как таковой сделает только хуже, потому что такое же можно сделать на ARM, и будет гораздо дешевле. Форт-процессор появляется при сочетании ряда факторов, и эта ниша не такая уж узкая. Но если туда не попадать, то смысла пробивать головой стену ровным счетом никакого.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-процессор 2022
СообщениеДобавлено: Ср фев 09, 2022 22:03 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Ср дек 06, 2006 09:23
Сообщения: 660
Благодарил (а): 7 раз.
Поблагодарили: 25 раз.
ой, начинается....

да погнали! делов-то на бочку пива)

Код:
module forth_cpu_2022
#(
parameter RAZRADNOST = 64,
                 STACK_SIZE = 1024,
                 RSTACK_SIZE = 1024
)
(
input clk,
input [RAZRADNOST-1:0] pc_data,
input [RAZRADNOST-1:0] pc_addr,
input [RAZRADNOST:0] data_data,
input [RAZRADNOST-1:0] data_addr,
output reg data_we
);
....

to be continued


:lol:


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 408 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 28  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB