Как бы потихонечку освоить работу с FPGA
Moderator: Shaos
- 
				imsushka
- Maniac
- Posts: 302
- Joined: 01 Jan 2022 04:34
- Location: USSR, Tashkent
Re: Как бы потихонечку освоить работу с FPGA
квартус фигню гонит эт точно
то что народ сделал на AHDLе влезает на ура, а то же самое на верилоге/вхдле нет
если рисовать схему то тоже влазит
			
			
									
						
										
						то что народ сделал на AHDLе влезает на ура, а то же самое на верилоге/вхдле нет
если рисовать схему то тоже влазит
- 
				Lavr  
- Supreme God
- Posts: 16790
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Starting with FPGA
Тут у меня ещё книжечка была: А.П. Антонов — Язык описания цифровых устройств AlteraHDL. Практический курс.Lavr wrote: 30 Oct 2025 04:20С этой целью вот такой дешифратор 4-в-16 (урезанный аналог 74154):
я слепил схемотехническим дизайном, таблицей и на Verilog HDL.
Её частенько рекомендуют на разных ресурсах, и попадались мне отзывы, что на некоторых проектах AHDL "творит чудеса" ибо более низкоуровневый.
Я повторил 7-сегментный дешифратор из книжечки (ибо актуально), и по образу и подобию сделал всё тот же дешифратор 4-в-16. Результат полностью идентичный 6% от объёма ПЛИС и количество LUT аналогичное.
 
  Более того, даже выводы САПР расставляет на те же места.
 
 В этой связи давненько у меня созрел вопрос к знатокам этого дела (я, понятно, поскрёб поисковиками, но безуспешно):
Из каких соображений Quartus либо MAX+Plus II автоматически расставляет выводы проекта на ПЛИС ?
А второй вопрос, вытекающий из первого:
Может так случиться, что если я переназначу автоматически расставленные выводы, то ресурсов ПЛИС может не хватить ?
You do not have the required permissions to view the files attached to this post.
			
						
							iLavr
			
						- 
				imsushka
- Maniac
- Posts: 302
- Joined: 01 Jan 2022 04:34
- Location: USSR, Tashkent
Re: Starting with FPGA
ахдл будет лучше когда регистры появяться. так как на нем можно напрямую использовать асинхронный ресет и проще указывать кто будет клоком для защелкиLavr wrote: 30 Oct 2025 06:34
Результат полностью идентичный 6% от объёма ПЛИС и количество LUT аналогичное.
Более того, даже выводы САПР расставляет на те же места.
В этой связи давненько у меня созрел вопрос к знатокам этого дела (я, понятно, поскрёб поисковиками, но безуспешно):
Из каких соображений 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.
									
			
						
										
						- 
				Lavr  
- Supreme God
- Posts: 16790
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Как бы потихонечку освоить работу с FPGA
Я именно из этих соображений и занялся представленными в топике опытами.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: 302
- Joined: 01 Jan 2022 04:34
- Location: USSR, Tashkent
Re: Как бы потихонечку освоить работу с FPGA
а шо получается в RTL viewer се ?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 таблицей, САПРы своих фантазий напихать не должны, может оно и поменьше получится...
скорее всего квартус намутил кучу мультиплексоров для записи в регистры.
квартус хочет 1 клок на всю систему.
- 
				Lavr  
- Supreme God
- Posts: 16790
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Как бы потихонечку освоить работу с FPGA
Я же написал, что проект в MAX+Plus II делаю, потому как CPLD - EPM3256ATC144-10Nimsushka wrote: 30 Oct 2025 07:36а шо получается в RTL viewer се ?
скорее всего квартус намутил кучу мультиплексоров для записи в регистры.
квартус хочет 1 клок на всю систему.
(ПЛИС семейства MAX 3000A). Ему в обед - 3000 лет...

iLavr
			
						- 
				imsushka
- Maniac
- Posts: 302
- Joined: 01 Jan 2022 04:34
- Location: USSR, Tashkent
Re: Как бы потихонечку освоить работу с FPGA
и чо??? я тоже для 3256 делаю . только у меня 208 ногLavr wrote: 30 Oct 2025 07:47Я же написал, что проект в MAX+Plus II делаю, потому как CPLD - EPM3256ATC144-10Nimsushka wrote: 30 Oct 2025 07:36а шо получается в RTL viewer се ?
скорее всего квартус намутил кучу мультиплексоров для записи в регистры.
квартус хочет 1 клок на всю систему.
(ПЛИС семейства MAX 3000A). Ему в обед - 3000 лет...
квартус 13 еще поддерживает это.
а вот для флекса 6024 пришлось 9 квартус качать
- 
				Lavr  
