Как бы потихонечку освоить работу с FPGA

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

imsushka
Maniac
Posts: 304
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

Re: Как бы потихонечку освоить работу с FPGA

Post by imsushka »

квартус фигню гонит эт точно
то что народ сделал на AHDLе влезает на ура, а то же самое на верилоге/вхдле нет

если рисовать схему то тоже влазит
User avatar
Lavr
Supreme God
Posts: 16793
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

Lavr wrote: 30 Oct 2025 04:20С этой целью вот такой дешифратор 4-в-16 (урезанный аналог 74154):
я слепил схемотехническим дизайном, таблицей и на Verilog HDL.
Тут у меня ещё книжечка была: А.П. Антонов — Язык описания цифровых устройств AlteraHDL. Практический курс.
Её частенько рекомендуют на разных ресурсах, и попадались мне отзывы, что на некоторых проектах AHDL "творит чудеса" ибо более низкоуровневый.

Я повторил 7-сегментный дешифратор из книжечки (ибо актуально), и по образу и подобию сделал всё тот же дешифратор 4-в-16.
MOD_SEG.zip
Результат полностью идентичный 6% от объёма ПЛИС и количество LUT аналогичное. :roll:
Более того, даже выводы САПР расставляет на те же места. 8)

В этой связи давненько у меня созрел вопрос к знатокам этого дела (я, понятно, поскрёб поисковиками, но безуспешно):

Из каких соображений Quartus либо MAX+Plus II автоматически расставляет выводы проекта на ПЛИС ?

А второй вопрос, вытекающий из первого:

Может так случиться, что если я переназначу автоматически расставленные выводы, то ресурсов ПЛИС может не хватить ?
You do not have the required permissions to view the files attached to this post.
iLavr
imsushka
Maniac
Posts: 304
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

Re: Starting with FPGA

Post by imsushka »

Lavr wrote: 30 Oct 2025 06:34
Результат полностью идентичный 6% от объёма ПЛИС и количество LUT аналогичное. :roll:
Более того, даже выводы САПР расставляет на те же места. 8)

В этой связи давненько у меня созрел вопрос к знатокам этого дела (я, понятно, поскрёб поисковиками, но безуспешно):

Из каких соображений Quartus либо MAX+Plus II автоматически расставляет выводы проекта на ПЛИС ?

А второй вопрос, вытекающий из первого:

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

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

есть такой проект picoblaze. хоть он и на верилоге, но использует низко уровневые модули . LUT4, LUT5, LUT6 - и в параметрах задается внутренняя комутация . кароч, проект занимает минимум ресурсов. тоже самое написаное на класическом верилоге чуть ли не в 2 или 3 раза больше занимает
Last edited by imsushka on 30 Oct 2025 07:25, edited 1 time in total.
User avatar
Lavr
Supreme God
Posts: 16793
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Как бы потихонечку освоить работу с FPGA

Post by Lavr »

imsushka wrote: 30 Oct 2025 06:19то что народ сделал на AHDLе влезает на ура, а то же самое на верилоге/вхдле нет
если рисовать схему то тоже влазит
Я именно из этих соображений и занялся представленными в топике опытами.

Вот был у меня успешный проект под Proteus: 6502 Proteus model
ALU там было выполнено на ПЗУ - фактически это таблица.

Вот я и подумал, может быть и в CPLD выполнить ALU таблицей - глядишь, поменьше оно будет...

Только вчера снова протестировал указанный проект : http://www.nedopc.org/forum/viewtopic.php?p=165910#p165910

ALU - 64%, УУС - 46% - всё, уже в CPLD не лезет. :-?

Если выполнить ALU таблицей, САПРы своих фантазий напихать не должны, может оно и поменьше получится...
iLavr
imsushka
Maniac
Posts: 304
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

Re: Как бы потихонечку освоить работу с FPGA

Post by imsushka »

Lavr wrote: 30 Oct 2025 07:23
imsushka wrote: 30 Oct 2025 06:19то что народ сделал на AHDLе влезает на ура, а то же самое на верилоге/вхдле нет
если рисовать схему то тоже влазит
Я именно из этих соображений и занялся представленными в топике опытами.

Вот был у меня успешный проект под Proteus: 6502 Proteus model
ALU там было выполнено на ПЗУ - фактически это таблица.

Вот я и подумал, может быть и в CPLD выполнить ALU таблицей - глядишь, поменьше оно будет...

Только вчера снова протестировал указанный проект : http://www.nedopc.org/forum/viewtopic.php?p=165910#p165910

ALU - 64%, УУС - 46% - всё, уже в CPLD не лезет. :-?

Если выполнить ALU таблицей, САПРы своих фантазий напихать не должны, может оно и поменьше получится...
а шо получается в RTL viewer се ?
скорее всего квартус намутил кучу мультиплексоров для записи в регистры.
квартус хочет 1 клок на всю систему.
User avatar
Lavr
Supreme God
Posts: 16793
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Как бы потихонечку освоить работу с FPGA

Post by Lavr »

