Jump to content

    

Бесплатная программа, генерирующая плату с разводкой из модели на языке VHDL

Фактически эта схема в виде RTL практически напрямую может быть реализована на микросхемах логики серии SN74.

 

не наезда ради, а для общего просветления. А LUTы как в логике серии sn74? причем в RTL (во всяком случае для ксалинкса) не указано заполнение таблицы, мне кажется это анрил какой-то, да и размер схемы будет с комнату если какой-то нормальный алгоритм представить рассыпухой... ИМХО

Share this post


Link to post
Share on other sites
не наезда ради, а для общего просветления. А LUTы как в логике серии sn74? причем в RTL (во всяком случае для ксалинкса) не указано заполнение таблицы, мне кажется это анрил какой-то, да и размер схемы будет с комнату если какой-то нормальный алгоритм представить рассыпухой... ИМХО

Не ну причем здесь LUT, RTL выдается в виде конкретных вентилей или элементов логики.

Для примера открыл проект, Xilinx ISE, вытащил кусок RTL схемы, прикрепляю 3 рисунка, первый общий вид куска дизайна, второй, увеличенный вариант с 3 типами логики, третий рисунок подписаны элементы логики.

В SN74 есть схемы OR, сумматоры и мультиплексоры. Так что все реализуемо.

Конечно алгоритм шифрования на вентилях трэш еще тот, но таких чудаков полно, если уж комп на транзисторах собирают, почему не собрать алгоритм шифрования на логике :)

Edited by seneka

Share this post


Link to post
Share on other sites

вот у меня в этих макоронках есть еще такие элементы, подписанные как LUT_....

лук ап тайбл, их у меня в моем маленьком спартане 6 аж 5720 штук, и более 5500 использую.

 

Они 4 или даже 6 входовые, ставят в соответствие уровень сигнала на выходе сочетанию сигналов на входе, причем каким входам - какой выход не указано, хотя я может просто не умею смотреть, и их тоже можно как-то раскрыть....

 

 

Share this post


Link to post
Share on other sites
вот у меня в этих макоронках есть еще такие элементы, подписанные как LUT_....

лук ап тайбл, их у меня в моем маленьком спартане 6 аж 5720 штук, и более 5500 использую.

 

Они 4 или даже 6 входовые, ставят в соответствие уровень сигнала на выходе сочетанию сигналов на входе, причем каким входам - какой выход не указано, хотя я может просто не умею смотреть, и их тоже можно как-то раскрыть....

Логически это банальная однобитная память. Содержимое в виде шестнадцатиричного значения соответствующего размера можно посмотреть в атрибуте INITSTATE.

Share this post


Link to post
Share on other sites

в моей школе еще учили, как из таблиц истинности получать 74 логику.

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

Share this post


Link to post
Share on other sites
вот у меня в этих макоронках есть еще такие элементы, подписанные как LUT_....

лук ап тайбл, их у меня в моем маленьком спартане 6 аж 5720 штук, и более 5500 использую.

 

А да, это простейший вариант ПЗУ или ROM памяти. Комбинационный автомат после некоего уровня сложности проще реализовать сразу на основе ПЗУ, где адрес работает как входные сигналы, а данные работают как выходы. В конце концов элемент 2ИНЕ это тоже ПЗУ на 4 адреса с одним выходом, у которой по адресам 0,1,2 записан 1, по адресу 03 записан 0.

 

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

 

Заявление верное, но требует уточнений. Схема работающая внутри ПЛИС не будет работать на россыпи только в двух случаях

1. Если рабочая частота вентилей будет превышать максимальную частоту логики на россыпи, и понятно что на 300 МГц россыпь не будет работать никогда.

2. Если разводка платы сделана так, что задержки или SI,PI проблемы делают невозможным работу дизайна. SI, PI это signal/power integrity, термины относящиеся к разводке печатных плат

цифровой техники.

 

Но тут опять надо оговариваться.

Например вентили SN74 серии LVC работают на 3.3V и имеют максимальную задержку 6.2ns, эта задержка сравнима с задержками Spartan6(-2) 5.74ns.

Но на печатной плате к вентилю надо подвести питание и развести так сигнал чтобы он эти 150MHz не исказил. ПЛИС же является случаем "идеальной платы", где все уже оптимизировано и проблемы встающие в полный рост на печатной плате, уже решены на базе ПЛИС. А ведь еще есть PLL и скоростные трансиверы на борту у ПЛИС, реализация таких модулей на плате это уже задача точно не начального уровня.

 

