Ничего не утеряно, просто 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
Quartus 13.0
Quartus 13.1
Вид для печати
Ничего не утеряно, просто 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
Quartus 13.0
Quartus 13.1
Много проектов встречаю в Quartus 9, если возможность открыть такой в версии 13.0? Чип она поддерживает, если что... Ставить старую версию, но она пойдёт ли на 10-ке?
Хотел Спекки 2010 на свою старую девборду перенести, немного модифицировать, если получится (там ещё и ARM дорогой используется, к сожалению, но всё равно хочу на STM32 проект делать). В итоге поставил и 9.1, но топ не открывается в нём, как и в 13.0, почему-то. Все 208 ног с нуля разводить долго... Ладно переживём)
Распиновки и определения выводов находятся в QSF-файле. Можно просто скопировать текст оттуда.
Только у вас-то наверняка все по-другому разведено.
А что Квартус пишет при открытии, какую ошибку?
Speccy2010 компилится и под 9 и под 13 версией. Тоже мне , нашли проблему. Вот stm-ку с функционалом перенести думаю посложнее, впрочем каждый изобретает вилисапеды по-своемуу.
Вот кто бы подсказал, как из одной корки SDRAM сделать другую, с несколько другим кол-вом колонок и строк.
Можно было бы тогда еще один интересный проект Цпектрума портировать. Когда-нибудь.
Пытаюсь сделать сдвиговый регистр с загрузкой байта через 8 тактов пиксельклока.
vaddr глобальный счетчик видимых пикселей ,
младшие три бита [2:0] счетчик битов для загрузки текущего байта с VRAM для последующего сдвига в видеовыход ,
старшие адреса [18:3] текущий адрес в VRAM .
doubled - пиксельклок
и RTLЦитата:
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;
https://d.radikal.ru/d26/2010/f0/2d13ca29bc06.jpg
- - - Добавлено - - -
Переделал так :
https://d.radikal.ru/d18/2010/4a/083d8d19fab2.jpgЦитата:
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;
Сдвиг и выхлоп видео работает, но почему-то и загрузка 7ми битная и теряется один бит
- - - Добавлено - - -
Похоже победил, по крайней мере выхлоп видео адекватный.
https://a.radikal.ru/a19/2010/a7/2b9397d17874.jpgЦитата:
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;
- - - Добавлено - - -
Точно победил :
Цитата:
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
Это не загрузка 7ми битная, это у тебя лаг на 1 такт. А маска приходит нормально. А что мешает сделать затемнение как в православных компах?
Если сожрёт левые 8 точек то надо сместить disp_en на 8 точек влево (т.е. этот сигнал должен покрывать циклы обращения). Плюс данного метода в том, что последние 8 точек выдвинутся и автоматом закончатся, что не будет порождать паразитные вертикальные линии на стыке.Код: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];
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];
Замени 3'b000 на 3'h0. Ничего не изменится с точки зрения схемы, а вот глазу приятнее.
Такой вопрос - для подключения через JTAG к 4-ому циклону достаточно запитать только Core или надо подавать питание на всё сразу? Хочу проверить чипы, но запаивать на шары все 10 штук чисто ради проверки - тот ещё квест. А так - можно и на проводочках присоединить всё...
HardWareMan, Исправил .
Вопрос- а вот модульный проект несет какие либо дополнительные расходы?
Может для таких мелких CPLD все в одном файле и в одном модуле действенней?
Несёт только для фиттера. Он по умолчанию старается компоновать каждый модуль кучнее. Иногда вынос чего-нибудь в модуль реально помогает. Но против злого колдунства ручного мэнеджмента фиттера ни один компилятор не устоит. Но такое джитсу следует познавать дольше чем Дао.
PavelZX, это первые грабли на пути начинающего плисовода. :)))))))))))
Гугл на эту фразу натрави - Can't find design entity
По моему, в разбивке на модули - самая прелесть 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
вместо того, чтобы лепить портянку из if-elseКод: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()
);
Всем привет!
Один из популярных сайтов по железу ПК, формирует новый пакет тестов для железа, есть возможность включить в него тест на время компиляции в Quartus как максимум, если найдет отклик или как часть статьи.
Если вам это интересно, ждем предложения по версии quartus, модельке fpga и конечно проект, который будет использован как бэнч.
Не хотите попробовать реверснутые процессоры 1801?
Квартусы 12.1SP1 (хороший вариант для младших микросхем, наиболее быстрый) и 18.0 для более свежих чипов. Время сборки проектов - порядка минуты на 4770.
Quartus 13 для младших, хотя и пятую серию то жи собирает. Проект надо не такой быстрый. Ну не на 2 часа конечно, но минут 5 на не самом слабом проце тестовый проект думаю надо. А в многопоточность вроде только регеНные версии могут :)
Ну и так, к слову, райзены чет помедленнее интулов в квартусе. Говорят. Вот надо побольше тестов. Где райзены однозначно хуже, я и так знаю. Но тут тоже интересно.
упд-
ну взять проект от Sorgelig-a. Пусть даже тот же проект ZX.
Чем хорошо - у него есть один и тот же проект и под Q13 и под Q18. И под 5-е поколение, не самое старое.
(если они и игры новые будут включать в новый пакет - я бы одну порекомендовал, но АМД-шники заплюют за однозначные результаты не в их пользу. )
Почему нет?
Лично я не вижу особого смысла в старых версиях это всеж бенч и многопоток решает. Можно и 2 версии, 13 или 17-18.
можно ссылку?
Предложите, почему нет, по последним тестам на 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 официально не вышли. а на том, что есть - любые АМД, даже топовые , сливают безоговорочно даже пред-предыдущим поколениям Интел. Тесты - не тесты (с). Замнем без офтопика. ну или в личку.
Ладно, все равно немного офф-а.
Про страдания Интел.
https://s.micp.ru/5Ihl8.jpg
пару примечаний. Это Игра. Не Старкрафт-2, но тоже процессорнозависимая. Бенч из нее. Не все в синтетику играют лишь.
i5-6400 - это всего лишь 4х ядренник, пятилетней давности.
Если добавят результаты по новым ам-дешкам - могу и обновить таблиЦЦу.
А пока все. Расходимся.[свернуть]
Так что бы темы не плодить , AMD купил Xilinx
Intel продал часть бизнеса по производству памяти
Nvidia собирается курить ARM
Объясните на пальцах, как для ААА, разницу между битовой логикой и булевой
Пример на Verilog:
равно ли в данном случае b=с ??Код:wire a = 1'b0;
assign b = !(~a);
assign c = a;
Или такой фокус только с однобитными сигналами прокатывает, а с многобитными - нет?
Ну и глобально, когда надо использовать "!" а когда "~" ?? Всемда(иногда?) путаюсь:v2_conf2:
В верилоге разница между ! и ~ следующая:
! - логическое отрицание
~ - бинарное (побитное) инвертирование
Таким образом, ! не всегда равен ~.
ZRCC:
И ведь компИлится, ворнинги есть, а ошибок нет!Цитата:
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 ячейки.
Ну, я вижу пацаны сами справились, молодцы! Уважаю.
Всем привет. Кто-нибудь встречал реализацию процессора W65C816 на FPGA? На сайте WDC упоминается о такой модели (http://westerndesigncenter.com/wdc/w65c816s-core.cfm):
Но найти такую модель мне до сих пор не удалось. Буду благодарен за неё или за информацию о её местонахождении. Советы "посмотреть там, посмотреть сям, на opencores и т.п., возможно, там есть" просьба оставлять при себе.Код: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
Вопрос такой (на Вики почему-то вообще нет статьи про Quartus II, да и по Quartus Prime только общие слова): какая последняя версия Quartus работает с XP preSP4 и какая версия первая содержит Quartus Programmer отдельным инсталятором? И дополнительно: нет ли независимого софта которым можно запрограммировать Cyclone II под XP через встроенный Altera programming unit (USB port)?
Смутило это, но видимо это ошибка перевода. Но, по-любому она не запускается под ХР, чего-то не находит в dll.Цитата:
JTAG Tools должны работать на все Unix-like операционных системах, включая MS Windows, на которой установлен пакет Cygwin. Прекомпилированная версия, которая работает на MS Windows без Cygwin, доступна как exe-установщик Windows (urjtag-0.10.exe, который можно скачать на Sourceforge).
Да нет, читать мануалы надо и смотреть на что прога ругается, а не на бегу устанавливать. В общем, подкинул я ей usblib0.dll - прога запустилась но, как я уже писал это не мой уровень. Буду освобождать место на диске для Quartus II 9.0, раз больше GUI'вых вариантов нет, там уже немножко осталось.