PLD в Proteus

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

PLD в Proteus

Post by Lavr »

0iStalker wrote:Не нашёл способов симулировать Verilog в Proteus'е, ...
А я, кстати, нашел! Но никак руки не доходят это попробовать... :-?
Только, подозреваю я, что и CPLD вряд ли ускорит проекты до реального времени...
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: ZX Spectrum в proteus

Post by Lavr »

Lavr wrote:
0iStalker wrote:Не нашёл способов симулировать Verilog в Proteus'е, ...
А я, кстати, нашел! Но никак руки не доходят это попробовать... :-?
Так чисто, если кому вдруг интересно - здесь проекты CPLD.
Я где-то читал статью, что результат проекта Verilog просто загружают как *.hex в ПЗУ.
Proteus and PLD simulation
https://www.edaboard.com/showthread.php ... simulation

- How can I simulate PLD from Cypress with Proteus?
- Create file.jed with PLD compiler and load to PLD model
like you do for CPU (file.hex)
CPLD в проектах, кстати, маленькие. Но надо воскурить Help по Proteus.
Вроде там было сказано, что при необходимости можно засимулировать CPLD любого размера.
cpld.gif
_CPLD.zip
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: ZX Spectrum в proteus

Post by Lavr »

Lavr wrote:... если кому вдруг интересно - здесь проекты CPLD в Proteus.
...
CPLD в проектах, кстати, маленькие. Но надо воскурить Help по Proteus.
Вроде там было сказано, что при необходимости можно засимулировать CPLD любого размера.
В общем, в Proteus CPLD делают из специального примитива - МАТРИЦА 16х64.
Ниже - на основе этой матрицы выполнена PLD PAL16L8.
М16Х64.PNG
Собственно, матрица эта представляет собой вот такую часть ПЛМ - матрицу "И".
Logic_Array_ANDgif.gif
Но в Proteus не всё так просто, как на картинке, у этого примитива МАТРИЦЫ есть ряд настроек,
которые позволяют ей удачно вписываться в основу многих моделей ПЛИС.

Вот по поводу этих настроек и имеет смысл воскурить Help по Proteus, что я сейчас и делаю...
Если кто-либо жаждет воскурить Help по PLD в Proteus сам, раздел называется: The Matrix Model - MATRIX_#1_#2

Ну а что касается файлов JEDEC, которые многих здесь пугали и пугают, то в случае PLD в Proteus
эти файлы просто минимально достаточны. Вот рабочий пример:

 SCRIPT PAL_JEDEC_FILE

Code: Select all

*SCRIPT PAL_JEDEC_FILE COUNT8
{
L0044 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 *
L0088 1111 0111 1111 1111 1111 1111 1111 1111 1111 1111 1101 *
L0132 1101 1111 1111 1111 1111 1111 1111 1111 1111 1111 1110 *
L0440 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 *
L0484 1111 1111 0111 1111 1111 1111 1111 1111 1111 1111 1101 *
L0528 1110 1101 1111 1111 1111 1111 1111 1111 1111 1111 1110 *
L0572 1101 1110 1111 1111 1111 1111 1111 1111 1111 1111 1110 *
L0924 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 *
L0968 1111 1111 1111 0111 1111 1111 1111 1111 1111 1111 1101 *
L1012 1110 1110 1101 1111 1111 1111 1111 1111 1111 1111 1110 *
L1056 1111 1101 1110 1111 1111 1111 1111 1111 1111 1111 1110 *
L1100 1101 1111 1110 1111 1111 1111 1111 1111 1111 1111 1110 *
L1496 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 *
L1540 1111 1111 1111 1111 0111 1111 1111 1111 1111 1111 1101 *
L1584 1110 1110 1110 1101 1111 1111 1111 1111 1111 1111 1110 *
L1628 1111 1111 1101 1110 1111 1111 1111 1111 1111 1111 1110 *
L1672 1111 1101 1111 1110 1111 1111 1111 1111 1111 1111 1110 *
L1716 1101 1111 1111 1110 1111 1111 1111 1111 1111 1111 1110 *
L2156 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 *
L2200 1111 1111 1111 1111 1111 0111 1111 1111 1111 1111 1101 *
L2244 1110 1110 1110 1110 1101 1111 1111 1111 1111 1111 1110 *
L2288 1111 1111 1111 1101 1110 1111 1111 1111 1111 1111 1110 *
L2332 1111 1111 1101 1111 1110 1111 1111 1111 1111 1111 1110 *
L2376 1111 1101 1111 1111 1110 1111 1111 1111 1111 1111 1110 *
L2420 1101 1111 1111 1111 1110 1111 1111 1111 1111 1111 1110 *
L2904 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 *
L2948 1111 1111 1111 1111 1111 1111 0111 1111 1111 1111 1101 *
L2992 1110 1110 1110 1110 1110 1101 1111 1111 1111 1111 1110 *
L3036 1111 1111 1111 1111 1101 1110 1111 1111 1111 1111 1110 *
L3080 1111 1111 1111 1101 1111 1110 1111 1111 1111 1111 1110 *
L3124 1111 1111 1101 1111 1111 1110 1111 1111 1111 1111 1110 *
L3168 1111 1101 1111 1111 1111 1110 1111 1111 1111 1111 1110 *
L3212 1101 1111 1111 1111 1111 1110 1111 1111 1111 1111 1110 *
L3652 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 *
L3696 1111 1111 1111 1111 1111 1111 1111 0111 1111 1111 1101 *
L3740 1110 1110 1110 1110 1110 1110 1101 1111 1111 1111 1110 *
L3784 1111 1111 1111 1111 1111 1101 1110 1111 1111 1111 1110 *
L3828 1111 1111 1111 1111 1101 1111 1110 1111 1111 1111 1110 *
L3872 1111 1111 1111 1101 1111 1111 1110 1111 1111 1111 1110 *
L3916 1111 1111 1101 1111 1111 1111 1110 1111 1111 1111 1110 *
L3960 1111 1101 1111 1111 1111 1111 1110 1111 1111 1111 1110 *
L4004 1101 1111 1111 1111 1111 1111 1110 1111 1111 1111 1110 *
L4312 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 *
L4356 1111 1111 1111 1111 1111 1111 1111 1111 0111 1111 1101 *
L4400 1110 1110 1110 1110 1110 1110 1110 1101 1111 1111 1110 *
L4444 1111 1111 1111 1111 1111 1111 1101 1110 1111 1111 1110 *
L4488 1111 1111 1111 1111 1111 1101 1111 1110 1111 1111 1110 *
L4532 1111 1111 1111 1111 1101 1111 1111 1110 1111 1111 1110 *
L4576 1111 1111 1111 1101 1111 1111 1111 1110 1111 1111 1110 *
L4620 1111 1111 1101 1111 1111 1111 1111 1110 1111 1111 1110 *
L4664 1111 1101 1111 1111 1111 1111 1111 1110 1111 1111 1110 *
L4708 1101 1111 1111 1111 1111 1111 1111 1110 1111 1111 1110 *
L5808 1010 1010 1010 1010 *
}
*ENDSCRIPT