Поэтому ТС однозначно лучше начать с варианта реализации проекта на основе ПЛИС и готовой демо платы, например LX9 http://www.xilinx.com/products/boards-and-...ES-S6MB-LX9.htm

Edited by seneka

Share this post


Link to post
Share on other sites
Нужно заняться разработкой платы,

выполняющей шифрование цифрового сигнала

с использованием алгоритмов не высокой сложности и криптостойкости

с несколькими индикаторами.

 

Но обязательно на языке VHDL (требование руководства).

Задача понятна. Комментировать не буду, хотя хочется.

 

Вот я и ищу бесплатные программы:

1) одну, которая разведёт плату на транзисторах и т.д. из VHDL-модели,

например, чтобы потом теоретически можно было её изготовить

через сторонний сервис, такой как ExpressPCB.com

(может быть есть и более дешёвые российские сервисы)

2) вторую, которая реализует схему из VHDL-модели в FPGA (ПЛИС),

чтобы реализовать на плате Altera, Xilinx или др.

1. Бесплатность чем обусловлена? Отсутствием денег у руководства? В принципе, вполне объяснимо, судя по постановке задачи. Ибо денег у таких руководителей быть не должно.

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

Share this post


Link to post
Share on other sites
2. Зачем иметь одну общую модель? Почему нельзя разделить схемотехнику для платы и алгоритм, как это делают все нормальные люди? С какой целью все соединять в одну модель?

я думаю это какой-то startup не очень разобравшихся в проблеме людей...

 

в моей школе еще учили, как из таблиц истинности получать 74 логику.

вот я и говорю, что напрямую RTL в логику не преобразуешь, как минимум все LUT придется раскрывать, да скорее всего руками. Ну или искать какой-то аналог LUT, которого в 74 логике быть не должно. Это я просто убедиться что я все правильно понимаю...

Share this post


Link to post
Share on other sites

Долго цитировать.

Спрошу проще.

 

1) По вашему мнению логика на элементах И-НЕ устарела

и не используется при проектировании устройств?

 

2) Язык VHDL, как я понимаю, разрабатывался как язык описания аппаратуры,

а не как язык "программирования" FPGA.

Неужели VHDL не нашёл применения на практике вне FPGA?

 

3) Существуют ли сервисы, изготовляющие интегральные схемы (СБИС) на заказ,

аналогично как существует сервис для заказа плат, такой как ExpressPCB.com?

Или этот процесс не сопоставимо дороже изготовления плат?

 

4)

да и размер схемы будет с комнату если какой-то нормальный алгоритм представить рассыпухой... ИМХО

Есть же специальные микросхемы, которые позволяют сократить площадь,

занимаемую элементами

k155le1_200x200.JPG155ln1.gif

Есть микросхемы и для более сложных логических элементов.

 

Очевидный вопрос "А есть ли программы выполняющие генерацию схемы

с использованием таких микросхем" задавать не буду,

так как ничего кроме "Естественно нет" думаю не услышу.

 

RTL выдается в виде конкретных вентилей или элементов логики.

Для примера открыл проект, Xilinx ISE, вытащил кусок RTL схемы, прикрепляю 3 рисунка, первый общий вид куска дизайна, второй, увеличенный вариант с 3 типами логики, третий рисунок подписаны элементы логики.

В SN74 есть схемы OR, сумматоры и мультиплексоры. Так что все реализуемо.

Это очень близко к тому, о чём я спрашиваю.

Жаль, что ничего не нахожу в интернете, чтобы почитать об этом.

 

"Очень близко" я говорю потому,

что скорее всего Xilinx ISE генерирует такую схему исходя из архитектуры её устройств,

а не из принципов минимизации количества используемых элементов.

 

Конечно алгоритм шифрования на вентилях трэш еще тот, но таких чудаков полно, если уж комп на транзисторах собирают, почему не собрать алгоритм шифрования на логике :)

Думаю, очень много чего собирают с не сложной архитектурой.

 

Заявление верное, но требует уточнений. Схема работающая внутри ПЛИС не будет работать на россыпи только в двух случаях