- Supreme God
- Posts: 16790
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Как бы потихонечку освоить работу с FPGA
А прошивать я чем буду? Не шьёт у меня Квартус это семейство.imsushka wrote: 30 Oct 2025 07:49 и чо??? я тоже для 3256 делаю . только у меня 208 ног
квартус 13 еще поддерживает это.
а вот для флекса 6024 пришлось 9 квартус качать
Я поэтому очень аккуратно тут прицеливался, какие ПЛИС под какой САПР и под какой Blaster.
А в АЛУ Квартус вот что наворачивает:
Я уже где-то тут показывал этот результат, но что-то ссылку не нашел..
Я тогда сказал, что я руками нарисовал бы АЛУ лучше.

You do not have the required permissions to view the files attached to this post.
			
						
							iLavr
			
						- 
				imsushka
- Maniac
- Posts: 302
- Joined: 01 Jan 2022 04:34
- Location: USSR, Tashkent
Re: Как бы потихонечку освоить работу с FPGA
скомпилил  проект CPLDшный 
алу 107 лутов заняло
абш 66
абл 76
ктл 80
300 лутов примерно
цпу почемуто не хочет все вместе собирать. 25 лутов пишет
как так не шьет ? юсб бластер шьет
			
			
									
						
										
						алу 107 лутов заняло
абш 66
абл 76
ктл 80
300 лутов примерно
цпу почемуто не хочет все вместе собирать. 25 лутов пишет
как так не шьет ? юсб бластер шьет
- 
				imsushka
- Maniac
- Posts: 302
- Joined: 01 Jan 2022 04:34
- Location: USSR, Tashkent
Re: Как бы потихонечку освоить работу с FPGA
и про руки - да, руками будет лучше. но лень
			
			
									
						
										
						- 
				Lavr  
- Supreme God
- Posts: 16790
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Starting with FPGA
Вот этот тактовый сигнал триггера на выходе макроячейки, выделенный красным:
Кто (или что) подаёт его на триггер?
Я так понимаю, мультиплексор на выходе позволяет либо обойти этот триггер, либо взять сигнал, привязанный к некоторому такту.
А кто или что управляет этим узлом, делая выходной сигнал макроячейки либо тактируемым, либо нет?
Для какой ситуации такой узел?
You do not have the required permissions to view the files attached to this post.
			
						
							iLavr
			
						- 
				imsushka
- Maniac
- Posts: 302
- Joined: 01 Jan 2022 04:34
- Location: USSR, Tashkent
Re: Starting with FPGA
если у тебя обычная логика - то мимо тригера, а если регистр - то через тригер. все это управляется софтом на этапе компиляцииLavr wrote: 30 Oct 2025 13:37Вот этот тактовый сигнал триггера на выходе макроячейки, выделенный красным:
MAC-1.png
Кто (или что) подаёт его на триггер?
Я так понимаю, мультиплексор на выходе позволяет либо обойти этот триггер, либо взять сигнал, привязанный к некоторому такту.
А кто или что управляет этим узлом, делая выходной сигнал макроячейки либо тактируемым, либо нет?
Для какой ситуации такой узел?
эхсперты требуют подавать на него общий клок, но можно подать туда с другого лута сигнал.
на верилоге/вхдле надо изголяцца что б это произошло.
- 
				Shaos  
- Admin
- Posts: 24399
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Как бы потихонечку освоить работу с FPGA
если на клок подавать логику, то будет асинхронщина и гонки - будет то работать, то не работать в зависимости от фазы луны и чётности строк в программе...
			
			
									
						
										
						- 
				imsushka
- Maniac
- Posts: 302
- Joined: 01 Jan 2022 04:34
- Location: USSR, Tashkent
Re: Как бы потихонечку освоить работу с FPGA
ага, а если делать на мелкой логике то работает. да ?Shaos wrote: 30 Oct 2025 22:31 если на клок подавать логику, то будет асинхронщина и гонки - будет то работать, то не работать в зависимости от фазы луны и чётности строк в программе...
и как же синклер , спец и еще кучу всего делали ?
- 
				newold86
- Devil
- Posts: 735
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: Как бы потихонечку освоить работу с FPGA
А это просто "не умеете его готовить"...
Я десятка полтора проектов сделал на этой серии CPLD, ничем другим, кроме Quartus'а, для разработки и прошивки не пользовался... Кстати, никаких хитрых телодвижений делать не приходилось, все в лоб - просто смотрел на список поддерживаемых серий и использовал нужную версию.
 
				