Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить

Qartus выключает примитивы LATCH

Вт окт 31, 2023 18:12:37

захотел слегка переделать 74670 , поменял размер 8х12бит

не стал править фирменную реализацию, а нарисовал заново . именно нарисовал, а не в VHDL/Verilog

ну и при компиляции лезет Warning (14025): LATCH primitive "new670:inst_new670|inst35" is permanently disabled

и еще, почему то пишет Warning (15610): No output dependent on input pin "ххх"
хотя все подключенно

памажите кто чем могет
Вложения
ds.rar
(62.26 KiB) Скачиваний: 13

Re: Qartus выключает примитивы LATCH

Вт окт 31, 2023 19:37:45

Приложите схему картинкой.
Что вы хотите от LATCH? Триггер по уровню, а не по фронту? Какой у вас камень?

Re: Qartus выключает примитивы LATCH

Вт окт 31, 2023 19:58:46

Приложите схему картинкой.
Что вы хотите от LATCH? Триггер по уровню, а не по фронту? Какой у вас камень?


да по уровню
камень макс3256-208 (куча плат есть с ним, там еще флекс 6000, то же надо будет заюзать)

а вот какие ошибки идут
СпойлерWarning (14025): LATCH primitive "new670:inst_new670|inst35" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst18|inst10" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst18|inst11" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst18|inst12" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst18|inst13" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst18|inst14" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst18|inst15" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst18|inst16" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst18|inst17" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst17|inst10" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst17|inst11" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst17|inst12" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst17|inst13" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst17|inst14" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst17|inst15" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst17|inst16" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst17|inst17" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst16|inst10" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst16|inst11" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst16|inst12" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst16|inst13" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst16|inst14" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst16|inst15" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst16|inst16" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst16|inst17" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst15|inst10" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst15|inst11" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst15|inst12" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst15|inst13" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst15|inst14" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst15|inst15" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst15|inst16" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|670out:inst15|inst17" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|inst34" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|inst33" is permanently disabled
Warning (14025): LATCH primitive "new670:inst_new670|inst32" is permanently disabled
Warning (13024): Output pins are stuck at VCC or GND
Warning (13410): Pin "LMEMRD" is stuck at VCC
Warning (13410): Pin "LMEMWR" is stuck at VCC
Warning (13410): Pin "LCS0" is stuck at VCC
Warning (13410): Pin "SA[23]" is stuck at GND
Warning (13410): Pin "SA[22]" is stuck at GND
Warning (13410): Pin "SA[21]" is stuck at GND
Warning (13410): Pin "SA[20]" is stuck at GND
Warning (13410): Pin "SA[19]" is stuck at GND
Warning (13410): Pin "SA[18]" is stuck at GND
Warning (13410): Pin "SA[17]" is stuck at GND
Warning (13410): Pin "SA[16]" is stuck at GND
Warning (13410): Pin "SA[15]" is stuck at GND
Warning (13410): Pin "SA[14]" is stuck at GND
Warning (13410): Pin "SA[13]" is stuck at GND
Warning (13410): Pin "LCS1" is stuck at VCC
Warning (13410): Pin "LCS2" is stuck at VCC
Warning (13410): Pin "LCS3" is stuck at VCC
Warning (13410): Pin "HSYNC" is stuck at GND
Warning (13410): Pin "VSYNC" is stuck at GND
Warning (13410): Pin "ECS[15]" is stuck at GND
Warning (13410): Pin "ECS[14]" is stuck at GND
Warning (13410): Pin "ECS[13]" is stuck at GND
Warning (13410): Pin "ECS[12]" is stuck at GND
Warning (13410): Pin "ECS[11]" is stuck at GND
Warning (13410): Pin "ECS[10]" is stuck at GND
Warning (13410): Pin "ECS[9]" is stuck at GND
Warning (13410): Pin "ECS[8]" is stuck at GND
Warning (13410): Pin "ECS[7]" is stuck at GND
Warning (13410): Pin "ECS[6]" is stuck at GND
Warning (13410): Pin "ECS[5]" is stuck at GND
Warning (13410): Pin "ECS[4]" is stuck at GND
Warning (13410): Pin "ECS[3]" is stuck at GND
Warning (13410): Pin "ECS[2]" is stuck at VCC
Warning (13410): Pin "ECS[1]" is stuck at VCC
Warning (13410): Pin "ECS[0]" is stuck at VCC
Warning (13410): Pin "SET[3]" is stuck at VCC
Warning (13410): Pin "SET[2]" is stuck at VCC
Warning (13410): Pin "SET[1]" is stuck at VCC
Warning (13410): Pin "SET[0]" is stuck at VCC
Warning (13410): Pin "VA[13]" is stuck at GND
Warning (13410): Pin "VA[12]" is stuck at GND
Warning (13410): Pin "VA[11]" is stuck at GND
Warning (13410): Pin "VA[10]" is stuck at GND
Warning (13410): Pin "VA[9]" is stuck at GND
Warning (13410): Pin "VA[8]" is stuck at GND
Warning (13410): Pin "VA[7]" is stuck at GND
Warning (13410): Pin "VA[6]" is stuck at GND
Warning (13410): Pin "VA[5]" is stuck at GND
Warning (13410): Pin "VA[4]" is stuck at GND
Warning (13410): Pin "VA[3]" is stuck at GND
Warning (13410): Pin "VA[2]" is stuck at GND
Warning (13410): Pin "VA[1]" is stuck at GND
Warning (13410): Pin "VA[0]" is stuck at GND
Info (280013): Promoted pin-driven signal(s) to global signal
Info (280014): Promoted clock signal driven by pin "CLK" to global clock signal
Info (17049): 21 registers lost all their fanouts during netlist optimizations.
Warning (21074): Design contains 36 input pin(s) that do not drive logic
Warning (15610): No output dependent on input pin "nRESET"
Warning (15610): No output dependent on input pin "A[15]"
Warning (15610): No output dependent on input pin "A[14]"
Warning (15610): No output dependent on input pin "A[13]"
Warning (15610): No output dependent on input pin "A[12]"
Warning (15610): No output dependent on input pin "A[11]"
Warning (15610): No output dependent on input pin "A[10]"
Warning (15610): No output dependent on input pin "A[9]"
Warning (15610): No output dependent on input pin "A[8]"
Warning (15610): No output dependent on input pin "A[7]"
Warning (15610): No output dependent on input pin "A[6]"
Warning (15610): No output dependent on input pin "A[5]"
Warning (15610): No output dependent on input pin "A[4]"
Warning (15610): No output dependent on input pin "A[3]"
Warning (15610): No output dependent on input pin "A[2]"
Warning (15610): No output dependent on input pin "A[1]"
Warning (15610): No output dependent on input pin "A[0]"
Warning (15610): No output dependent on input pin "D[7]"
Warning (15610): No output dependent on input pin "D[6]"
Warning (15610): No output dependent on input pin "D[5]"
Warning (15610): No output dependent on input pin "D[4]"
Warning (15610): No output dependent on input pin "D[3]"
Warning (15610): No output dependent on input pin "D[2]"
Warning (15610): No output dependent on input pin "D[1]"
Warning (15610): No output dependent on input pin "D[0]"
Warning (15610): No output dependent on input pin "CS128k"
Warning (15610): No output dependent on input pin "CS512k"
Warning (15610): No output dependent on input pin "CS256k"
Warning (15610): No output dependent on input pin "VD[7]"
Warning (15610): No output dependent on input pin "VD[6]"
Warning (15610): No output dependent on input pin "VD[5]"
Warning (15610): No output dependent on input pin "VD[4]"
Warning (15610): No output dependent on input pin "VD[3]"
Warning (15610): No output dependent on input pin "VD[2]"
Warning (15610): No output dependent on input pin "VD[1]"
Warning (15610): No output dependent on input pin "VD[0]"
Вложения
new670.bdf.pdf
(251.62 KiB) Скачиваний: 18
670out.bdf.pdf
(87.22 KiB) Скачиваний: 12
Последний раз редактировалось imsushka Вт окт 31, 2023 20:04:19, всего редактировалось 2 раз(а).