1. Если рабочая частота вентилей будет превышать максимальную частоту логики на россыпи, и понятно что на 300 МГц россыпь не будет работать никогда.

2. Если разводка платы сделана так, что задержки или SI,PI проблемы делают невозможным работу дизайна. SI, PI это signal/power integrity, термины относящиеся к разводке печатных плат

цифровой техники.

 

Но тут опять надо оговариваться.

Например вентили SN74 серии LVC работают на 3.3V и имеют максимальную задержку 6.2ns, эта задержка сравнима с задержками Spartan6(-2) 5.74ns.

Но на печатной плате к вентилю надо подвести питание и развести так сигнал чтобы он эти 150MHz не исказил. ПЛИС же является случаем "идеальной платы", где все уже оптимизировано и проблемы встающие в полный рост на печатной плате, уже решены на базе ПЛИС. А ведь еще есть PLL и скоростные трансиверы на борту у ПЛИС, реализация таких модулей на плате это уже задача точно не начального уровня.

 

Поэтому ТС однозначно лучше начать с варианта реализации проекта на основе ПЛИС и готовой демо платы, например LX9 http://www.xilinx.com/products/boards-and-...ES-S6MB-LX9.htm

Да... Ваши замечания очень важны.

Очень многое прояснилось.

 

Действительно, большая схема на логических вентилях

если и будет сгенерирована какой-нибудь программой автоматически,

то она скорее всего не будет учитывать задержки сигналов,

то есть её нужно будет ещё дорабатывать,

а без специальных знаний и знаний характеристик использованных элементов

это скорее всего не возможно.

 

То есть команда "собери эл. схему на самых распространённых элементах,

об электрических характеристиках которых я не знаю"

на современном уровне развития электроники пока не совсем реальна.

 

Хотя такая же команда для программируемых устройствах реализована

(программы на языках программирования разрабатываются

без знания технических характеристик компьютера,

на котором запущена программа)

 

1. Бесплатность чем обусловлена? Отсутствием денег у руководства? В принципе, вполне объяснимо, судя по постановке задачи. Ибо денег у таких руководителей быть не должно.

Малотиражностью изделия и желанием не нарушать права авторов лицензионных программ.

 

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

Изначально хотелось не использовать FPGA.

 

Я думаю стоит и вам и вашему руководству и богу вашей специальной замкнутой вселенной почитать какие нибудь журнальчики на тему современной электроники. Это просто пипец какой-то, ваши рассуждения и объяснения похожи на познания древних людей об электричестве и их интерпритации явления "молния"...

Если бы кто-то задал вопрос 20 лет назад,

"Как изготовить микросхему, архитектуру которой можно будет проектировать динамически,

исходя из необходимого алгоритма работы",

то вы ответили бы также?!

 

А вы понимаете что никто не будет вам по VHDL паять схему из транзисторов, особенно визуализированой через RTL?...

Я и хотел сгенерировать эл. схему в программе,

чтобы можно было паять по ней, а не исходной модели VHDL

(заменив транзистор на реальный).

 

Давайте я Вам немного проясню ситуацию.

Значит программы которая из VHDL сделает Вам разводку печатной платы и 3D модель нет в природе. И скорее всего не будет еще очень долго.

Не понимаю почему?

Ведь если взять простую схему, то на основании даже базового учебника по электронике

становится понятно, что существует преобразование схемы из логической в электрическую,

ведь иначе бы не существовали электрические приборы,

а были бы лишь теоретические модели.

 

Вот набросал основные этапы

(прошу не делать замечаний, так как собрал рисунок из Яндекс-картинок).

Не понимаю какой из этих этапов нельзя автоматизировать

и какие могут быть препятствия для этого для простых схем?

di-IVIW2E.png

 

Ваш алгоритм Вы можете действительно реализовать двумя способами.

1. На вентилях.

2. На основе ПЛИС.

 

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

Не подойдёт такой вариант.

 

Требование (идеализированно):

нужно чтобы программа по правильно работающей модели на VHDL

создала электрическую схему, ЭКВИВАЛЕНТНУЮ этой модели

и соответственно работающую ТАКЖЕ правильно как и модель.

А если делать вручную, то можно допустить ошибки в электрической схеме,

которых не было в VHDL-модели,

поэтому лучше поручать это специалисту на заказ,

чтобы он точно сделал правильно.

