Atmel CUPL -- WTF???

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

Moderator: Shaos

User avatar
vital72
Senior
Posts: 184
Joined: 17 Jun 2014 04:29
Location: 93.80.157.217

Atmel CUPL -- WTF???

Post by vital72 »

Пишу прошивку для CPLD ATF1504AS, столкнулся со странностями.

1. Фиттер в отчёте указывает, что логические блоки израсходованы более чем на 100%, при этом, прошивка собирается без ошибок.

Code: Select all

Logic Array Block	Logic Cells	I/O Pins	Foldbacks	TotalPT		FanIN	Cascades
A: LC1	- LC16		17/16(106%)	16/16(100%)	3/16(18%)	57/80(71%)	(28)	1
B: LC17	- LC32		24/16(150%)	16/16(100%)	2/16(12%)	70/80(87%)	(39)	0
C: LC33	- LC48		19/16(118%)	16/16(100%)	0/16(0%)	61/80(76%)	(38)	1
D: LC49	- LC64		16/16(100%)	13/16(81%)	0/16(0%)	40/80(50%)	(33)	0
Обратите внимание на столбец "Logic Cells" -- 118%, 150% !!!. Какого хрена? Это вообще номально?

2. В декларации пинов есть пин (DACK3), который никак не используется в схеме, но при этом от его присутсвия в декларации и от его имени зависит, соберётся прошивка или нет. Если изменить название, например, убрать букву "A" или "C" -- прошивка не соберётся. Что вообще происходит?

Исходник прилагаю в аттаче.
Используется WinCUPL с официального сайта.
Компиляция производилась из командной строки, первая команда:

Code: Select all

cupl -xjm4 compaq-1504plcc-b.pld
Вызов фиттера:

Code: Select all

fit1504 compaq-1504plcc-b.tt2 -CUPL -dev P1504C84 -logic_doubling ON -xor_synthesis ON -JTAG OFF
Так должно быть, или я делаю что то не так?
You do not have the required permissions to view the files attached to this post.
https://radio-86rk.ru
кто я такой, чтобы спорить с самим собой
User avatar
alexcp
Senior
Posts: 152
Joined: 11 Jun 2012 07:30

Re: Atmel CUPL -- WTF???

Post by alexcp »

По содержанию ничего не подскажу, давно не играл в эти игрушки, но насколько помню, WinCUPL очень глючный, поэтому 150% заполнение logIc cells особого удивления не вызывает.
User avatar
vital72
Senior
Posts: 184
Joined: 17 Jun 2014 04:29
Location: 93.80.157.217

Re: Atmel CUPL -- WTF???

Post by vital72 »

да, сложилось ощущение, что софт писали студенты-троечники.
как пример: компилятор не допускает вложенные макросы.
у меня есть макрос mux -- это мультиплексор, когда я хочу объединить два мультиплексора, вызвав один из другого:

Code: Select all

Y = mux (A, mux (B, C, S2), S1);
получаю сообщение об ошибке, приходится создавать промежуточную переменную.
более того, при вызове макроса не допускаются скобки!!! этот код вызывает ошибку компиляции:

Code: Select all

Y = mux (A, (B), S);
есть ещё более странные вещи, типа зависимость от именовывания переменных.
https://radio-86rk.ru
кто я такой, чтобы спорить с самим собой