Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   ПЛИС и всё что с ними связано (http://zx-pk.ru/showthread.php?t=9342)

aniSKY 12th January 2011 11:05

тож закралась такая мысля, да вот ЮСБ-ЛоПаТы нету на попробывать. Да и скорее всего что большинство таких переходников не прокатит, везде пишут, что там битбанга нету, но попытаться стоит! :)

ZEK 12th January 2011 11:55

Quote:

Originally Posted by aniSKY (Post 348782)
везде пишут, что там битбанга нету, но попытаться стоит!

там даже lpt нету, это хитрый cdc для принтеров, там ток пакетная передача

---------- Post added at 09:33 ---------- Previous post was at 09:31 ----------

Quote:

Originally Posted by zst (Post 348764)
то наверно сможет через драйвера работать и с USB-LPT (на FT245RL или аналогичной) + ByteBlaster MV ?

если он после каждой записи что то прочитать хочет, это будет как минимум на порядок медленней чем LPT, USB бластер это фактически fifo на 64 байта, и CPLD которая исполняет команды из этого буфера, поэтому скорость вменяемая.

---------- Post added at 09:55 ---------- Previous post was at 09:33 ----------

вот прикольный проект
http://urjtag.sourceforge.net/
но не работает под Win64

fifan 12th January 2011 19:13

Quote:

Originally Posted by aniSKY (Post 348775)
Буду очень признателен за эти дрова

Держите. Кинул себе на сайт - http://www.spetsialist-mx.ru/for_out/NetMos98XX.rar (6,52 МБайта).

aniSKY 12th January 2011 22:49

...эх не до поняли друг друга. я думал про дрова ББластера под Вынь7 64-битные, 32-битные знаю что есть (от Висты подходят), думал и под 64-бита появились.

fifan 13th January 2011 17:42

Хи. Понятно. :v2_conf2:

aniSKY 16th January 2011 18:38

Quote:

Originally Posted by axel_sunrise (Post 326251)
Нашёл простую схему программатора USB ALTERA

Собрал - определился как Altera USBBlaster:D!!! Пока еще ничего не прошивал но мой Циклон1 определился. Подскажите что эт за сигналы nCS и nCE ?? куда их паять?

fifan 16th January 2011 20:20

Quote:

Originally Posted by aniSKY (Post 350305)
Подскажите что эт за сигналы nCS и nCE ?? куда их паять?

Оно тебе надо? Вот ещё одна схема, хочу её повторить.

ZEK 16th January 2011 20:56

Quote:

Originally Posted by fifan (Post 350374)
Подскажите что эт за сигналы nCS и nCE ?? куда их паять?

это для других режимов программирования (не JTAG), в альтеровской доке по байтбластеру нарисовано куда они по стандарту должны быть выведены

Sentenced 16th January 2011 21:34

Здравствуйте, други !
Не могу в Квартусе найти 74245 - я окончательно ослеп ? :v2_dizzy_wall:

Ewgeny7 16th January 2011 21:55

Quote:

Originally Posted by Sentenced (Post 350398)
Не могу в Квартусе найти 74245 - я окончательно ослеп ?

Её там нет. Я делал ее из "рассыпухи" на лог. элементах.

Sentenced 16th January 2011 22:10

Спасибо, Евгений, утешили :) Пойду курить, как она там устроена.

---------- Post added at 21:10 ---------- Previous post was at 20:57 ----------

Нашёл вот такую VHDL конструкцию

library IEEE;
use IEEE.Std_logic_1164.all;

entity HCT245 is
port(A, B : inout std_logic_vector(7 downto 0);
DIR, GBAR : in std_logic);
end HCT245;

architecture VER1 of HCT245 is
begin
A <= B when (GBAR = '0') and (DIR = '0') else (others => 'Z');
B <= A when (GBAR = '0') and (DIR = '1') else (others => 'Z');
end VER1;

оно вроде ?

Ewgeny7 17th January 2011 00:24

Можно и так. Смотря в чем свой проект ваяете. Если на схематике - то проще будет слепить 245 из TRI, если в VHDL, то нафиг нужно буквально каждый элемент описывать :)
Дело хозяйское.