А это дорого по сравнению с тем, что если бы поручили эту работу

сотруднику компании (не специалисту), который бы сделал то же самое

БЕСПЛАТНО по совместительству.

 

Прошу не нервничать читающих.

Просто объяснил логику мышления.

 

То есть как, например, если нужно сделать, чтобы

какая-то программа выводила уведомления в системном трее в Windows

при изменении заголовка окна самой программы,

то не нужно обращаться ни к разработчику программы, ни к специалисту

по архитектуре операционной системы Windows, ни к программистам-профессионалам,

а можно просто в Visual Studio на Visual C++, Visual Basic или в Delphi,

использовать стандартный компонент TrayIcon и

интерфейс обращения к другим программам через команды вида FindWindow,

реализовать нужную функцию на основании нескольких статей-уроков в интернете.

И не нужно для решения этой задачи учиться 5 лет или тратить деньги за заказ другим.

 

Как реализовать все на вентилях.

Устанавливаете Xilinx ISE или ALtera Quartus, оба имеют бесплатную версию, пишете алгоритм на VHDL, синтезируете и смотрите в просмотрщике схему на VHDL.

Фактически эта схема в виде RTL практически напрямую может быть реализована на микросхемах логики серии SN74.

Всё-таки на практике это возможно или нет (как говорят многие в этой теме)?

 

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

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

Почему программы не могут заменить в реальном дизайне

элементы выпускаемыми микросхемами автоматически?

В чём сложность?

Можно же создать шаблоны наборов микросхем,

которые будут актуальны хотя бы год (до следующей версии программы).

 

Я как умеющий программировать не понимаю этого.

 

Вариант 2, на ПЛИС.

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

Если брать готовую плату, то 3D-модель и не нужна.

Ведь я её не создавал.

Графическое изображение платы нужно чтобы:

- дать это изображение другому специалисту, чтобы он проверил

(понятно, что моделирование точнее, но руководству другое важнее);

- отправив его изготовителю, можно было определить стоимость изделия.

 

Если все таки соберетесь разводить, бесплатный софт это не потянет никак. Тут можно сделать ход конем. Развести плату на ломаном софте, а потом получив нормальный вариант платы, переразвести потом копию в бесплатном софте. Тут вся трудность в расчетах, и трудоемкости разводки. Коммерческий софт позволяет значительно ускорить процесс. Но после того, как все готово, можно сделать копию в бесплатном, тут хватит любого, даже самого убогого софта, который поддерживает многослойные платы. А для ПЛИС потребуется минимум 4 слоя.

Нет, это не честный вариант.

 

Уж лучше тогда в бесплатной trial-версии платной программы всё сделать за 30 дней.

 

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

Именно начитавшись "что-нибудь" в области современных САПР и возник такой вопрос.

10 лет назад задавать его я бы не стал.

 

===

Вообще я надеялся услышать ответ на свой первоначальный вопрос в виде:

если у вас программа до 30 строчек кода в VHDL,

вы не используете сложные математические функции (sin и т.д.)

и разводка платы физически возможна в 2 слоя,

то воспользуйтесь бесплатной программой ...

А если более сложная модель, то вам нужна платная ...,

для использования микросхем и разводки в несколько слоёв.

Share this post


Link to post
Share on other sites

Да много букв, отвечу по памяти на основные вопросы.

Хотя честно говоря я начинаю сомневаться в том, что ТС адекватен, ну почти по грани троллит.

Отвечу последний раз, надеюсь все прояснится.

1. RTL схема генерируемая ISE или Quartus это полноценная схема, которую можно впрямую спаять на микросхемах. Вопрос перевода VHDL в схему решен в обоих пакетах. Есть еще синтезатор Synplify, он вообще схемы рисует просто прелесть. Не хотел о нем говорить, так как он платный, и Вам вполне хватит встроенных средств ISE и Quartus. Но посмотреть Synplify можете.

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

Почти полностью автоматизированный процесс разводки выглядит так.

a) создаем заготовку печатной платы

B) выделяем компоненты на схеме и нажимаем кнопку "разместить".

c) выделяем компоненты на плате и нажимаем кнопку "оптимизировать размещение

d) нажимаем кнопку "авторазводка

 

Все. Но результат за исключением 3 транзисторов полный шлак.

