vak: (Default)
[personal profile] vak

Идея состоит в построении процедурного Си-подобного языка, который бы однозначным образом компилировался в Верилог.

Язык Си часто называют высокоуровневым ассемблером. В этом есть определенная сермяжная правда: опытный программист хорошо представляет себе, в какие ассемблерные конструкции превращается Си-шный код. Нечто аналогичное хочется проделать с Верилогом.

Отличие разработки на Верилоге от традиционного программирования состоит в существенно более высоком уровне параллелизма. Система создается как некоторое количество конечных автоматов, фукнционирующих одновременно. Каждый из конечных автоматов имеет несколько десятков, реже - сотен состояний. Количество таких автоматов - тысячи и десятки тысяч.

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

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

КА технология

Date: 2007-06-24 23:26 (UTC)
From: [identity profile] microtrigger.livejournal.com
я сейчас изучаю модель Конечных Автоматов применительно к си программированию, довольно эффективно, и автор продолжает работать над ней, щас скажем прорабатывает возможность логических операций над автоматами. думаю что на стыке довольно интересная задумка, тк программа становиться как бы сетью из небольших автоматов, обьединенных таблицей перехов. буду рад поделиться материалом и привлеч самого автора.

Date: 2007-06-25 16:07 (UTC)
From: [identity profile] microtrigger.livejournal.com
http://www.softcraft.ru/auto.shtml#ka - вот начальный материал.
щас кстати автор симавор в коде готовит, обещал скоро предоставить описание по его модели) я ему на днях ссылку скинул)