И больше ничего из стандарта JEDEC просто не надо... Нет, стандартный JEDEC-файл поддерживается!
Просто всё остальное, кроме таблицы фьюзов, Proteus игнорирует... :wink:
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: ZX Spectrum в proteus

Post by Lavr »

Lavr wrote:В общем, в Proteus CPLD делают из специального примитива - МАТРИЦА 16х64.
Ниже - пример, как работать с этой матрицей.
MATRIX.PNG
Файл JEDEC я написал руками в текстовом редакторе с помощь copy-paste, по принципу, как Shaos вот тут
уже весьма давно предлагал: Создание прошивки для GAL22V10 вручную...

Пример в проекте весьма характерный, чтобы было понятно, как это работает.
У матрицы 8 независимых групп по 8 линий выходов (64), я написал код прошивки только для первых
четырёх групп выходов. Дальше - по аналогии.

Здесь - проект Proteus:
M_Test.zip
А здесь - переведённый на русский хелп Proteus по работе с этой матрицей.
PLD_Proteus.zip
В переводе есть один сомнительный момент в терминологии - о нём я ниже напишу.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: PLD в Proteus

Post by Lavr »

В общем-то в файле хелп по матрицам от Proteus никаких особых откровений нет для тех, кто с ПЛМ работал
или хотя бы читал об их устройстве. Важным там являются всякие свойства матрицы в терминах Proteus.

Но один момент там несколько неудобен был для перевода. Есть в хелп такой рисунок:
терм-0.png
На нем обозначен термин: Product Lines. В любом переводчике это звучит весьма глупо... :-?

Но для тех, кто с ПЛМ работал, очевидно, что это линии матрицы, на которых накапливается логическое
произведение сигналов входов и их инверсий (Product - умножать).

На мой взгляд, этому термину - Product Lines - соответствует понятие "терм" в отечественной литературе:
терм-1.png
Поэтому термин Product Lines я переводил как "линии термов", "терм", "термы".
Если есть иные мнения - готов выслушать...

Кто не понял, где там накапливаются логические произведения, ниже - весьма доходчивая иллюстрация:
image406.png
P1 ... P5 - это и есть здесь термы, как мне представляется - соответствуют Product Lines.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: PLD в Proteus

Post by Lavr »

Lavr wrote:... термин: Product Lines. В любом переводчике это звучит весьма глупо... :-?
На мой взгляд, этому термину - Product Lines - соответствует понятие "терм" в отечественной литературе...
Я в общем-то сомневался вот по какой причине: ну не помню я слова "терм" из соответствующих курсов ВУЗа... :(
Но хорошо помню такие термины как "минтерм" и "макстерм" ! :wink:

Пока я переводил хелп, уточнять это было некогда, но сегодня решил я уточнить, не ввожу ли я всех в заблуждение... :roll:

Общий смысл понятия "терм" я читать никому не советую: в древнем Риме - это статуя на колонне-постаменте,
а в математике - читайте сами... 8)

Нам ближе вот такое, более конкретное его толкование:
Терм_img6.png
Выходит, что "терм" - это обобщающее название для частных его случаев "минтерма" и "макстерма":
минтерм-1.png
Значит "терм", упоминаемый в хелпе по матрицам - это "минтерм". :kruto:
Терм_img5.png
Так что с термином "терм" я, похоже что не ошибся, и в заблуждение всех не ввожу... :wink:
You do not have the required permissions to view the files attached to this post.
iLavr