Софта, который сам бы все устанавливал и разводил нет. Почему вопрос не ко мне.

 

3. VHDL действительно создавался для схем и он используется для СИНТЕЗА СХЕМ. Только эти схемы предназначены для размещения на кристалле микросхемы. А не на плате. VHDL, как и Verilog предназначены для конструирования схем на уровне кристалла микросхемы. Но даже там, если Вы не знаете, процесс создания чипа состоит из нескольких этапов.

Первый этап это описание схемы на языке VHDL. Второй этап это СИНТЕЗ СХЕМЫ, на котором проверяется возможность синтеза схемы в принципе. А вот третий этап это РАЗМЕЩЕНИЕ СХЕМЫ на кристалле, это и есть та же самая разводка чипа, только вместо печатной платы это все делается на базе кристалла микросхемы. И делается эта разводка ВРУЧНУЮ. А вместо компонентов используются библиотеки компонентов, которые представляют собой те самые транзисторы на кристалле, которые составляют сейчас основу любой микросхемы. Ну эти самые сотни тысяч транзисторов по 45nm. То есть компоненты, описанные на VHDL это не микросхемы в корпусе, а молекулярные структуры p-n переходов на кристалле кремния.

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

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

ПЛИС используется в основном в качестве "обкатки" цифровых схем, прежде чем их делать уже на базе конкретного кристалла кремния.

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

 

Короче, волшебной программы нет. Ваши картинки это уже не позавчерашний день. Логика в том виде, который Вы показываете уже практически не используется. Для любой схемы, в которой больше 10 вентилей, ставят CPLD и забывают о проблеме. Или микропроцессор, тем более стоят они 1 доллар, а места занимают 2 на 2 мм.

Ваши мучения, точнее мотивы мне лично вообще непонятны. Но это форум, каждый имеет право страдать как ему нравится :)

Edited by seneka

Share this post


Link to post
Share on other sites
Если бы кто-то задал вопрос 20 лет назад,

"Как изготовить микросхему, архитектуру которой можно будет проектировать динамически,

исходя из необходимого алгоритма работы",

то вы ответили бы также?!

 

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

 

Ваш вопрос на уровне как сейчас предложить для армии кремневые ружья, потому что они типа лучше лука. Да они лучше, но в армии уже автоматические оружие!

 

На пальцах:

берем микросхему XC6SLX9, у нее внутри

16 математических модулей на которых можно сделать умножитель или сумматор 1 тактовый

9,101 логических ячеек в каждой из которых LUT и 6 триггеров

это тысячи транзисторов, и все это размещено внутри микросхемы размером пару квадратных см.

Все это доступно вам, и соединять это можно как хочешь, плюс там модули генерации частоты и куча всяческих бонусов,

 

альтернативой этому служат несколько чемоданов старой логики

 

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

 

посмотрите на свой сотовый (у вас кстати есть сотовый или вы пользуетесь дымовым телеграфом?) хотели бы вы из за того что его разработчики боятся развести схему иметь его раз в 10 больше по размеру и раз в 12 тяжелее?

 

фирма резонит в москве умеет разводить платы по схеме, оказывает платные услуги, и не одна одна. Только им VHDL нафиг не сдался, они по обычной нормальной схеме работают...

Share this post


Link to post
Share on other sites

useronforum

Необязательно FPGA. Возьмите CPLD+ОЗУ+ПЗУ.

И будет Вам конечный автомат, который реализует алгоритм шифрования.

И поставить цель сделать малопотребляющее устройство.

Кстати, не такая уж и плохая идея.

И корпуса можно подобрать выводные.

На VHDL много чего можно сделать.

В том числе можно проводить синтез в базисе K155.

Только доступных средств особо и нет.

А всё потому, что это никому реально не нужно.

За исключением небольшой группы гиков.

Зачем тратить свою жизнь для достижение сомнительных целей, если можно сделать что-то реально нужное.

 

 

Share this post


Link to post
Share on other sites

В общем полгода изучал VHDL в бесплатных программах Altera Quartus II 13.1 и Xilinx Vivado 2013.4.

 

Вот мои замечания о своих же вопросах о разработке схем (может кому-то эти ответы помогут потом):

 

Если разрабатывать схему как плату на россыпных элементах, то появляются следующие проблемы:

- при сложной схеме придётся делать много слоёв,

