Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 11:28

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 38 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: Forth -> VHDL
СообщениеДобавлено: Вт май 27, 2014 01:36 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
VoidVolker писал(а):
А мне тут подумался вот такой вариант: выдавать вместо одного варианта кода - множественные варианты. Т.е. в местах, где код может быть интерпретирован в различных вариантах программа создает дополнительные варианты результирующего кода. А в конце интерпретации программа сообщает, что в таких-то местах возможны различные варианты и дать пользователю выбрать что-то конкретное - например несколькими ползунками. Можно даже добавить какие-то численные характеристики вариантов типа: тут надо меньше ресурсов, но частота ниже, а тут больше ресурсов и частота больше. Вероятно тут надо строить какое-то дерево вариантов.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth -> VHDL
СообщениеДобавлено: Вт май 27, 2014 19:03 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июн 25, 2009 11:12
Сообщения: 412
Благодарил (а): 41 раз.
Поблагодарили: 8 раз.
Код:
: @ ;

Умилительно.
Насколько усложнится программа, если добавить поддержку ! :?:


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth -> VHDL
СообщениеДобавлено: Вт май 27, 2014 19:07 
dynamic-wind писал(а):
Насколько усложнится программа, если добавить поддержку !

Издеваетесь?!
Хищник писал(а):
Пока что идут сплошные фантазии, не относящиеся к сути проделанного.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth -> VHDL
СообщениеДобавлено: Вт май 27, 2014 21:55 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
dynamic-wind писал(а):
Код:
: @ ;

Умилительно.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth -> VHDL
СообщениеДобавлено: Вт май 27, 2014 22:33 
Хищник писал(а):
А если теперь представить, что получается в схеме при этом?
ЗУ? Мультиплексор? Дешифратор? Зависит от контекста (вкуса).


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth -> VHDL
СообщениеДобавлено: Вт май 27, 2014 22:56 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
gudleifr писал(а):
ЗУ? Мультиплексор? Дешифратор? Зависит от контекста (вкуса).

Ну зачем гадать-то? Код же приведен. В контексте синтеза переменные оставляют идентификатор. Его не надо разыменовывать, его уже достаточно для формирования текста. А вот @ для синтеза лишняя, потому что идентификатор - это не адрес памяти. И надо @ "закрыть", чтобы нашлось слово в SYNTHESIZE, а не в родительском словаре (и не факт, что это будет FORTH). А вообще, мне не очень интересно заниматься ликбезом. Сначала дружно читаем, к примеру, Уэйкерли, а потом пытаемся экстраполировать программистские знания на схемотехнику и HDL.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth -> VHDL
СообщениеДобавлено: Вт май 27, 2014 23:02 
Хищник писал(а):
А вообще, мне не очень интересно заниматься ликбезом.

Мультиплексор (т.е. "S @") на VHLD:
Код:
entity mux is
   port (c, d, e, f:    in std_logic;
         s:       in std_logic_vector(1 downto 0);
         mux_out:       out std_logic);
end mux;

architecture mux_impl of mux is
begin
   muxl: process (s, c, d, e, f)
   begin
       case s is
            when “00” => mux_out <= c;
            when “01” => mux_out <= d;
            when “10” => mux_out <= e;
            when others => mux_out <= f;
       end case;
   end process muxl;
end mux_impl;


Последний раз редактировалось gudleifr Ср май 28, 2014 19:35, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth -> VHDL
СообщениеДобавлено: Вт май 27, 2014 23:04 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
gudleifr писал(а):
Мультиплексор (т.е. "S @") на VHLD:

Можно узнать, где в выражении A @ B @ + требуется мультиплексор? Между каким и каким сигналом происходит выбор?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth -> VHDL
СообщениеДобавлено: Вт май 27, 2014 23:20 
Хищник писал(а):
Можно узнать, где в выражении A @ B @ + требуется мультиплексор?
А там и "@" не требуется... Ведь, если "A" слово. обозначающее сигнал, то в каком бреду привиделась потребность обозначать его "адрес"?
(Тем более, что автор отрывка в начале темы вместо VARIABLE упорно использует QUAN, которое разыменовывать не надо).


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth -> VHDL
СообщениеДобавлено: Вт май 27, 2014 23:40 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
gudleifr писал(а):
А там и "@" не требуется... Ведь, если "A" слово. обозначающее сигнал, то в каком бреду привиделась потребность обозначать его "адрес"?