Sandro 21st January 2011 06:19

Quote:

Originally Posted by Sentenced (Post 350404)
Нашёл вот такую VHDL конструкцию

Хочу предупредить, что внутри FPGA проводов с третьим состоянием нет. Они там эмулируются через объединение всех драйверов по "или" (а ходят слухи, что в зависимости от оптимизатора, бывает и по "и").
Так что могут быть неожиданные эффекты.

Там точно нужна забуференная шина с третьим состоянием? Зачем? :confused:

Sentenced 21st January 2011 21:28

Я подозревал, что не всё так гладко с этим элементом, не зря-же он отсутствует в списке. Забуференая шина с третьим состоянием, согласно моим представлениям о работе устройства - нужна. Это элемент будет смотреть "наружу" одной своей стороной. Пока что всё ещё взвешиваю, так-ли он там необходим, может, больше смысла - вынести его наружу.
А по сути дела - если подскажете, чем её заменить тут - http://sblive.narod.ru/ZX-Spectrum/N...oIDEforLUT.htm , буду весьма благодарен.

ZEK 21st January 2011 21:57

Quote:

Originally Posted by Sentenced (Post 352412)
А по сути дела - если подскажете, чем её заменить тут - http://sblive.narod.ru/ZX-Spectrum/N...oIDEforLUT.htm , буду весьма благодарен.

если по простому, переделай схему что бы использовались только односторонние буфера

Sandro 27th January 2011 10:37

Quote:

Originally Posted by Sentenced (Post 352412)
Забуференая шина с третьим состоянием, согласно моим представлениям о работе устройства - нужна. Это элемент будет смотреть "наружу" одной своей стороной. Пока что всё ещё взвешиваю, так-ли он там необходим, может, больше смысла - вынести его наружу.

Наружу не нужно, выходы у FPGA сами имеют буфер с третьим состоянием. Обычно делают так: внутри схемы держат три отдельных сигнала для входа (_i), выхода (_o) и управления выходом (_d, от drive), а к выводу FPGA подключают так:

Code:

data_i <= pad_data;
pad_data <= data_o when data_d = '1' else 'Z';

При этом pad_data -- это может быть порт верхнего уровня проекта.


Quote:

Originally Posted by Sentenced (Post 352412)
А по сути дела - если подскажете, чем её заменить тут - http://sblive.narod.ru/ZX-Spectrum/N...oIDEforLUT.htm , буду весьма благодарен.