- размер платы будет не маленький,

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

- требуются знания и опыт разработки (надёжное изделие новичок не сделает).

 

Если разрабатывать схему как заказную кремниевую микросхему:

- очень высокая стоимость, так как процесс создания трафаретов, выполнение травления и др. этапы,

очень не просты и требуют использования дорогого высокотехнологичного оборудования

(да и не рассчитаны на малотиражное производство),

- многослойная схема на полупроводниковых транзисторах на кристалле

совсем не наглядная (можно посмотреть пример в программе Electric).

 

Если разрабатывать схему как готовую программируемую логическую интегральную схему ПЛИС (FPGA):

+ разработка на языке высокого уровня (VHDL и т.д.) проще для программистов,

+ этап трассировки (разводки платы) отсутствует как таковой,

+ возможность отладки и доработки схемы без денежных затрат,

+ высокая производительность, надёжность, совместимость и т.д.

 

Если разрабатывать схему как реализацию в виде обычного ноутбука с необходимым портом

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

и компьютерной программы для обработки сигнала:

+ разработка возможна при работе с крупногабаритным оборудованием, в автономной робототехнике,

при обработке информации от медицинского оборудования, совместимого с компьютерными разъёмами,

- не возможно создать малогабаритное дешёвое решение,

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

+ программа может быть написана на любом языке программирования,

+ возможности обработки сигнала очень широки (как у компьютера).

 

 

Мои выводы о бесплатной программе, генерирующей плату с разводкой из модели на языке VHDL:

 

Из программы на языке VHDL автоматически можно построить логическую схему на простых элементах,

если программа не содержит некоторые специфические инструкции,

например, циклы с изменяемыми индексами и т.д.

(проверял в бесплатной версии программы Altera Quartus II 13.1)

 

А автоматически построить саму плату с транзисторами и разводкой и визуализировать её не получается пока

(так как возможна разная элементная база, разная реализация схемы, сложности автотрассировки и т.д.).

 

Надеемся, какой-нибудь производитель электронных компонентов когда-нибудь разработает программу,

которая сможет генерировать плату хотя бы на его элементной базе.

 

===

Моя тестовая программа и скриншот автоматически построенной логической схемы

в бесплатной версии программы Altera Quartus II 13.1:

 

library IEEE;

use IEEE.std_logic_1164.all;

 

entity Project111 is

port (x4, x1, x3: in bit;

y1, y2: out bit);

end Project111;

 

architecture Project111_Arch of Project111 is

 

component NEX2

port (A, B: in bit;

Y: out bit);

end component;

 

component NO2

port (A, B: in bit;

Y: out bit);

end component;

 

signal s1, s2: bit;

 

begin

NEX2_1 : NEX2 port map (x4, x1, s1);

NO2_1 : NO2 port map (x3, s1, s2);

NO2_2 : NO2 port map (s1, s2, y2);

y1 <= s2;

end Project111_Arch;

 

 

 

entity NEX2 is

port (A, B: in bit;

Y: out bit);

end NEX2;

 

architecture NEX2_Arch of NEX2 is

begin

Y <= (A and B) or (not A and not B);

end NEX2_Arch;

 

 

entity NO2 is

port(A, B: in bit;

Y: out bit);

end NO2;

 

architecture NO2_Arch of NO2 is

begin

process(A, B)

variable Y1111, A1: bit;

begin

Y1111 := A or B;

A1 := '1';

Y <= not Y1111 xor A;

end process;

end NO2_Arch;

 

di-DUJYCY.png

Share this post


Link to post
Share on other sites
Надеемся, какой-нибудь производитель электронных компонентов когда-нибудь разработает программу,

которая сможет генерировать плату хотя бы на его элементной базе.

думаю этого уже никогда не будет. Максимум как развитие ПЛИС, только аналоговых а не логических....

 

 

некоторые специфические инструкции,

например, циклы с изменяемыми индексами и т.д.

вот тут есть большое сомнение в том что вы сделали что хотели, ибо циклы в железе не циклы....

 

 

 

+ разработка на языке высокого уровня (VHDL и т.д.) проще для программистов

Не фига не проще. Потому что кроме некоторой специфики языка им приходиться еще все время терпеть нападки от схемотехников, что типа на VHDL нельзя программировать, надо описывать схему и так далее....

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this