Re: Qartus выключает примитивы LATCH

Вт окт 31, 2023 20:01:37

В сети есть куча сайтов, где обсуждают "LATCH primitive is permanently disabled". Что там пишут?

Re: Qartus выключает примитивы LATCH

Вт окт 31, 2023 20:03:28

В сети есть куча сайтов, где обсуждают "LATCH primitive is permanently disabled". Что там пишут?


чесно говоря не нашел
на русском вааще мало сайтов
а на буржуйском воды много и чаще всего предлагают clk завести

Re: Qartus выключает примитивы LATCH

Вт окт 31, 2023 20:06:11

Оно до этого вообще так работало?
Я в своей практике не встречал и не использовал триггеров по уровню в ПЛИС.

Re: Qartus выключает примитивы LATCH

Вт окт 31, 2023 20:14:38

Оно до этого вообще так работало?
Я в своей практике не встречал и не использовал триггеров по уровню в ПЛИС.



если брать из библиотеки 74670, то там не ругается

оказыцца ругается не на все лачи, а на половину. там 8х4 бит блок сделан и 4 бита общие на 8 адресов.



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

Re: Qartus выключает примитивы LATCH

Вт окт 31, 2023 20:20:23

Тут всю ситему менять надо, прогнила)
КВартус игнорит латчи по уровню, соответственно присоединяет выходы рандомно к питанию или земле.