Можно на "ты" :)
Посмотрел. Нда, забавная схема, одна половина синхронная, а другая -- нет :v2_dizzy_roll: Если хочется в точности сохранить поведение оригинала, то лично я бы сделал так: логику 245 расщепить на прямой и обратный буфера, обратный (B->A) заменить на мультиплексор с выходом HD5 и разрешением выхода. Коряво, конечно, а что делать :(

То есть, как-то так (кусок с буферами):

Code:

-- HD4

process (WRH)
begin
        if rising_edge(WRH) then
                D_HD3_O <= D; -- спековская шина D
        end if;
end process;

        HD(15 downto 8) <= D_HD3_O when IOW_BAR = '0' else "ZZZZZZZZ";

-- HD5 без выходных буферов
process (IOR)
begin
        if rising_edge(IOR) then
                D_HD5_O <= D;
        end if;
end process;

-- HD3 A->B
        HD(7 downto 0) <= D when IOR = '0' and G = '0' else "ZZZZZZZZ";

-- HD3 B->A и выходные буфера HD5
        D <= HD(7 downto 0) when IOR = '1' and G = '0' else -- HD3
                D_HD3_O when RDH = '0' else "ZZZZZZZZ"; -- HD5

(не проверял)

Но лучше восстановить логику работы и переписать начисто. Наверняка там такая мешанина из синхронных и асинхронных буферов не нужна.

---------- Post added at 09:37 ---------- Previous post was at 09:27 ----------

Забыл сказать, то, что я написал выше -- это в предположении, что FPGA реализует только Nemo IDE. То есть шина D -- это выводы FPGA. Если эта шина торчит внутрь, то лучше всё же делать раздельные D_I и D_O, чтобы избавиться от третьего состояния.
И ещё: если на выводах FPGA с третьим состоянием нет подтяжек, то надо включить либо внутренние подтяжки, либо Bus Hold. Не любит КМОП плавающих входов.
Современные, конечно, от этого не горят, но мусор всякий в схему лезть будет, зачем это надо ...

SoftFelix 1st February 2011 11:59

Народ, а с помощью железа STK200/300 можно прошить какой-нить программой EPM3032 и аналогичные? Просто STK200/300 уже собран и делать почти аналогичный Altera ByteBlaster не очень хочется.

fifan 1st February 2011 12:06

А что такое STK200/300? Просто выводы DB-25? Судя по этой ссылке - да. Тогда прийдется все равно собирать ByteBlaster.

SoftFelix 1st February 2011 12:14

Quote:

Originally Posted by fifan (Post 355077)
А что такое STK200/300? Просто выводы DB-25?

Quote:

Схема переходника программирования "STK200/300"

Адаптер получил свое название от комплектующихся им отладочных плат фирмы Atmel для быстрого начала работы с микроконтроллерами At90s8515 и Atmega103 соответственно. На самом деле приведенная схема соответствует одновременно обеим адаптерам, в ней присутствуют перемычки для определения наличия как адаптера STK200 (выводы 2-12 разъема X1), так и STK300 (выводы 3-11) Как правило этот адаптер используют те, у кого есть в наличии одна из плат фирмы Atmel либо кто уже пользовался программой AVR ISP. При необходимости программной генерации тактового сигнала XTAL1 (ключ -o0) используется линия LED адаптера STK, исходно предназначенная для включения светодиода на отладочной плате.
http://real.kiev.ua/old/avreal/img/stkx00.png

Quote:

Разводка колодки X2 на приведенной схеме соответствует принятой фирмой Atmel для производимых ею плат, однако никто не мешает использовать и разводку, соответствующую Altera Byte Blaster.
Quote:

Originally Posted by fifan (Post 355077)
Судя по этой ссылке - да.

В смысле "да", AVReAl'ом с помощью STK200/300 можно прошить EPM?

Ewgeny7 1st February 2011 13:00

Конечно нет. Программатор Квартусовый не понимает STK.
А АВРеал к ПЛИС вообще никаким боком.

---------- Post added at 12:00 ---------- Previous post was at 11:56 ----------

Вот покури, а лучше переделай свой проггер под это:
http://www.zxkit.ru/katalog-1/zxkit-003-1

SoftFelix 1st February 2011 13:00

Ewgeny7, т.е. проще собрать ABB?

Ewgeny7 1st February 2011 13:28

Quote:

Originally Posted by SoftFelix (Post 355102)
Ewgeny7, т.е. проще собрать ABB?

Просто переделать, там же разница собственно только в распиновке разъема 25дин.

SoftFelix 1st February 2011 13:58

Ewgeny7, всё понял, буду копать в этом направлении.

WingLion 1st February 2011 21:43

Может, кому будет интересно: http://winglion.ru/ahdl/ahdl.htm

Ewgeny7 1st February 2011 22:44

Quote:

Originally Posted by WingLion (Post 355315)
Может, кому будет интересно

Очень даже будет.

Geban 14th February 2011 10:22

Здравствуйте.
Объясните пожалуйста как формируется видео сигнал в спектруме. Долго и нудно читал мануал от alost'a, но что-то не доходит.

Спасибо. С уважением, Евгений.

fifan 14th February 2011 12:27

Пользуйся поиском. Ты попал не в тему. Здесь не Спектрумы обсуждают, а плисины - см. название темы.

Geban 14th February 2011 12:56

В данный момент пытаюсь состряпать минимальный клон спека на SPARTAN3AN
девборд от стартеркит, на борту собственно ПЛИС, 512к памяти и 50Мгц осцилятор.
Задача минимум - получить на экране "матрас".

Ewgeny7 14th February 2011 13:05

Кто-нить знает, как в VHDL преобразовать типы bit_vector и std_logic_vector между собой??? Варианты типа A <= bit_vector(B) и A <= std_logic(B) не работают. Библиотеку numeric_bit и numeric_all уже привинчивал, бесполезно...

---------- Post added at 12:03 ---------- Previous post was at 12:01 ----------

Quote:

Originally Posted by Geban (Post 358915)
Объясните пожалуйста как формируется видео сигнал в спектруме.

На пальцах объяснять долго. Лучше покури готовый проект - http://www.zx.pk.ru/showpost.php?p=330807&postcount=383

---------- Post added at 12:05 ---------- Previous post was at 12:03 ----------

Quote:

Originally Posted by Geban (Post 358915)
Долго и нудно читал мануал от alost'a, но что-то не доходит

А вот это напрасно вы, батенька :) Я учился по этим мануалам, там достаточно понятно расписано.