imsushka wrote: 30 Oct 2025 07:36а шо получается в RTL viewer се ?
скорее всего квартус намутил кучу мультиплексоров для записи в регистры.
квартус хочет 1 клок на всю систему.
Я же написал, что проект в MAX+Plus II делаю, потому как CPLD - EPM3256ATC144-10N
(ПЛИС семейства MAX 3000A). Ему в обед - 3000 лет... :wink:
iLavr
imsushka
Maniac
Posts: 304
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

Re: Как бы потихонечку освоить работу с FPGA

Post by imsushka »

Lavr wrote: 30 Oct 2025 07:47
imsushka wrote: 30 Oct 2025 07:36а шо получается в RTL viewer се ?
скорее всего квартус намутил кучу мультиплексоров для записи в регистры.
квартус хочет 1 клок на всю систему.
Я же написал, что проект в MAX+Plus II делаю, потому как CPLD - EPM3256ATC144-10N
(ПЛИС семейства MAX 3000A). Ему в обед - 3000 лет... :wink:
и чо??? я тоже для 3256 делаю . только у меня 208 ног
квартус 13 еще поддерживает это.
а вот для флекса 6024 пришлось 9 квартус качать
User avatar
Lavr
Supreme God
Posts: 16793
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Как бы потихонечку освоить работу с FPGA

Post by Lavr »

imsushka wrote: 30 Oct 2025 07:49 и чо??? я тоже для 3256 делаю . только у меня 208 ног
квартус 13 еще поддерживает это.
а вот для флекса 6024 пришлось 9 квартус качать
А прошивать я чем буду? Не шьёт у меня Квартус это семейство.
Я поэтому очень аккуратно тут прицеливался, какие ПЛИС под какой САПР и под какой Blaster.

А в АЛУ Квартус вот что наворачивает:
alu.png
Я уже где-то тут показывал этот результат, но что-то ссылку не нашел..

Я тогда сказал, что я руками нарисовал бы АЛУ лучше. :idea:
You do not have the required permissions to view the files attached to this post.
iLavr
imsushka
Maniac
Posts: 304
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

Re: Как бы потихонечку освоить работу с FPGA

Post by imsushka »

скомпилил проект CPLDшный
алу 107 лутов заняло
абш 66
абл 76
ктл 80

300 лутов примерно
цпу почемуто не хочет все вместе собирать. 25 лутов пишет

как так не шьет ? юсб бластер шьет
imsushka
Maniac
Posts: 304
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

Re: Как бы потихонечку освоить работу с FPGA

Post by imsushka »

и про руки - да, руками будет лучше. но лень
User avatar
Lavr
Supreme God
Posts: 16793
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

imsushka wrote: 30 Oct 2025 07:49 я тоже для 3256 делаю . только у меня 208 ног
Вот этот тактовый сигнал триггера на выходе макроячейки, выделенный красным:
MAC-1.png
Кто (или что) подаёт его на триггер?

Я так понимаю, мультиплексор на выходе позволяет либо обойти этот триггер, либо взять сигнал, привязанный к некоторому такту.
А кто или что управляет этим узлом, делая выходной сигнал макроячейки либо тактируемым, либо нет?
Для какой ситуации такой узел?
You do not have the required permissions to view the files attached to this post.
iLavr
imsushka
Maniac
Posts: 304
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

Re: Starting with FPGA

Post by imsushka »

Lavr wrote: 30 Oct 2025 13:37
imsushka wrote: 30 Oct 2025 07:49 я тоже для 3256 делаю . только у меня 208 ног
Вот этот тактовый сигнал триггера на выходе макроячейки, выделенный красным:

MAC-1.png

Кто (или что) подаёт его на триггер?

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

эхсперты требуют подавать на него общий клок, но можно подать туда с другого лута сигнал.
на верилоге/вхдле надо изголяцца что б это произошло.
User avatar
Shaos
Admin
Posts: 24402
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Как бы потихонечку освоить работу с FPGA

Post by Shaos »

если на клок подавать логику, то будет асинхронщина и гонки - будет то работать, то не работать в зависимости от фазы луны и чётности строк в программе...
imsushka
Maniac
Posts: 304
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

Re: Как бы потихонечку освоить работу с FPGA

Post by imsushka »

Shaos wrote: 30 Oct 2025 22:31 если на клок подавать логику, то будет асинхронщина и гонки - будет то работать, то не работать в зависимости от фазы луны и чётности строк в программе...
ага, а если делать на мелкой логике то работает. да ?
и как же синклер , спец и еще кучу всего делали ?
newold86
Devil
Posts: 735
Joined: 30 Nov 2013 11:08
Location: WWW

Re: Как бы потихонечку освоить работу с FPGA

Post by newold86 »

Lavr wrote: 30 Oct 2025 08:05 А прошивать я чем буду? Не шьёт у меня Квартус это семейство.
А это просто "не умеете его готовить"...
Я десятка полтора проектов сделал на этой серии CPLD, ничем другим, кроме Quartus'а, для разработки и прошивки не пользовался... Кстати, никаких хитрых телодвижений делать не приходилось, все в лоб - просто смотрел на список поддерживаемых серий и использовал нужную версию.