Так... ликбез, чувствую, все-таки нужен.

Большая проблема в проектировании электроники - ускорение моделирования. RTL сам по себе быстрее моделирования на физическом уровне, но гораздо медленнее, чем аналогичные по сути вычисления производятся на PС. Одно из направлений - системное моделирование. Создается модель на ЯВУ, с помощью которой прорабатывается алгоритм. Дальше алгоритм переносится на RTL-уровень. Вопрос: насколько адекватно? Так вот, вовсе не на 100%, поскольку Си как ЯВУ и Си-подобный язык описания аппаратуры похожи только общим стилем, но не деталями. В итоге задача сводится к созданию ЯВУ, моделируемого на PC, и при этом полностью переносимого в RTL. Поэтому язык для синтеза должен поддерживать основные конструкции, характерные для Форта, поскольку на начальном этапе разработчик будет смотреть на результаты выполнения A @ B @ + на PC, а когда ему понравится результат - выполнит все то же самое в контексте SYNTHESIZE с получением соответствующего VHDL.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth -> VHDL
СообщениеДобавлено: Ср май 28, 2014 00:12 
Хищник писал(а):
Так... ликбез, чувствую, все-таки нужен.
А какое отношение эти отмазки имеют к вышеизложенному?
Ну, хочется Вам ускорить моделирование. Ну, сильно хочется...
Это что, повод считать имитацию перевода из "постфиксной" в "инфиксную" чем-то полезным?
Пропасть между FORTH и VHDL от этого меньше не стала.
Привести логику чего-то к выражениям типа "A @ B @ +" гораздо сложнее, чем к "Net1 + Net2".
Что выиграете на FORTH-вычислении, то вдесятеро проиграете на FORTH-программировании.
Невероятно, что FORTH-программа и VHDL-программа дадут одинаковый результат.

Для этого Ваш переводчик должен быть сложнее VHDL:

Т.е. мы имеем VHDL-систему, которая из выражения E получает результат R.
Ваш переводчик должен обеспечить перевод выражения F в выражение E, которое с большой долей вероятности даст R.
Т.е. переводчик должен быть сложнее VHDL-системы. []


Последний раз редактировалось gudleifr Ср май 28, 2014 00:28, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth -> VHDL
СообщениеДобавлено: Ср май 28, 2014 00:28 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
gudleifr писал(а):
Это что, повод считать имитацию перевода из "постфиксной" в "инфиксную" чем-то полезным?

Да.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth -> VHDL
СообщениеДобавлено: Ср май 28, 2014 18:58 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июн 25, 2009 11:12
Сообщения: 412
Благодарил (а): 41 раз.
Поблагодарили: 8 раз.
Хищник писал(а):
Поэтому язык для синтеза должен поддерживать основные конструкции, характерные для Форта,

Таки неясно, должен ли фортоподобный язык для синтеза поддерживать что-то вроде
Код:
A CELL + DUP @ 3 + 3 NOT AND @ !


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth -> VHDL
СообщениеДобавлено: Ср май 28, 2014 19:32 
dynamic-wind писал(а):
Таки неясно...
Да все ясно, перестаньте... Вполне очевидно, что речь идет о максимальном общем подмножестве изоморфно преобразуемых выражений FORTH и VHDL. Т.е. вы не сможете написать на FORTH ничего, что не имеет очевидного VHDL-эквивалента (например, выше, счетчик - "DUP @ DUP 1+ ROT !"), и не сможете придумать FORTH-записи для чего-то ориентированного на VHDL (см. выше мультиплексор).
Это просто не входит в постановку задачи.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth -> VHDL
СообщениеДобавлено: Ср май 28, 2014 20:16 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
gudleifr писал(а):
Вполне очевидно, что речь идет о максимальном общем подмножестве изоморфно преобразуемых выражений FORTH и VHDL. Т.е. вы не сможете написать на FORTH ничего, что не имеет очевидного VHDL-эквивалента (например, выше, счетчик - "DUP @ DUP 1+ ROT !"), и не сможете придумать FORTH-записи для чего-то ориентированного на VHDL (см. выше мультиплексор).
Это просто не входит в постановку задачи.

Ну, теперь еще усилие, чтобы представить, что другого-то подхода в индустрии нет, а то, что есть, находится в состоянии "недалеко ушли от нуля"...


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

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


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

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


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

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