Geban 14th February 2011 13:16

Quote:

А вот это напрасно вы, батенька :) Я учился по этим мануалам, там достаточно понятно расписано.
спасибо, посмотрю проект.
Я не в том смысле что не доходит совсем :) я о том как его продолжить что бы изобразить видео выход. В идеале мне нужно 2 синхры(это есть) и пиксельные данные(пиксель 0 или 1) для формирования ЧБ изображения на мониторе.

Ewgeny7 14th February 2011 13:22

Quote:

Originally Posted by Geban (Post 358956)
В идеале мне нужно 2 синхры(это есть) и пиксельные данные(пиксель 0 или 1) для формирования ЧБ изображения на мониторе.

Собственно да.
Видеосигнал формируется от 0 до 255, далее бордюр, затем гашение, затем синхра, затем гашение, затем бордюр. Это я описал одну строчку. Для отображения на ВГА эта строчка выодится два раза (с удвоенной скоростью, разумеется), только потом переходим ко второй.
По вертикали изображение строится аналогично, только поле пикселов там будет 0..191 (а не 0..255).
Параметры счетчиков можешь подглядеть в проектах.

Geban 14th February 2011 13:39

С синхрой более или менее понятно. основная непонятка это логическое формирование изображения.. т.е не могу представить немного как формируется сигнал пикселя. понятно что читается из видеопамяти(области памяти отведенной под видео) но как :) Извините..туплю сильно,но это временно :) Т.е что куда подключать и откуда брать сигнал :)

Ewgeny7 14th February 2011 13:57

Quote:

Originally Posted by Geban (Post 358965)
понятно что читается из видеопамяти(области памяти отведенной под видео) но как

Раз в восемь пикселей на ША выставляется адрес и считываются данные в регистр. Далее с каждым тактом/пикселом данные в регистре сдвигаются reg(7..0)<=reg(6..0) & reg(7). Видеосигнал снимаем с 7-го разряда регистра (если считать от нуля).

Geban 14th February 2011 14:15

О! Большое спасибо! ЩАс попробую прикрутить к проекту )

Geban 14th February 2011 16:28

А кто знает как организовать ПЗУ(ROM) на VHDL. Так что бы при компиляции проекта начинку ПЗУ(прошивку) цепляло из файла?

ZEK 14th February 2011 16:31

MegaCore Wizard или как то там, пошагово в мастере клоцаешь выбираеш что надо

Geban 14th February 2011 16:49

2ZEK:
Это справедливо для Квартуса. У меня же Xilinx ISE. Там есть конечно IP Core Generator. Щас гляну может быть действительно поможет. спасибо за наводку :)

Geban 14th February 2011 18:55

Получился матрас. За основу взял проект из сети,добавил софт ядро Z80 и ура.. матрас. Теперь проблема как подцепить ПЗУ.. в ПЛИС скорее всего уже не поместится,а микросхему нечем программировать...

WingLion 14th February 2011 19:56

http://www.msyst.ru/ISE_bramgen.pdf - вот тут рассказано, как делать память с инициализацией из файла в ISE.
ПЗУ - это та же память, только с блокированной записью.

fifan 14th February 2011 20:26

WingLion, где ты раньше был. Методом тыка я пытался что-то настроить. Помню там где-то есть видео генератор, хорошо бы на него описание найти.


All times are GMT +4. The time now is 06:42.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.