Re: Qartus выключает примитивы LATCH

Вт окт 31, 2023 20:28:51

Тут всю ситему менять надо, прогнила)
КВартус игнорит латчи по уровню, соответственно присоединяет выходы рандомно к питанию или земле.


а шо ж тогда он свои библиотеки не трогает ?
ставить старый квартус ? или вааще макса второго ?

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

Re: Qartus выключает примитивы LATCH

Вт окт 31, 2023 20:31:43

ставить старый квартус ?

А как ещё сейчас разрабатывать под FLEX10 (он же серия 5576ХС)? Только 9-й квартус.

Re: Qartus выключает примитивы LATCH

Вт окт 31, 2023 20:36:33

ставить старый квартус ?

А как ещё сейчас разрабатывать под FLEX10 (он же серия 5576ХС)? Только 9-й квартус.


у меня флекс 6000 - 9.0 вроде есть поддержка


мда, ну ладно, снесу 13 поставлю 9
нечего к новому привыкать

Re: Qartus выключает примитивы LATCH

Вт окт 31, 2023 20:39:56

мда, ну ладно, снесу 13 поставлю 9

Они вроде параллельно могут нормально работать.

Re: Qartus выключает примитивы LATCH

Вт окт 31, 2023 23:09:31

Квартусом не владею.
А можно оригинал непеределаной схемы посмотреть?
Примитивы, порты ввода-вывода, надо из них проводник вытягивать, шину указывать? И куда идут проводники D4-D7, W8, R0-R2, которые без скобочек? У ксилинксах просто это всё на этапе создания элемента прописывается. А вместо предупреждения будет ерроры выкидывать, если неправильно имена указать.

Re: Qartus выключает примитивы LATCH

Ср ноя 01, 2023 05:51:43

Квартусом не владею.
А можно оригинал непеределаной схемы посмотреть?
Примитивы, порты ввода-вывода, надо из них проводник вытягивать, шину указывать? И куда идут проводники D4-D7, W8, R0-R2, которые без скобочек? У ксилинксах просто это всё на этапе создания элемента прописывается. А вместо предупреждения будет ерроры выкидывать, если неправильно имена указать.



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

когда ксилинкс использовал, схемы не рисовал, а вхдл не ругался
а тут лень стало по кнопкам стучать, решил чисто мышкой поработать и ага...
Вложения
new670.bdf.pdf
(213.81 KiB) Скачиваний: 14

Re: Qartus выключает примитивы LATCH

Ср ноя 01, 2023 08:14:19

захотел слегка переделать 74670 , поменял размер 8х12бит
не стал править фирменную реализацию, а нарисовал заново . именно нарисовал, а не в VHDL/Verilog

А если всё-таки сначала вытащить на схему фирменную реализацию 74670 (внутренности), попробовать скомпилировать. Потом добавить чуток разрядности, скомпилировать, и так до победного?
Потому что там все Латчи охвачены обратной связью. Я не знаю, может они только так и работают?

Re: Qartus выключает примитивы LATCH

Ср ноя 01, 2023 19:39:27

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

Re: Qartus выключает примитивы LATCH

Ср ноя 01, 2023 19:46:30

фсе по клоку

По клокам конечно меньше места займёт, чем на комбинаторной логике с петлёй.
У меня на 13-м Квартусе с Циклоном IV нормально Латч скомпилился.
Ответить