Просмотр полной версии : ПЛИС и всё что с ними связано
Страницы :
1
2
3
4
5
6
7
[
8]
NEO SPECTRUMAN
12.06.2020, 12:27
Нет, они просто не хотят возиться с этим старым наследием.
а они с ним возятся?
это очередное склонение к обновлятельству и потребл*тству
hitomi2500
19.06.2020, 11:32
а они с ним возятся?
это очередное склонение к обновлятельству и потребл*тству
Возможно какой-то менеджер увидел в продаваемых в китае максах3000 упущенную прибыль. Но вообще мне кажется им на старые семейства глубоко по барабану, они не этим живут. Просто убрали и убрали, поддержки давно нет, производства нет, продаж нет, кому оно может быть надо?
VladimirS
11.07.2020, 13:32
Добрый день!
Может кого заинтересует
https://www.avito.ru/tula/kollektsionirovanie/mikroshemy_epm3256aqc208-10_1926059218?slocation=621540
Кто-то решил проблему с "Can't start Altera ByteBlaster Service" ?
Смотрел инструкцию здесь, она не помогает.
Смотрел через программу Process Monitor
Он показывает что bblpt.exe пытается что-то сделать с разными файлами в винде и система выдает ответ FILE LOCKED WITH ONLY
READERS
Так же не находит кучу всего в реестре, но там мелочи какие-то языковые проверки возможно.
Возможно надо поставить для bblpt.exe самый высокий приоритет.
Запускал от имени администратора но есть и более высокие права в win7.
здесб:
https://www.intel.com/content/www/us/en/programmable/support/support-resources/download/drivers/dri-index.html?GSA_pos=1&WT.oss_r=1&WT.oss=programming%20cable%20driver#note
написано что :
Windows 7 (64 bit), Windows Vista (64 bit) and Windows XP (64 bit) operating systems do not support ByteBlaster cables.
..........
Пидорги...
Ладно, буду ждать USB blaster с алика...
А так хотелось бесплатно...
На Windows 7 и 10 byteblaster не работает - проверянно на личном опыте. Покупайте USB blaster, тем более последний стоит несколько сот рублей у китайцев.
поставил квартус 13 на win 7 32bit, квартусы начиная с 14ой версии только 64 bit (не понятно для чего тогда они суют туда bblpt.exe если он безполезен )
LPT blaster работает, драйвера ядра установились без колдовства одним запуском bblpt.exe /i
Думаю еще провести эксперимент со встроенной в win 7x64 виртуалкой, поставив windows XP mode
Довести так сказать эксперименты до удовлетворения.
Бесплатно таки не получилось, для ноута пришлось купить док станцию
которая выводит LPT наружу, без нее в ноуте видно только устройство LPT и COM порт:)
(500р + доставка 400р.)
https://sun9-5.userapi.com/c857528/v857528677/221930/4IMs3KbGI5w.jpg
Итог здеся такой: скупой платит дважды Приобретайте ноутбуки с возможностью подключения док-станций!
Друзья! Есть лишняя книга - практический учебник по Verilog Романов, Панчул "Цифровой синтез. Практический курс"
https://dmkpress.com/catalog/electronics/circuit_design/978-5-97060-850-0/
для тех, кто хочет прокачать свои скилы по Verilog.
Кому надо - пишите в личку!
При наличии нескольких желающих выбор оставляю за собой
emax73, что это за реклама? В крайнем случае такие объявления нужно писать на Барахолке.
emax73, что это за реклама?
Отдаю бесплатно в хорошие руки одному из подписчиков данной темы
valerium
29.09.2020, 22:30
На всякий случай, сохранил все нужные версии сюда (https://zx.myftp.org/Software/Quartus/).
Ссылка не работает... Куда-то переехало или утеряно навсегда ?
И еще вопрос: как отличить CPLD, у которых залочен JTAG ? Есть несколько EPM7128SLC84-15N, две совершенно китайского происхождения с али, еще две - неизвестного (куплены в России, но на них есть серийные номера снизу мелким шрифтом). Ни одна из 4-х не шьется USB-бластером в sizif128.
Бластер нормально до этого шил EPM240, EPM3128, оригинальные EPM3032 и даже одну китайскую EPM7064 на 5 вольтах. А с этими - полная тишина, JTAG debugger после кучи попыток может считать с них IDCODE, в котором какой-то мусор. Куда копать ?
SoftLight
29.09.2020, 23:11
Ссылка не работает... Куда-то переехало или утеряно навсегда ?
Ничего не утеряно, просто MS залочил корпоративную учетку где все лежало. Выложил все что есть на Yandex.
https://i.imgur.com/rq79mgc.png
Скачать:
Quartus 2.2,3.0,4.0,4.1,4.2,5.0,6.0,8.0,9.0,9.1,11.0,18.0 + MAX + PLUS II (https://yadi.sk/d/6jjEs0bBJXa_NQ?w=1)
Quartus 13.0 (https://yadi.sk/d/H8xYCWrkDSC3nw?w=1)
Quartus 13.1 (https://yadi.sk/d/lmR4LTLrIN_IQg?w=1)
Бластер нормально до этого шил EPM240, EPM3128, оригинальные EPM3032
лет 5-6 назад, у меня был покупной бластер, построенный на 3064, ft245b и буфере lcx245 -хоть микросхема и 5V tolerant TTL, 7000 серию бластер не видел.
7000 серию бластер не видел.
китайский бластер на STM32 великолепно и макс3000 и макс7000 хавает
Много проектов встречаю в Quartus 9, если возможность открыть такой в версии 13.0? Чип она поддерживает, если что... Ставить старую версию, но она пойдёт ли на 10-ке?
Много проектов встречаю в Quartus 9, если возможность открыть такой в версии 13.0? Чип она поддерживает, если что... Ставить старую версию, но она пойдёт ли на 10-ке?
Открыть должен, он лишь переконвертирует старый проект в версию 13.
Можно попробовать поставить Quartius 9.1 и программатор с дровами от 13 версии.
Хотел Спекки 2010 на свою старую девборду перенести, немного модифицировать, если получится (там ещё и ARM дорогой используется, к сожалению, но всё равно хочу на STM32 проект делать). В итоге поставил и 9.1, но топ не открывается в нём, как и в 13.0, почему-то. Все 208 ног с нуля разводить долго... Ладно переживём)
Распиновки и определения выводов находятся в QSF-файле. Можно просто скопировать текст оттуда.
Только у вас-то наверняка все по-другому разведено.
А что Квартус пишет при открытии, какую ошибку?
Speccy2010 компилится и под 9 и под 13 версией. Тоже мне , нашли проблему. Вот stm-ку с функционалом перенести думаю посложнее, впрочем каждый изобретает вилисапеды по-своемуу.
Вот кто бы подсказал, как из одной корки SDRAM сделать другую, с несколько другим кол-вом колонок и строк.
Можно было бы тогда еще один интересный проект Цпектрума портировать. Когда-нибудь.
Пытаюсь сделать сдвиговый регистр с загрузкой байта через 8 тактов пиксельклока.
vaddr глобальный счетчик видимых пикселей ,
младшие три бита [2:0] счетчик битов для загрузки текущего байта с VRAM для последующего сдвига в видеовыход ,
старшие адреса [18:3] текущий адрес в VRAM .
doubled - пиксельклок
always @(posedge doubled)
begin
if( ~vaddr[0] & ~vaddr[1] & ~vaddr[2]) shift_reg[7:0] <=vdata[7:0]; else shift_reg[7:0] <= shift_reg[7:0] << 1;
if (disp_en)video<=shift_reg[7]; else video<=1'b0;
end
assign video_out = video;
и RTL
https://d.radikal.ru/d26/2010/f0/2d13ca29bc06.jpg (https://radikal.ru)
- - - Добавлено - - -
Переделал так :
always @(posedge doubled)
begin
if (disp_en)video<=shift_reg[7]; else video<=1'b0;
if( ~vaddr[0] & ~vaddr[1] & ~vaddr[2]) shift_reg[7:0] =vdata[7:0];
begin
shift_reg[7:0] <= shift_reg[7:0] << 1;
end
end
assign video_out = video;
https://d.radikal.ru/d18/2010/4a/083d8d19fab2.jpg (https://radikal.ru)
Сдвиг и выхлоп видео работает, но почему-то и загрузка 7ми битная и теряется один бит
- - - Добавлено - - -
Похоже победил, по крайней мере выхлоп видео адекватный.
always @(posedge doubled)
begin
if( vaddr[2:0] ==3'b000) shift_reg[7:0] <=vdata[7:0]; else shift_reg[7:0] <= shift_reg[7:0] << 1'b1;
end
assign video_out = shift_reg[7] & disp_en;
https://a.radikal.ru/a19/2010/a7/2b9397d17874.jpg (https://radikal.ru)
- - - Добавлено - - -
Точно победил :
always @(posedge doubled)
begin
if( vaddr[2:0] ==3'b000) shift_reg[7:0] <=vdata[7:0]; else shift_reg[7:1] <= shift_reg[6:0] ;
end
assign video_out = shift_reg[7] & disp_en;
https://c.radikal.ru/c18/2010/fc/5374c37f0697.jpg (https://radikal.ru)
HardWareMan
09.10.2020, 13:49
Это не загрузка 7ми битная, это у тебя лаг на 1 такт. А маска приходит нормально. А что мешает сделать затемнение как в православных компах?
if (disp_en & ~vaddr[0] & ~vaddr[1] & ~vaddr[2]) shift_reg[7:0] <= vdata[7:0]; else shift_reg[7:0] <= {shift_reg[6:0],1'b0};
assign video_out = shift_reg[7];
Если сожрёт левые 8 точек то надо сместить disp_en на 8 точек влево (т.е. этот сигнал должен покрывать циклы обращения). Плюс данного метода в том, что последние 8 точек выдвинутся и автоматом закончатся, что не будет порождать паразитные вертикальные линии на стыке.
HardWareMan, благодарствую.
Тут такое дело, что все еще на стадии экспериментов , в наличии только платка от zst с EPM3128 http://www.zxkit.ru/katalog-1/zxkit-017.
Даже срам пока подцепить не могу(жду разъемы ) приходится пока полосы на экране смотреть.
Да еще тактируется все от 14МГц с удвоителем внутри CPLD.
Так что пока буду тупить...
Пока остановился на этом...
always @(posedge doubled)
begin
if( disp_en & (vaddr[2:0] ==3'h0)) shift_reg[7:0] <=vdata[7:0]; else shift_reg[7:0] <= {shift_reg[6:0],1'b0};
end
assign video_out = shift_reg[7];
assign vram_addr[14:0] = vaddr[18:4];
HardWareMan
09.10.2020, 18:32
Замени 3'b000 на 3'h0. Ничего не изменится с точки зрения схемы, а вот глазу приятнее.
Такой вопрос - для подключения через JTAG к 4-ому циклону достаточно запитать только Core или надо подавать питание на всё сразу? Хочу проверить чипы, но запаивать на шары все 10 штук чисто ради проверки - тот ещё квест. А так - можно и на проводочках присоединить всё...
HardWareMan, Исправил .
Вопрос- а вот модульный проект несет какие либо дополнительные расходы?
Может для таких мелких CPLD все в одном файле и в одном модуле действенней?
HardWareMan
10.10.2020, 13:48
Несёт только для фиттера. Он по умолчанию старается компоновать каждый модуль кучнее. Иногда вынос чего-нибудь в модуль реально помогает. Но против злого колдунства ручного мэнеджмента фиттера ни один компилятор не устоит. Но такое джитсу следует познавать дольше чем Дао.
omercury
10.10.2020, 20:02
Такой вопрос - для подключения через JTAG к 4-ому циклону достаточно запитать только Core или надо подавать питание на всё сразу?
Как минимум, тот порт, в котором JTAG, тоже питать надо.
А что Квартус пишет при открытии, какую ошибку?
Can't find design entity 'speccy2010_top'
Главный прикол, что я поставил уже Квартус 9.1 и ошибка такая же)
Насчёт QSF-файла спасибо, попробую разобраться...
PavelZX, это первые грабли на пути начинающего плисовода. :)))))))))))
Гугл на эту фразу натрави - Can't find design entity
oistalker
11.10.2020, 11:11
По моему, в разбивке на модули - самая прелесть HDL и есть. Ну т.к. я сварщик не настоящий (всё больше по С++ специализируюсь), то меня это в восторг приводит делать вот так -
module rangeform(
input wire clk,
input wire[8:0] enter,
input wire[8:0] exit,
input wire[8:0] inp,
output wire q,
output wire nq
);
reg r = 0;
always @(posedge clk)
begin
if (inp>=enter-1 && inp<exit-1) begin
r<=1;
end else
begin
r<=0;
end
end
assign q = r;
assign nq = ~r;
endmodule
а потом одним махом реализовать всю функциональность с развёртками видеосигнала
rangeform rangeHBLANK(
.clk(clk7),
.enter(304),
.exit(400),
.inp(cnth[8:0]),
.q(hblank),
.nq()
);
rangeform rangeHSYNC(
.clk(clk7),
.enter(328),
.exit(360),
.inp(cnth[8:0]),
.q(),
.nq(_hsync)
);
rangeform rangeVBLANK(
.clk(resh),
.enter(248),
.exit(256),
.inp(cntv[8:0]),
.q(vblank),
.nq()
);
rangeform rangeVSYNC(
.clk(resh),
.enter(248),
.exit(252),
.inp(cntv[8:0]),
.q(_vsync),
.nq()
);
вместо того, чтобы лепить портянку из if-else
Всем привет!
Один из популярных сайтов по железу ПК, формирует новый пакет тестов для железа, есть возможность включить в него тест на время компиляции в Quartus как максимум, если найдет отклик или как часть статьи.
Если вам это интересно, ждем предложения по версии quartus, модельке fpga и конечно проект, который будет использован как бэнч.
Если вам это интересно, ждем предложения по версии quartus, модельке fpga и конечно проект, который будет использован как бэнч.
Не хотите попробовать реверснутые процессоры 1801 (github.com/1801BM1/cpu11)?
Квартусы 12.1SP1 (хороший вариант для младших микросхем, наиболее быстрый) и 18.0 для более свежих чипов. Время сборки проектов - порядка минуты на 4770.
Один из популярных сайтов по железу ПК, формирует новый пакет тестов для железа
Quartus 13 для младших, хотя и пятую серию то жи собирает. Проект надо не такой быстрый. Ну не на 2 часа конечно, но минут 5 на не самом слабом проце тестовый проект думаю надо. А в многопоточность вроде только регеНные версии могут :)
Ну и так, к слову, райзены чет помедленнее интулов в квартусе. Говорят. Вот надо побольше тестов. Где райзены однозначно хуже, я и так знаю. Но тут тоже интересно.
упд-
ну взять проект от Sorgelig-a. Пусть даже тот же проект ZX.
Чем хорошо - у него есть один и тот же проект и под Q13 и под Q18. И под 5-е поколение, не самое старое.
(если они и игры новые будут включать в новый пакет - я бы одну порекомендовал, но АМД-шники заплюют за однозначные результаты не в их пользу. )
Не хотите попробовать реверснутые процессоры 1801?
Почему нет?
Лично я не вижу особого смысла в старых версиях это всеж бенч и многопоток решает. Можно и 2 версии, 13 или 17-18.
Чем хорошо - у него есть один и тот же проект и под Q13 и под Q18. И под 5-е поколение, не самое старое.
можно ссылку?
если они и игры новые будут включать в новый пакет - я бы одну порекомендовал, но АМД-шники заплюют за однозначные результаты не в их пользу. )
Предложите, почему нет, по последним тестам на 5xxx, intel будет страдать. в
Cinebench R20 результаты мягко говоря удручающие. Вполне возможно, чтo rocket lake будут как минимум не ниже.
можно ссылку?
https://github.com/MiSTer-devel/ZX-Spectrum_MISTer
под Q13 и под Q18. можно в принципе много проектов оттуда взять под тест, но не все под Q13 есть.
Если поменьше проект надо - тест памяти там вроде не такой объемный. Есть проекты, которые по часу компилятся даже на приличном железе.
upd: Тест памяти только под Q18.
Под Q13 например еще
https://github.com/MiSTer-devel/BK0011M_MiSTer
как раз на 1801BM1
по последним тестам на 5xxx, intel будет страдать
Возможно, но пока 5xxx официально не вышли. а на том, что есть - любые АМД, даже топовые , сливают безоговорочно даже пред-предыдущим поколениям Интел. Тесты - не тесты (с). Замнем без офтопика. ну или в личку.
Ладно, все равно немного офф-а.
https://s.micp.ru/5Ihl8.jpg
пару примечаний. Это Игра. Не Старкрафт-2, но тоже процессорнозависимая. Бенч из нее. Не все в синтетику играют лишь.
i5-6400 - это всего лишь 4х ядренник, пятилетней давности.
Если добавят результаты по новым ам-дешкам - могу и обновить таблиЦЦу.
А пока все. Расходимся.
Так что бы темы не плодить , AMD купил Xilinx
Intel продал часть бизнеса по производству памяти
Nvidia собирается курить ARM
Intel продал часть бизнеса по производству памяти
Sk Hynix выкупил все производство флеш памяти , в том числе и 3D-Nand
- - - Добавлено - - -
Nvidia собирается курить ARM
Процесс уже запущен , много производителей подали прошение в Британское правительство , расторгнуть сделку и выкупить государству
Объясните на пальцах, как для ААА, разницу между битовой логикой и булевой
Пример на Verilog:
wire a = 1'b0;
assign b = !(~a);
assign c = a;
равно ли в данном случае b=с ??
Или такой фокус только с однобитными сигналами прокатывает, а с многобитными - нет?
Ну и глобально, когда надо использовать "!" а когда "~" ?? Всемда(иногда?) путаюсь:v2_conf2:
HardWareMan
07.12.2020, 06:45
В верилоге разница между ! и ~ следующая:
! - логическое отрицание
~ - бинарное (побитное) инвертирование
Таким образом, ! не всегда равен ~.
LeoN65816
08.01.2021, 22:53
ZRCC (https://retrobrewcomputers.org/doku.php?id=builderpages:plasmo:zrcc:zrcc1):
The heart of ZRCC is the EPM7064S CPLD. It contains a 64-byte boot ROM, a buffered shift register that serves as simple serial receiver, and decoding logic.
И ведь компИлится, ворнинги есть, а ошибок нет!
Как? Как в CPLD на 64 макроячейки (64 триггера) автор засунул 64 байта данных??? Как??? Я вижу, что верилогом описана память. Но в этом семействе нет аппаратных блоков памяти...
Это какой-то фантастиш...
HardWareMan, можешь это как-то объяснить?
Лично у меня наступил когнитивный диссонанс...
Я могу объяснить. "На пальцах".
Это не RAM, а ROM.
N одинаковых байт займут 0 ячеек - выходы просто подключатся к 0 и 1.
16 разных байт займут 8 4-входовых ячеек. На входы подаём "адрес", на выходе каждой ячейки получаем бит "прочитанного" по этому адресу байта.
64 разных байта это комбинационная схема на 6 входов и 8 выходов. Строим её на логических элементах... и внезапно обнаруживаем, что ячеек этак 20-30 ей достаточно.
- - - Добавлено - - -
Ещё примеры:
256 байт от 00 до FF = 0 ячеек, потому что выходы напрямую соединяются со входами.
256 байт от FF до 00 = 8 ячеек, потому что выходы это инвертированные входы.
256 байт 00, среди них один FF - 3 ячейки.
Serg6845
08.01.2021, 23:59
ZRCC (https://retrobrewcomputers.org/doku.php?id=builderpages:plasmo:zrcc:zrcc1):
И ведь компИлится, ворнинги есть, а ошибок нет!
Как? Как в CPLD на 64 макроячейки (64 триггера) автор засунул 64 байта данных??? Как??? Я вижу, что верилогом описана память. Но в этом семействе нет аппаратных блоков памяти...
Это какой-то фантастиш...
HardWareMan, можешь это как-то объяснить?
Лично у меня наступил когнитивный диссонанс...
да легко на самом деле. для ROM триггеры вобще не нужны, совсем. обычная гвоздями прибитая мелкая логика, которой в 7064 на 64 байта достаточно.
HardWareMan
09.01.2021, 07:10
Ну, я вижу пацаны сами справились, молодцы! Уважаю.
Всем привет. Кто-нибудь встречал реализацию процессора W65C816 на FPGA? На сайте WDC упоминается о такой модели (http://westerndesigncenter.com/wdc/w65c816s-core.cfm):
W65C816 Soft Core (RTL model)
The W65C816 Soft Core is a RTL (Register Transfer Level) description in Verilog HDL (Hardware Description Language)
and is a synthesizable model. This single clock logic architecture is technology independent. WDC's W65C816 Soft Core
is designed to replace the industry standard W65C816 16-bit microprocessor and can be used as a drop-in replacement is ASIC's.
It has been synthesized into the XC4085 FPGA technology from Xilinx. The behavioral model is equivalent to the original
W65C816 hard core. The standard chip model includes the softcore and the buffer ring in RTL code. If a minimum amount of gates
are needed, the hard core of the W65C816C should be used.
FPGA Implementation Results
Implementation Results for the W65C816S in the LatticeXP Device
The following are typical performance and utilization results.
LatticeXP Device LUT-4s Registers Slices External I/Os Speed(fmax, MHz)
LFXP10C4F-5 5538 688 3312 48 16
Но найти такую модель мне до сих пор не удалось. Буду благодарен за неё или за информацию о её местонахождении. Советы "посмотреть там, посмотреть сям, на opencores и т.п., возможно, там есть" просьба оставлять при себе.
AlexBel, https://github.com/MiSTer-devel/SNES_MiSTer/tree/master/rtl/65C816
AlexBel, https://github.com/MiSTer-devel/SNES_MiSTer/tree/master/rtl/65C816
Спасибо! Посмотреть реализации SNES мне в голову не пришло :)
CodeMaster
14.10.2021, 12:53
На всякий случай, сохранил все нужные версии сюда:
Quartus 2.2,3.0,4.0,4.1,4.2,5.0,6.0,8.0,9.0,9.1,11.0,18.0 + MAX + PLUS II
Quartus 13.0
Quartus 13.1
Вопрос такой (на Вики почему-то вообще нет статьи про Quartus II, да и по Quartus Prime только общие слова): какая последняя версия Quartus работает с XP preSP4 и какая версия первая содержит Quartus Programmer отдельным инсталятором? И дополнительно: нет ли независимого софта которым можно запрограммировать Cyclone II под XP через встроенный Altera programming unit (USB port)?
CodeMaster
14.10.2021, 13:39
UrJTAG. Консольная утиль.
Она под ХРюшей не запустилась. Возможно, что-то ещё надо делать с Cygwin, но консольные утилиты в этой области это не мой уровень, в принципе.
polikarpov76
14.10.2021, 13:49
Она под ХРюшей не запустилась. Возможно, что-то ещё надо делать с Cygwin, но консольные утилиты в этой области это не мой уровень, в принципе.
при чем тут cygwin если это нативная консольная прога для win32
CodeMaster
14.10.2021, 14:03
при чем тут cygwin если это нативная консольная прога для win32
JTAG Tools должны работать на все Unix-like операционных системах, включая MS Windows, на которой установлен пакет Cygwin. Прекомпилированная версия, которая работает на MS Windows без Cygwin, доступна как exe-установщик Windows (urjtag-0.10.exe, который можно скачать на Sourceforge).
Смутило это, но видимо это ошибка перевода. Но, по-любому она не запускается под ХР, чего-то не находит в dll.
CodeMaster
14.10.2021, 15:32
ну что тут можно сказать...
Не повезло...
Да нет, читать мануалы надо и смотреть на что прога ругается, а не на бегу устанавливать. В общем, подкинул я ей usblib0.dll - прога запустилась но, как я уже писал это не мой уровень. Буду освобождать место на диске для Quartus II 9.0, раз больше GUI'вых вариантов нет, там уже немножко осталось.
CodeMaster
17.10.2021, 20:00
акая последняя версия Quartus работает с XP preSP4 и какая версия первая содержит Quartus Programmer отдельным инсталятором?
Пару строчек для истории: последняя версия для XP - 11-я и она же первая позволяет поставить Programmer отдельно, но не отдельным инсталятором, а из общего пака.
последняя версия для XP - 11-я
У меня остался xp sp3 с несколькими установленными квартусами и последний там - 13.0sp1. Попробовал - он все еще запускается, проект открывает. Компилировать не пробовал, но вроде препятствий для этого нет.
CodeMaster
18.10.2021, 12:24
У меня остался xp sp3 с несколькими установленными квартусами и последний там - 13.0sp1.
Возможно и так. Я пока нашёл только инфу, что Quartus II должен работать под 64-bit XP. Но, я ставил Programmer отдельно и на 32-bit он не запустился.
На всякий случай Quartus 15.0 (Web Edition и обычная без таблетки) + библиотеки CycloneIV и Max II
https://disk.yandex.ru/d/28MX6i_lWiftkQ
Решил поковырять старые проекты под Квартус, но возникла затыка.
Виндоус 10.
При попытке открыть старый проект, который писал еще в ХР и вин_7, получаю сие сообщение -
Error: Can't open project -- you do not have permission to write to all the files or create new files in the project's database directory
Снятие галочки с папки проекта и вложенных файлов "Read only" не помогает совсем, да и в интернетах пишут, что не в ней дело.
Попробовал на всякий случай программу Unlock, та сообщает, что проблем не видит.
Эта тема наверняка уже решалась здесь на форуме, но нет времени на вычитку.
Буду очень благодарен за помощь.
мои пять копеек. У меня была есть ситуация на вин10. В процессе выполнения makefile для сборки проекта на Си, там есть команда копирования из одного каталога в другой одного конкретного файла (поверх предыдущего). Так копирование обламывалось. Я убирал атрибут только чтение и удалял сам файл (поверх которого копировал, исходный файл я не трогал), Все последующие копирования проходили нормально. Все деяния выполнялись на диске С. (возможно если проект был бы полностью на Д то и проблем бы не было.).
- - - Добавлено - - -
возможно если Квартус был перенесён копированием (или подключением винча) из вин7 в ин10 (а не установлен заново), то возможно у самого квартуса и его файлов установлены атрибуты "другого" владельца. а файлы "чужие" "полохо" копируются на диск С. Всё ИМХО. Я не админ и всех нюансов не знаю.
если Квартус был перенесён копированием (или подключением винча) из вин7 в ин10 (а не установлен заново)
Да не, я даже заново качал торренты и ставил прям на диск С, вдруг ему там какие пути не нравятся. И проект тоже на С перетаскивал, убился и задолбался уже...
- - - Добавлено - - -
Конечно, всегда есть вариант проект выкинуть нафиг, и создать новый с использованием текста исходников, но это очень много геморроя, поскольку масса файлов модулей. Все не пересоздашь.
Решил поковырять старые проекты под Квартус, но возникла затыка.
Виндоус 10.
При попытке открыть старый проект, который писал еще в ХР и вин_7, получаю сие сообщение -
Error: Can't open project -- you do not have permission to write to all the files or create new files in the project's database directory
Снятие галочки с папки проекта и вложенных файлов "Read only" не помогает совсем, да и в интернетах пишут, что не в ней дело.
Попробовал на всякий случай программу Unlock, та сообщает, что проблем не видит.
Эта тема наверняка уже решалась здесь на форуме, но нет времени на вычитку.
Буду очень благодарен за помощь.
Скорее всего, надо смотреть не на Read only, а на вкладку безопасность. Связано с правами доступа NTFS. На вкладеке безопасность добавить группу "Все" и разрешение на всё.
а на вкладку безопасность
А вот нет у меня вкладок "Безопасность". Нет и всё тут...
Общие, Настройки и Доступ. Но в них нет ничего, что относилось бы к разрешениям.
А вот нет у меня вкладок "Безопасность". Нет и всё тут...
Общие, Настройки и Доступ. Но в них нет ничего, что относилось бы к разрешениям.
Всё это применительно к системам windows nt: в них входят NT-2000-XP-Vista-7-8-10. Они обычно ставятся на NTFS. Может настройки вида папок стоят в каком либо состоянии? Точно помню, если в настройке вида папок стоит типа доступ простой - то ничего такого и не увидеть. Надо из панели управления или из настройки вида папок поставить более подробный вид. Точно всё разрулит команда CACLS, или, она же подскажет, ICACLS.
parsec, безопасность включил, но через правку реестра. В параметрах вида папок пункта отображения в простом виде тоже небыло!
В безопасности выставил для всех юзеров разрешения для папки и вложенных файлов на полный доступ.
Пробую открыть проекты и.... васаби там лежало! Не пускает. проверяю разрешения - на месте, полный доступ для всех.
А что пишет по ICACLS "имя" ?
- Можно попробовать запустить Квартус с правами админа
- Или попрбовать (обычно они создаются в каталоге, где лежит файл-описание проекта) грохнуть папки db, incremental_db и simulation
Приблизительно так можно сделать. Создать каталог, дать ему права всем на всё. После этого всё в него скопированное получает наследованные права. Для русскоязычной это так, для англоязычной everyone.
C:\Users\user>mkdir c:\temp\test
C:\Users\user>cacls c:\temp\test
c:\temp\test BUILTIN\Администраторы:(OI)(CI)(ID)F
NT AUTHORITY\СИСТЕМА:(OI)(CI)(ID)F
BUILTIN\Пользователи:(OI)(CI)(ID)R
NT AUTHORITY\Прошедшие проверку:(ID)C
NT AUTHORITY\Прошедшие проверку:(OI)(CI)(IO)(ID)C
C:\Users\user>mkdir c:\temp\test\test1
C:\Users\user>cacls c:\temp\test\*
c:\temp\test\test1 BUILTIN\Администраторы:(OI)(CI)(ID)F
NT AUTHORITY\СИСТЕМА:(OI)(CI)(ID)F
BUILTIN\Пользователи:(OI)(CI)(ID)R
NT AUTHORITY\Прошедшие проверку:(ID)C
NT AUTHORITY\Прошедшие проверку:(OI)(CI)(IO)(ID)C
C:\Users\user>cacls c:\temp\test /T /G Все:F
Вы уверены? [Y(да)/N(нет)]y
обработан каталог: c:\temp\test
обработан каталог: c:\temp\test\test1
C:\Users\user>cacls c:\temp\test
c:\temp\test Все:(OI)(CI)F
C:\Users\user>cacls c:\temp\test\*
c:\temp\test\test1 Все:(OI)(CI)F
C:\Users\user>mkdir c:\temp\test\test2
C:\Users\user>cacls c:\temp\test\*
c:\temp\test\test1 Все:(OI)(CI)F
c:\temp\test\test2 Все:(OI)(CI)F
C:\Users\user>
"чисто поржать"... винды какие ? полное наименование с версией ?
Можно попробовать запустить Квартус с правами админа
Это первое же действие было
- - - Добавлено - - -
- Или попрбовать (обычно они создаются в каталоге, где лежит файл-описание проекта) грохнуть папки db, incremental_db и simulation
Эти папки я и по-умолчанию грохаю, отправляя проект на хранение. Дохрена места занимают.
- - - Добавлено - - -
А что пишет по ICACLS "имя" ?
Три простыни мелкого текста... что за "имя"?
- - - Добавлено - - -
"чисто поржать"... винды какие ? полное наименование с версией ?
Вынь 10 про, точно сборку не знаю где смотреть.
Три простыни мелкого текста... что за "имя"?
Имелось ввиду имя файла/каталога. В "простыне" попытался показать, как можно с помощью команды системы изменить права доступа. Изначально предполагал, что при переносе, переустановке системы изменены права доступа NTFS. В "простыне" давал комнду на показ аттрибутов, потом изменение их. При установке прав ставятся права всем на всё. Если вместо "c:\temp\test" поставить имя каталога проекта, то, теоретически, доступ должен восстановится.
Ну, на что летом налетел - скопировал проект в новое место, а при прошивке выяснилось, что шьётся старый вариант. Как оказалось, Квартус любит запоминать абсолютные пути. Может и здесь - путь уводит куда-то не туда? Я у себя нашёл все абсолютные пути и заменил на относительные.
Решил поковырять старые проекты под Квартус, но возникла затыка.
Виндоус 10.
Решил проверить работу Квартуса под win10/ так, для общего развития, под десяткой оно мне нафик не надо.
Квартус 15, по ссылке выше из хранилища на яндексе.
Пару проектов отсюда (http://bashkiria-2m.narod.ru/index/fpga/0-12)
https://s.micp.ru/98Qe0.jpg
в архиве квартуса только под 4 циклоны и макс, под второй нет девайсов. Ну и ладно.
Проекты открылись и скомпилились. читд
Главный вопрос - исходниками проекта ScorpEvo еще не решил поделиЦЦа?? Или еще рано??
И да, Quartus категорически не переносит кирилицу в путях к файлам.
Quartus категорически не переносит кирилицу в путях к файлам.
Проверил - по крайне мере у 21-ого - никаких проблем
у xilinx чётко в требованиях прописано какие символы могут быть в путях/именах. русских букв (ровно как и китайских) там нету, да и пробелы кажется тоже под запретом.
Главный вопрос - исходниками проекта ScorpEvo еще не решил поделиЦЦа?? Или еще рано??
Ты не поверишь, именно они нигде и не открываются. Я вот тоже решил их слегка пошебуршить. Также не открываются проекты СМУКа, но там проще - пересоздал проект ручками. А здесь модулей дохрена, ибо на 90% это оригинальный проект ПентЭвы.
ise в принципе не дружит с русскими буквами. Вот Вивада современная дружит - я там комменты на русском расставляю.
пс: уже давно не использую ise. только если вдруг надо "поглядеть" проект на древних спартанах...
Коллеги, а подскажите-ка, кто смог разобраться в временнЫм анализом? TimeQuest и прочие квесты на выживание.
Есть ли толковая литература на эту тему?
Где объясняется смысл всех действий, а не просто "нажмите на такую-то кнопочку", "введите такие-то буквы".
Пока понятно только как задавать синхросигналы. Всё остальное - темный лес.
TimeQuest_User_Guide.pdf
TimeQuest_for_dummies.pdf
от Алтера an433.pdf
журнал www.kit-e.ru
2010 9..12 номера
https://www.macrogroup.ru/video
в частности
https://www.macrogroup.ru/video/79
пс вороги заблокировали скачивание софта с xilinxa и intel (этого не проверял).
...
Большое спасибо!
Сам я и половины этого не мог найти.
https://embedders.org/category/tags/timequest
nimdasys_inbox_ru
26.03.2022, 11:46
Всем доброго времени суток!
Подскажите пожалуйста возможно ли применить чип xilinx XC3042 в ретро-тематике ?!
Всем доброго времени суток!
Подскажите пожалуйста возможно ли применить чип xilinx XC3042 в ретро-тематике ?!
Можно, разумеется. Откуда такой вопрос?
Подскажите пожалуйста возможно ли применить чип xilinx XC3042 в ретро-тематике ?!
все что угодно можно применить :-) а уж fcpga тем более..
а вот на что ее хватит - тут надо смотреть :-)
Serg6845
26.03.2022, 13:00
Подскажите пожалуйста возможно ли применить чип xilinx XC3042 в ретро-тематике ?!
конечно можно. опять же - "теплые ламповые 5В" и все такое... есть только одна проблема - найти под нее компилятор. мне удалось найти только Xilinx Foundation 3.1, но во всех дистрибутах что я нашел - не работает HDL, только схематик. а версия 4.1 уже не поддерживает XC3000. если есть альтерантивы - с радостью выслушаю.
все что угодно можно применить :-) а уж fcpga тем более..
FCPGA -- это тип корпусировки микросхемы. Flip-Chip Pin Grid Array. В котором эта микросхема, насколько мне известно, не выпускалась. Причём он тут?
nimdasys_inbox_ru
26.03.2022, 14:48
Можно, разумеется. Откуда такой вопрос?
Имеется LPT-программатор ChipProg+ разработки www.phyton ... работает, но продать наверное его не получится, так как он морально устаревший! Но в нём имеется чип xilinx XC3042 в панельке и также в панельке чип PIC16F628A (для него я уже нашёл несколько вариантов применения), а вот для xilinx XC3042 тоже хотелось бы найти достойное его сединам применение!
оные чипы в бытности программировались ещё в дос-е посредством логических формул и в ручную разводку логики по кристаллу. те по сути всё делалось в ручную. пс: докучи требуется внешняя пзу для хранения прошивки. а так в этой плисе 480 триггеров.
Имеется LPT-программатор ChipProg+ разработки www.phyton ... работает, но продать наверное его не получится, так как он морально устаревший!
Отчего же не получится?
Если рабочий, комплектный и готовы отдать его за разумные деньги, то очень даже получится.
Vasily_A
26.03.2022, 23:10
Что вы обижаете хс3042! это чип моей студенческой юности!
В фаундейшене под вин-нт вполне на языковом вводе писалось, в 1996 году примерно... только топ на схематике делался.
самое забавное, что на работе его у меня в серийке еще применяют - так по ряду причин проще, чем на современные переводить. Где его покупают - это тайна великая...
могу чиппрог на 5в плис\плд поменять :) например на кучку альтер епм3032 в плцц44, под штыревые панельки, они и 5в понимают, и с дешевой 3.3в памятью работают. и программатор с али дешевый.
nimdasys_inbox_ru
16.04.2022, 10:30
Всем доброго времени суток!
Подскажите пожалуйста возможно ли применить чип TI EP910DC-30 (великий и могучий google говорит, что это аналог Altera EP910) и чип intel D5C090 в ретро-тематике ?!
nimdasys_inbox_ru, конечно возможно!
А много ли их у Вас? В каком корпусе?
Уже выпаяны, или только собираетесь что-то развандалить? ;)
nimdasys_inbox_ru
16.04.2022, 14:08
nimdasys_inbox_ru, конечно возможно!
А много ли их у Вас? В каком корпусе?
Уже выпаяны, или только собираетесь что-то развандалить? ;)
Роман, они у меня из панелек (керамические DIP40 ... TI 1 штука и 6 от intel) возможно (ну или их кто-то очень аккуратно демонтировал)... получал я их в кучке различных неотсортированных UV-EPROM, после идентификации всяческих раритетов (по крайней мере для меня) изучаю возможности по их применению, ну или обмену\продаже на нужное мне!
Также есть раритетные UV-EPROM:
(2K x 8 )
3x WSI 57C191B-55 9013 DIP24
1x WSI 57C191B-55 9025 DIP24
2x WSI 57C191B-55 9033 DIP24
(4K x 8 )
1x WSI 57C43B-55 8924 DIP24
1x WSI 57C43B-45 8949 DIP24
2x WSI 57C43B-55 9011 DIP24
1x WSI 57C43B-35 9043 DIP24
(8K x 8 )
1x WSI 57C49B-55 8938 DIP24
(16K x 8 )
1x WSI 57C51B-55 9016 DIP28
С уважением, Максим aka nimdasys_inbox_ru
nimdasys_inbox_ru, немного не понял, интересуетесь с целью продажи, или сами хотите как-то применить?
Упомянутые EP910DC и D5C090 - это нечто среднее, между PAL/GAL и более поздними CPLD Altera MAX EPM7000.
Вы можете сами написать какую-нибудь прошивку и где-нибудь использовать.
Потому что они у Вас уже есть. Но покупать их для этих целей смысла нет. Есть более доступные EPM7000 и EPM3000.
nimdasys_inbox_ru
16.04.2022, 14:23
nimdasys_inbox_ru, немного не понял, интересуетесь с целью продажи, или сами хотите как-то применить?
Упомянутые EP910DC и D5C090 - это нечто среднее, между PAL/GAL и более поздними CPLD Altera MAX EPM7000.
Вы можете сами написать какую-нибудь прошивку и где-нибудь использовать.
Потому что они у Вас уже есть. Но покупать их для этих целей смысла нет. Есть более доступные EPM7000 и EPM3000.
Продажа - это крайний выход...
Основная цель - применение по прямому назначению, т.е. идеальным вариантом был бы некий проект, который способен работать... например, звуковая карта или что-то аналогичное вплоть до гирлянд, часов и прочих таймеров!
Народ,
подскажите, а есть ли способ , там прошивка какая тестовая или прямо из среды альтеры, возможность протестировать плисину на исправность ножек и всех ее вентилей, генераторов ?
Gesha86PK
21.04.2022, 13:14
Точно нету❗ Придётся ЛА3 на все ножки съимитировать
Не знаю для этой-ли темы вопрос.
Опыт в Верилоге и Квартусе очень маленький, корябаю в нём для хобби...
Моделирую простой модуль, для эмуляции микросхемы 74_245 (АП6).
Не могу понять, почему Шина дробится на буферы a[7], а[6:0], b[7], b[6:0], хотя ожидаются a[7:0] и b[7:0] ?
И что вообще обозначают эти "~0" и "~1" в названиях элементов?
Код модуля:
module m74_245(
input wire oe,
input wire dir,
inout wire [7:0] a,
inout wire [7:0] b
);
assign a = oe ? 8'bzzzzzzzz : dir ? 8'bzzzzzzzz : b ;
assign b = oe ? 8'bzzzzzzzz : dir ? a : 8'bzzzzzzzz ;
endmodule
Полученная схема во вложении.
Возможно "~0" это из серии "для примера как выглядит один из 8 сигналов".
ИМХО: квартус не первой свежести - может иметь свои причуды.
77277
пдф - это SystemVerilog vivado
...ИМХО: квартус не первой свежести - может иметь свои причуды.
...
Квартус 20.1
https://i.ibb.co/TKf81D1/245.png (https://ibb.co/ZHj8SRS)
ISE разукрасил вполне вменяемо :)
KTSerg, попробуйте так:
assign a = (oe & ~dir) ? 8'bzzzzzzzz : b;
assign b = (oe & dir) ? 8'bzzzzzzzz : a;
Есть ещё такой вариант:
wire [7:0] a1, b1;
assign a1 = dir ? 8'bzzzzzzzz : b ;
assign b1 = dir ? a : 8'bzzzzzzzz ;
assign a = oe ? 8'bzzzzzzzz : a1 ;
assign b = oe ? 8'bzzzzzzzz : b1 ;
Что любопытно, схема каждый раз разная, но количество занимаемых ячеек абсолютно одинаково.
KTSerg, попробуйте так:
assign a = (oe & ~dir) ? 8'bzzzzzzzz : b;
assign b = (oe & dir) ? 8'bzzzzzzzz : a;
...
Rio444, спасибо за идею.
Вот с таким кодом, полностью совпало со схемой из даташита 74_245:
assign a = (~oe & ~dir) ? b : 8'bzzzzzzzz;
assign b = (~oe & dir) ? a : 8'bzzzzzzzz;
И дробление шины пропало.
ещё когда-то попадалось что OE (исходный вариант примера) рекомендовалось иметь той-же разрядности что выбираемые сигналы. Бредово звучит - но попадалось...
{8{oe}} (это работает гарантировано в sv)
nimdasys_inbox_ru
15.05.2022, 09:41
Всем доброго времени суток!
Подскажите пожалуйста... имеются ли у кого интересные и полезные для ретро-хобби (или в быту, кроме АОН'ов) проекты использующие микроконтроллеры семейства 8031/8051 ?!
С уважением, Максим aka nimdasys_inbox_ru
Shumadan
15.05.2022, 10:02
Вот частотомер http://www.cqham.ru/fpic01.htm
Но 8031 это же не Плис, а микроконтроллер
nimdasys_inbox_ru
15.05.2022, 10:06
Вот частотомер http://www.cqham.ru/fpic01.htm
Но 8031 это же не Плис, а микроконтроллер
Огромнейшее спасибо!
Да, я что-то не нашёл тут тему про микроконтроллеры...
Freiwind
15.05.2022, 10:54
Собирал такой в 90-х. Потом распаял за ненадобностью.
Приспичило мне подключить к борде Альтеры девайс с протоколом i2c.
Соответственно начал искать готовые примеры "мастера" на верилоге.
Изучение примеров шедших с бордой и найденных на просторах нета, привело к мысли, что найденные примеры "куцие"...
В закоулках памяти мелькает, что в протоколе i2c предусмотрено торможение мастера, если ведомый не успевает за тактовой частотой. Ведомый для этого зажимает в "0" линию SCL. И мастер ждёт пока эту линию не освободят.
А во всех примерах линия SCL чисто "output", а не "inout". Значит мастер (ПЛИС) не может следить за состоянием SCL, и если ведомый "тормозной", то сбоев не избежать...
Так его же несложно самому написать. Да, мастер обязан уметь понимать торможение. Это неотъемлемая часть протокола.
В продолжение темы про реализацию i2c.
Не могу понять, зачем нужно переводить выход в состояние "z" при чтении входных данных.
В даташите на Альтеру нашкрябано, что все выводы оснащены "ОК".
По идее, должно быть достаточно записать в выходной регистр "1", и если выход с "ОК", то можно спокойно читать вход (данные от внешнего источника).
Но в примерах реализации i2c, выходной регистр постоянно подключают/отключают от шины.
Без отключения от шины выходного регистра (при условии перевода его в "1"), реально не будет читаться внешний сигнал?
1) На какую именно Альтеру?
2) Физически, если говорить про Циклоны/Стратиксы, там нет ОК. Он именно, что эмулируется таким вот образом.
3) Если перевести выход в 1, то при подаче на него снаружи 0 будет конфликт. Поэтому его надо переводить в z и использовать подтяжку.
Serg6845
19.05.2022, 11:59
В продолжение темы про реализацию i2c.
Не могу понять, зачем нужно переводить выход в состояние "z" при чтении входных данных.
В даташите на Альтеру нашкрябано, что все выводы оснащены "ОК".
далеко не у каждой альтеры есть честный ОК. а через Z-состояние ОК эмулируется где угодно.
...
2) Физически, если говорить про Циклоны/Стратиксы, там нет ОК. Он именно, что эмулируется таким вот образом.
...
далеко не у каждой альтеры есть честный ОК. а через Z-состояние ОК эмулируется где угодно.
Ясно.
- - - Добавлено - - -
Alex_NEMO
23.05.2022, 11:10
Мужики, кто может проконсультировать по Lattice ISP Lever v 1.8. В схематике, набросал схемку на "расыпухе", не могу понять - как пины назначить / привязать? Ужасный схемный редактор, в отличие от Альтеровского...
Serg6845
23.05.2022, 11:26
Мужики, кто может проконсультировать по Lattice ISP Lever v 1.8. В схематике, набросал схемку на "расыпухе", не могу понять - как пины назначить / привязать? Ужасный схемный редактор, в отличие от Альтеровского...
с 1.8 не работал, а в 1.4 для соответствующего iopad - Edit-Attribute-SymbolAttribute-PinNumber=
Alex_NEMO
23.05.2022, 12:08
Serg6845, спасибо, вечером попробую.
Правильно ли я понял таблицы из даташита на ЦиклонIV:
1. Входная тактовая обязательно должна быть меандром, допустимое отклонение 45-55%.
Это значит, что нельзя использовать в качестве задающего, внешний сигнал, в котором соотношение импульс/пауза = 1/4, подать его на PLL и получить 400МГц для внутренних нужд ?
2. Какая вообще максимальная частота, на которой может работать ЦиклонIV ?
Нашел табличку в которой "PLL output" для С8 402,5МГц, и ещё одну "Clock Tree ..." для EP4CE6 402МГц.
402МГц - это и есть предел для логики EP4CE6 С8 ?
3. Для М9К есть таблица, для С8 указана частота 238МГц.
Это максимум для wrclock/rdclock M9K?
Входная тактовая обязательно должна быть меандром, допустимое отклонение 45-55%.
По цифрам похоже на другую строку таблицы (Table 1–25. PLL Specifications for Cyclone IV Devices) в даташите - tOUTDUTY Duty cycle for external clock output (when set to 50%)
А для fINDUTY Input clock duty cycle указано от 40 до 60 %
Но я бы еще обратил внимание на другую строку fIN Input clock frequency и минимальная там 5 MHz. Про возможную необходимость 12 МГц я уже писал.
Какие конкретно номера таблиц, и в каких документах?
Какие конкретно номера таблиц, и в каких документах?
Cyclone IV Device Datasheet - cyiv-53001.pdf
таб.: 1-24, 1-25, 1-27
- - - Добавлено - - -
По цифрам похоже на другую строку таблицы...
Не, про характеристики PLL смотрел в отдельном cyiv-5... именно по PLL (вроде).
Но сейчас его под рукой нет, номер документа и таблицы не помню.
Не проходит верификация записи прощивки ПЛИСины в epcs4.
Не могу понять, что делаю не так.
Так конвертировал:
https://disk.yandex.ru/i/XANmWmRm4oReoA
При верификации, получаю "Failed" :
https://disk.yandex.ru/i/aPGUPdQDsSm_Pw
Маркировки ПЛИС и epcs соответствуют.
Обычный sof в ПЛИС - заливается, а jic в epcs - нет.
А попробуй вместо ep4ce6 указать ep3ce6, у меня на ep4ce55 тоже jic файл щьётся с глюками, указываю ep3ce55, и все шьётся отлично.
А попробуй вместо ep4ce6 указать ep3ce6, у меня на ep4ce55 тоже jic файл щьётся с глюками, указываю ep3ce55, и все шьётся отлично.
Я надеюсь эта рекомендация не из разряда: "Нужно подать на входы питания микросхемы ~220В, если обуглится, значит была рабочая."
Для начала, мне кажется, стоит проверить все сигналы м-у ПЛИС и РОМ на предмет наличия и залипушек, может обрыв где. А по предыдущему совету, проверить распиновку, если совпадает, то почему нет, алгоритмы прошивки РОМ через ПЛИС, думаю, не будут особо отличаться.
Вполне серьёзно, именно так и прошивал ром на ep4ce6 и ep4ce55. Крайний раз это делал вчера.
По размеру какого файла судить о размере прошивки? Хочу поставить EPCS1 вместо EPCS4 (ПЛИС EP4CE6E22), если влезет. Заливается POF, но у него заголовки и еще что-то. Тогда, SOF?
ну как бы "судить" надо по документации на саму плису. у xilinx есть "четкие" таблички в документации, где говорится реальный размер битового потока для программирования плисы. сам файл прошивки может быть в разы "толще" чем реальный размер - зависит от формата файла.
TomaTLAB
04.07.2022, 21:24
В ISE можно голый бинарь получить, правда, я не помню как, но точно можно.
Возможно, даже без лишних телодвижений, оно его куда то среди своих говен откладывает. :)
В ISE можно голый бинарь получить, правда, я не помню как, но точно можно.
Возможно, даже без лишних телодвижений
ну не то, чтобы без лишних. По умолчанию only bit-овый поток генерится, но если поставить галочку-птичку при генерации - то вот тебе и на, bin
Alex_NEMO
19.07.2022, 20:11
Мужики, подскажите, как Lattice ispLever, проектик на Verilig'е (от Altera EPM30/70), назначить номера пинов для GAL22V10 сигналам из этого файла?
module ProfROM(
oe_n, // /OE strobe
a, // address bus (a2..a15)
a16,a17 // output to ROM
);
input oe_n;
input [15:2] a;
output a16,a17; wire a16,a17;
reg [1:0] plane;
reg [1:0] newplane;
reg enable_switch;
assign a17 = plane[1];
assign a16 = plane[0];
always @*
begin
if( a[15:4] == 12'b100000010000 )
enable_switch <= 1;
else
enable_switch <= 0;
end
always @*
begin
case( {a[3:2],plane[1:0]} )
4'b0000:
newplane <= 0;
4'b0001:
newplane <= 1;
4'b0010:
newplane <= 2;
4'b0011:
newplane <= 3;
4'b0100:
newplane <= 3;
4'b0101:
newplane <= 3;
4'b0110:
newplane <= 3;
4'b0111:
newplane <= 2;
4'b1000:
newplane <= 2;
4'b1001:
newplane <= 2;
4'b1010:
newplane <= 0;
4'b1011:
newplane <= 1;
4'b1100:
newplane <= 1;
4'b1101:
newplane <= 0;
4'b1110:
newplane <= 1;
4'b1111:
newplane <= 0;
endcase
end
always @(posedge oe_n)
begin
if( enable_switch==1 )
begin
plane <= newplane;
end
end
endmodule
Или там ещё чего "лопатить" придется?
И ещё вопрос - триггер ТМ2 (7474) каким символом можно заменить? У Lattice очень "бедный" набор символов стандартной TTL-логики...
valerium
27.07.2022, 19:15
Камрады, не знаю, куда отнести этот вопрос, может в тему для начинающих, но все же...
Есть цель: освоиться с FPGA, ибо до этого с ними дел почти не имел. Пока для начала хочется рассматривать FPGA как очень жирную CPLD (то есть без всех ее специфических возможностей) - возможно ли это ? Ну то есть при одинаковых питаниях всех ее "частей" считать все ноги условно равнозначными и работать так, как это делалось бы для CPLD cерий max3000 или maxII ? Или будет обязательно тонна граблей, которые необходимо знать заранее ?
Сейчас прицел на что-то доступное, дешевое, античное и 5в-толерантное, например Altera ACEX ep1k30, полагаю, что его проще всего сопрягать с привычными нам железяками из ретро-мира.
Как я успел понять, только у FPGA современнее циклонов возможно просто навесить конфигурационное ПЗУ (spi flash ?) и просто заливать их через JTAG, чувствуя себя примерно так, как при работе с flash-based CPLD. У ACEX какой-то свой интерфейс конфигурационной памяти ASMI, да и память не вся одинаковая (напр. epc1* одноразовые). И шьется она совсем не так - вот на эту тему просветите пожалуйста в двух словах (или двух ссылках). А лучше, если есть какой-то пример схемы девборды на ACEX с конфигурационной памятью и процедурой заливки оной
Спасибо.
valerium
Упрощенно можно считать FPGA как большую CPLD.
Грабли с выводами начинаются, например, когда используете дифф. сигналы (типа HDMI), также часть выводов могут работать только на вход или иметь специфические функции - поэтому необходимо тщательно и полностью читать справочный лист на чип.
5-вольтовые Альтеры сильно устарели, отсюда могут быть проблемы с доступностью, в т.ч. плат разработчика. Циклоны успешно сопрягаются с 5-в чипами через преобразователи уровней.
Прошивка у циклонов может зашиваться в конфпзу EPCS1(4,16) - через jtag записывается прошивка, которая заливает в конфпзу вашу прошивку. Тут все описано и есть схема https://kit-e.ru/memory/programmirovanie-pzu-po-jtag/. Такой вариант позволяет избежать переключателей.
Я бы начал с дешевых плат на 2 или 4 циклоне - их на Али навалом.
У ACEX прошивка грузится через интерфейс Passive Serial (конфпзу EPC1, например и они не одноразовые вроде) - тактовая идет от конфпзу. На циклонах есть режим Active Serial (EPCS1) - тактовая идет от Циклона.
valerium
28.07.2022, 20:09
valerium
5-вольтовые Альтеры сильно устарели, отсюда могут быть проблемы с доступностью, в т.ч. плат разработчика. Циклоны успешно сопрягаются с 5-в чипами через преобразователи уровней.
Вот как раз старыми сериями хотелось уйти от преобразователей. Ну или пока просто казалось, что так будет проще )
У ACEX прошивка грузится через интерфейс Passive Serial (конфпзу EPC1, например и они не одноразовые вроде) - тактовая идет от конфпзу. На циклонах есть режим Active Serial (EPCS1) - тактовая идет от Циклона.
Получается, что конфПЗУ EPC в режиме passive serial - по сути самостоятельный контроллер, который в процессе загрузки конфигурации является мастер-устройством ? Усмотрел тут, что у пентэвы он сэмулирован атмегой, которая читает файл конфигурации с карты, да и вообще это, оказывается, распространенное решение. Осталось найти какое-нибудь открытое решение )
А EPCS в active serial - получается просто SPI flash ? Памятью 25й серии, поди, можно заменить ?
Кстати, а если тактовая от FPGA поступает, то в боевом режиме (без программатора) загрузка конфигурации в такую FPGA без правильно подключенного к ней генератора невозможна ? Или для загрузки конфигураций в них есть какой-то внутренний генератор ?
Прочитал про SFL, который квартус скрытно реализует в процессе загрузки перед заливкой собственно памяти - так вон почему с циклонами все так просто, оказывается ! То есть он не "само по себе работает", а просто квартус программер имеет конфигурации-загрузчики для всех поддерживаемых устройств и сам их нужные подсовывает. Красиво !
Вот как раз старыми сериями хотелось уйти от преобразователей. Ну или пока просто казалось, что так будет проще )Сейчас это вообще не проблема.
Я бы смотрел на доступность и цены. Старые серии ещё есть на али, и цены на них не взлетели так, как на современные. Умеренно-старые конечно. Скорее это будут 3-вольтовые "не первой свежести" :)
Я приверженец xilinx. 5в тоже нема.
у современных плис "один" недостаток - это бга корпус.
а так xilinx - грузится с spi, или обычных параллельных пзу, или с помощью проца (эмуляция spi). специально заводить тактовую (для загрузки) не требуется. Но для работы "схемы" тактовая нужна.
valerium
28.07.2022, 21:55
Еще почитал. Можно еще подкину нубских вопросиков ?
Есть чудный документ как раз изображающий многое из вышесказанного
https://www.intel.ca/content/dam/www/programmable/us/en/pdfs/literature/an/an656.pdf
Про циклоны и ActiveSerial-режим все ясно.
А вот если рассматривать связку Acex-ов EP1K с конфПЗУ, например, EPC2LC20 в PassiveSerial-режиме, то везде описываются неудобства в виде либо использования отдельных кабелей для отладки/заливки ПЗУ, либо необходимости их переключения. Чем в данном случае плох вариант отладки с заливкой конфигурации в EPC2 по JTAG, а затем запуском - это не используют потому что это значительно медленнее просто заливки в RAM у ПЛИС, потому что флэш изнашивается от перезаписей или еще по какой-то причине ?
Ну и оставлю эту ссылку, может еще кому будет полезным - готовая учебная поделка на avr для загрузки конфигурации в passive serial из памяти 24cXX:
https://www.rlocman.ru/shem/schematics.html?di=41200
Чем в данном случае плох вариант отладки с заливкой конфигурации в EPC2 по JTAG, а затем запуском
И так каждый раз при отладке? А смысл?
Через JTAG заливается конфигурация в ПЛИС, когда она будет работоспособной, ее прошивают в конфПЗУ.
Лучше заливать конфигурацию, используя микроконтроллер - проще обновлять (исходники ZX-Evo и Speccy2010 доступны, там это реализовано).
Чем в данном случае плох вариант отладки с заливкой конфигурации в EPC2 по JTAG, а затем запуском - это не используют потому что это значительно медленнее просто заливки в RAM у ПЛИС, потому что флэш изнашивается от перезаписей или еще по какой-то причине ?
В том числе и поэтому. Официальный ресурс EPC2 -- 100 (сто) записей. То есть, постоянной перешивкой конфигурации её можно убить за день отладки.
Цитата: "EPC2 devices can be programmed and erased up to 100 times." Это из "Configuration Devices for SRAM-Based LUT Devices", документ CF52005-3.0.
С мест сообщают, что это так есть, по крайней мере -- для старых выпусков. (Я лично EPC не пользовался, только EPCS)
valerium
29.07.2022, 14:54
И так каждый раз при отладке? А смысл?
Отдельного специального смысла, конечно, нет, просто это позволяет не ничего никуда не переключать и работать через один шнурок аналогично cpld. Ну теперь ясно, почему это ложный путь )
Serg6845
30.07.2022, 16:04
Ну и оставлю эту ссылку, может еще кому будет полезным - готовая учебная поделка на avr для загрузки конфигурации в passive serial из памяти 24cXX:
https://www.rlocman.ru/shem/schematics.html?di=41200
делал подобное, правда с SPI флешкой. это МЕЕЕДЛЕННО! EPF6016 грузилась секунд 10 наверно... в результате задействовал аппаратный синхронный последовательный порт в PIC16F628, SPI флешка, режим passive serial, выход флешки - прямо на data0 ПЛИС, PIC дергает управляющие сигналы ПЛИС, выдает в сторону флешки команду чтения и начальный адрес, после чего шлет пустые байты через послеловательный порт (при этом генерятся клоки на выходе PIC, они же клоки SPI и ПЛИС) пока ПЛИС не выставит сигнал готовности. весь процесс - меньше секунды. правда приходится конвертить HEX - в стандарте SPI и альтеры MSB/LSB не совпадают.
еще видел изделие где с аналогичной целью используется мелкая CPLD.
valerium
02.08.2022, 20:05
делал подобное, правда с SPI флешкой. это МЕЕЕДЛЕННО! EPF6016 грузилась секунд 10 наверно... в результате задействовал аппаратный
Интересно. А какой объем вкачивался в EPF6016 ?
Медленно - по причине побайтной буферизации в МК или я суть не ухватил ?
На самом деле для учебного примера мне и 10 сек загрузки конфигурации - это не так страшно (в наших кругах даже 5-7 минут загрузки с полосками на бордюре - это ж тоже творчество ))))
Главное - нАчать )
Serg6845
03.08.2022, 14:20
Интересно. А какой объем вкачивался в EPF6016 ?
260000 бит. чуть меньше 32к.
Медленно - по причине побайтной буферизации в МК или я суть не ухватил ?
медленно - по причине программного дергания ножки clk. если еще и байты буферить - будет еще медленнее.
в чем прелесть SPI - у нее отдельный вход и выход данных и не нужно слать ACK после каждого байта. просто выход цепляется на вход ПЛИС, клок на клок ПЛИС, вход на микроконтроллер. микроконтроллер посылает команду чтения массива (03 ADR2 ADR1 ADR0) и начинает дергать клок, флешка выдает записанный в нее битстрим. когда ПЛИС выдает готовность - контроллер перестает дергать клок. упрощенно примерно так. могу исходник для PIC кинуть, но вечером.
На самом деле для учебного примера мне и 10 сек загрузки конфигурации - это не так страшно (в наших кругах даже 5-7 минут загрузки с полосками на бордюре - это ж тоже творчество ))))
Главное - нАчать )
ну флешка все таки больше для относительно готовой прошивки, и когда оно грузится в три раза медленнее байтбластера - как-то грустно...
Собственно вопрос по Квартусу 20.1 Lite Edition.
Посмотрел дату создания папки в которой он установлен - февраль 2021 года.
Сегодня, при запуске, начал выкидывать окно, типа через 10 дней лицензия заканчивается :(
Пишут, что нужно обновление, для продления на следующие 12 месяцев.
В буржуйском не силён, понял именно так. Текст в окне не копируется, чтобы в переводчика его закинуть.
Но суть не в проблеме с переводом, а в самой ситуации...
У всех 20-ка блочится, что обновлять, для возможности дальнейшего использования?
И как?
Ссылки altera.com - перенаправляются на intel, а у них блокировка для нас.
Так начиналась 3 волна Спринтера -
https://m.youtube.com/watch?v=af-KiTaVg48
Собственно вопрос по Квартусу 20.1 Lite Edition.
У всех 20-ка блочится, что обновлять, для возможности дальнейшего использования?
И как?
Ссылки altera.com - перенаправляются на intel, а у них блокировка для нас.
Разве что использовать старые версии : https://marsohod.org/418-quartus-download Ну, или не Лайт...
(Для последних версий ModelSim и QuestaSim лицензию вообще нужно получать на сайте Intel, даже бесплатную).
А ты попробуй Web Edition, потом пакетами нужные устройства доставишь :)
А ты попробуй Web Edition, потом пакетами нужные устройства доставишь :)
Web Edition - это старое название Lite, вроде ?
Intel после покупки Altera переименовала Altera Quartus II(Web Edition, Subscription edition, что-то еще?) в Quartus Prime (Lite, Std, Pro).
Так что новые версии стали называться уже по-другому.
Вопрос по возможности разместить классическое СОЗУ в ПЛИС EPM2210, даташит :
https://www.alldatasheet.com/datasheet-pdf/pdf/116403/ALTERA/EPM2210.html
Какой будет максимальный объем СОЗУ в байтах, для быстродействия например 30 нс. ?
Вопрос по возможности разместить классическое СОЗУ в ПЛИС EPM2210, даташит :
https://www.alldatasheet.com/datasheet-pdf/pdf/116403/ALTERA/EPM2210.html
Какой будет максимальный объем СОЗУ в байтах, для быстродействия например 30 нс. ?
Количество макроячеек поделить на 8, наверное на это число надо ориентироваться. Но лучше проверить, т.к. неизвестно как это дело скомпилируется, а у CPLD еще может там всяких внутренних связей не хватить. Странная задача, если честно.
UncleDim
03.11.2023, 01:03
Странная задача, если честно.
Особенно учитывая, что оно только в bga бывает..)
bga
Шариковых - не приемлю, особенно без тополога :frown:
Так что придется поискать замену типономиналу.
Нужно сделать контроллер с собственным СОЗУ от 1 Кбайт, и штоб лучше терпел +5в. на сигналах, хотя бы по входу.
UncleDim
03.11.2023, 07:36
MM, вместо "чистых" плис (flex 10ka наверное подойдет) я б смотрел в сторону гибридов типа PSoC от Cypress/Infineon
Вроде есть какие-то со встроенным ОЗУ.
- - - Добавлено - - -
MM, Block RAM называется. Еще бывает distributed RAM, это когда из ячеек набирается.
LeoN65816
04.06.2024, 14:03
Разрабатываю одну железку на MAX9320ALC84-10, поэтому использую MAX+Plus II.
Основной (корневой) файл проекта пишу на Верилоге. Один из (суб)модулей нарисовал в схемном вводе, создал символ. Как теперь этот субмодуль объявить/ввести в основной проект на Верилоге?
не важно как и на чем написан модуль, подключаются всегда одинаково
Может кто-то знает какая среда разработки поддерживает этот CPLD в корпусе LQFP128?
Проблема в том что у него 128 ног. Серия Atmel ATF1508 вообще совместима с Altera 7000 но у Altera я не нашел ничего с 128 пинами.
ATF1508AS-10AAU128, pin-compatible Philips PZ5128 / Xilinx XCR5128
https://mm.digikey.com/Volume0/opasdata/d220001/medias/images/376/128-LQFP.jpg
товарисчи, долой HDL-безграмотность! Землю - крестьянам, пиво - студентам, валерьянка - кошкам и бабушкам!
Ниже приведены ссылки на информацию, которая поможет разобраться с таким хитропремудрым делом, как ПЛИС.
И вы увидите, что всё далеко не так страшно :)
Туториалы от alost'a (основы VHDL на примере создания клона ZX-Spectrum 128 + AY) -
http://www.zx.pk.ru/showpost.php?p=179392&postcount=39
Небольшой тутор в нескольких частях от ewgeny7 по программированию альтер способом схемного ввода:
http://www.zx.pk.ru/showpost.php?p=196208&postcount=205
Ссылки на литературу по работе с ПЛИС -
http://www.zx.pk.ru/showpost.php?p=179122&postcount=34
Страничка Альтеровского сайта с описанием и схемой программатора для ПЛИС - ByteBlasterMV -
http://www.altera.ru/cgi-bin/go?35
Дока и схема программатора ByteBlaster 2 для некоторых специфических мероприятий:
http://www.zx.pk.ru/showpost.php?p=194253&postcount=191
Дока по подключению и прошиванию конфПЗУ к FPGA. Рекомендую, работать по такой схеме очень удобно.
http://www.zx.pk.ru/showpost.php?p=179221&postcount=38
Туториал (http://radiokot.ru/start/mcu_fpga/xilinx/01/) по работе с чипами Xilinx на "Радиокоте".
Блогохостинг DI HALTA c публикациями (http://we.easyelectronics.ru/blog/plis/) о ПЛИС.
Мануал (http://www.zx.pk.ru/showpost.php?p=364990&postcount=704) по проектированию ZX-Spectrum на ПЛИС (девборда U9_Reverse).
Текст оригинального сообщения был немного отредактирован модератором. Исключительно по просьбе общественности, т.к. он является первым в этой теме, то ему и рулить ссылками.
Надеюсь автор сообщения на меня не сильно обидится :)
C уважением, модератор Ewgeny7
Здравствуйте!
Это мое первое сообщение на вашем форуме. Вот эта тема меня заинтересовала.
Я сейчас изучаю для себя ПЛИС с Xilinx. Здесь есть что почитать, спасибо за метериал.
Я выбрал Xilinx потому что они стоят на платах управления в уже не эффективных асиках "AntMiner S9" (там стоит чип Xilinx ZYNQ7010). Эти б/у платы продают по цене меньше 10 у.е. Я о них узнал на ютуб канале MIHAS, и там же автор канала выкладывает не плохие уроки по этим платам. Но все равно инфы мало.
"AntMiner S9" (там стоит чип Xilinx ZYNQ7010)
Ну как бы не самый лучший вариант для обучения, хотя относительно(!) дешевый
Если помигать светодиодом, как там в примерах, то наверное пойдет.
Если что-то посерьезней. Ну как минимум надо добавлять клавиатуру, VGA, обвязку. и конечно программатор.
Там конечно есть и как сделать программатор - но это тоже плюс расходы с неизвестным результатом.
А5 же - Vivado. Ну комуу-то и нравится.
Ну как бы не самый лучший вариант для обучения, хотя относительно(!) дешевый
Если помигать светодиодом, как там в примерах, то наверное пойдет.
Если что-то посерьезней. Ну как минимум надо добавлять клавиатуру, VGA, обвязку. и конечно программатор.
Там конечно есть и как сделать программатор - но это тоже плюс расходы с неизвестным результатом.
А5 же - Vivado. Ну комуу-то и нравится.
Там еще 2-х ядерное CPU в чипе имеется и есть реализация HDMI на плисе:
https://www.youtube.com/watch?v=nYrjAowLAik
А я хочу реализовать на плисе три алгоритма хеширования (ECDSA secp256k1, SHA-256 и RIPEMD-160).
Уже есть готовые реализации, нужно только на этот конкретный чип перенести.
Не факт, что все три поместятся, но по отдельности помещается каждый с запасом.
Реализации алгоритмов по размеру и быстродействию есть разные.
Параллельно по этой же теме еще изучаю программирование на GPU (CUDA и OpenCL).
А5 же - Vivado. Ну комуу-то и нравится.
А что с Vivado не то?
Вроде приятная студия, правда, почему-то тормозит иногда даже в редакторе текста)
А что с Vivado не то?
Все познается в сравнении, не так ли?? В сравнении с ISE, Quartus, даже кЕтайским Gowin.
Возможно, что Vivado лучше и удобнее их, но мне пока не зашел. И не будем развивать холиварную тему, а то сейчас набегут адепты...
Точка
Возможно, что Vivado лучше и удобнее их, но мне пока не зашел. И не будем развивать холиварную тему, а то сейчас набегут адепты...
Это не холиварная тема. Это обучательная.
Наоборот интересно послушать факты, чем вивадо проигрывает альтеровским идешкам.
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot