![]() |
Quote:
|
USERHOME
http://nedopc.com/zxevo/zxevo.php |
2 Attachment(s)
Как отучить квактус за меня лишние связи делать?
Вот, например код RTL рисует мне лишнюю линию. (она красным выделена и разрезана) Как мне избавиться от этого соединения не меняя код? PS Рисую то же самое, только схемно, он в RTLe прорисовывает как на схеме... То есть без лишней связи. Преобразую схему в VHDL, потом этот VHDL компилирую, и, оппа - опять лишняя линия...:mad: |
вообще нездорово писать что бы юзалиль pre и clr где нить кроме как начальная иницилизация, очень плохая практика для fpga/cpld, из за гонок сигналов можно очень веселые глюки ловить.
а красная перечеркнутая цепь отражает Code:
if dos_on = '0' then |
А как же это?
Quote:
|
Quote:
---------- Post added at 22:03 ---------- Previous post was at 21:50 ---------- Например: Code:
res_dos <= '1' when ( m1 = 0, mreq = 0, (a14 or a15) = 1 ) else '0'; |
Вопрос к знатокам. Почему для симуляции процессора z80 всегда используется T80 (VHDL, 35MHz) и его разновидности и нет никакого упоминания про использование других OpenCore процессоров, таких как: nextz80 (Verilog, 40 MHZ), tv80 (Verilog), Wishbone High Performance Z80 (Verilog, 90 MHZ), z80control (VHDL)?
|
Наверное потому, что большинство начинают свои проекты смотря на других и T80 был, наверное, первым общедоступным полноценным Z80. Кому охота, не имея особой уверенности в собственных силах, испытывать еще какой-то непроверенный код? К тому же то, что T80 работает максимально приближенно к оригиналу, для большинства проектов важнее той максимальной тактовой частоты, которую он способен выдержать.
Сделайте проект на каком-нибудь другом. У T80 немного достоинств. Толстый, в коде черт ногу сломит. Из-за его универсальности часто невозможно понять что там вообще относится к делу, а что нет. Точно совершенно можно сделать лучше. |
Т80 вылизан по самое не горюй. В нем уже все команды работают корректно.
Что там творится в прочих реализациях на Верилоге - точно не известно. |
Вся Амига 1200 со всеми потрохами в одном чипе уже есть http://opencores.org/project,aoocs , а ведь это более сложная система, чем спек...
|
Вообще-то - это А1000 - самая первая амига с OCS чипсетом. до А1200 этому проекту весьма далековато...
|
Спасибо. А звуковая часть у A1000 и A1200 одинаковая? Я к тому, чтобы ее оттуда выдернуть и использовать со спеком?
|
krotan, проще спек припаять сбоку к амиге - получится как раз Sega Megadrive.
|
Народ как реализовать выборку сигнала DOS для того чтобы в окно TR DOS залезть. У меня он пролетает. Если на дискретах можно было кондерчиком подзадержать, а тут как. Сегодня полдня голову ломал, решил пока отдохнуть. Я делаю прошлогодний проект - второго феникса. Там применены CPLDшки EPM7032. Пишется на языке подобном AHDL. Вобщем поскажите неразумному.
|
в каком смысле пролетает?
ты должен дос устанавливать по логике ROMS = 1 A[15:8]=3D M1=0 MREQ=0 сброс A[15:14] != 0 M1=0 MREQ=0 а задержки сигналов делают сдвиговым регистром |
Quote:
|
А синхронизирован сигнал DOS с клоком CPU?
|
Quote:
|
Вот фрагмент относительно DOS от старой реализации Скорпа:
Code:
process(clock,res_n,dos_win,ramm1,nmi_n) |
Quote:
|
Нужно сигнал /DOS завести на вход D триггера, на вход C триггера подать CLK Z80 или 14 МГц, главное тут учесть что если Z80 работает по заднему фронту CLK то /DOS нужно защелкивать по переднему.
|
Quote:
|
Quote:
A45 - это A[15,14] Code:
%============== Формирователь сигнала выбора кода инструкции из памяти ================% |
Как-то так...
Code:
DOSRG = !DOS_REG.q; |
Quote:
|
Quote:
На CLK - частоту проца, на S и R логику включения и выключения. |
Quote:
Code:
|
Quote:
|
Quote:
---------- Post added at 20:38 ---------- Previous post was at 20:36 ---------- Quote:
Code:
%============== Формирователь сигнала выбора кода инструкции из памяти ================% |
А такое никто не пробовал? LabVIEW_FPGA
|
Кстати еще один глючок нашел при отладки фени. Прерывания временами шли с удвоенной частотой. Я и так и сяк думал как же так, когда по формуле чито должен идти с нормальной частотой. Полез в файл отчета при компиляции. А там это чудо программной мысли(MAX PLUS II) сгенерил мне примитивы EXP, а в литературе пишут, что это глючные примитивы. Вот формулы запихал в примитив LCELL. Вуаля прерывания стали идти с нормальной частотой. Так что при компиляции заглядывайте в файл отчета что там он наделал.
|
Опять я с тупым вопросом. Пытаюсь читать из AY, а он судя по осцилу пытается писать, линии BDIR и BC1 активны.
Вод код, может я ошибся - в упор смотрю и не вижу. Code:
%============== Формирователь сигнала разрешения доступа к портам AY ============% |
Дело не в bc1 и bdir
Надо ещё вывести данные на шину DATi <=(Dat AY) when (a_bus(15 downto 0) = X"FFFD" and cpu_iorq_n='0' and cpu_m1_n = '1' ) else "11111111" |
Quote:
|
Quote:
Я пример привёл... Его надо вставить в процесс, где у тебя выставляются данные с чего либо. ---------- Post added at 19:31 ---------- Previous post was at 19:26 ---------- Запиши - DATi <=(Dat AY) when (a_bus(15 downto 8) = X"FF" and CSFD = '1' ) else ........ Только не говори, что csfd у тебя активно = '0'. Сам исправишь, это опять пример. |
Quote:
|
Quote:
AY их выдаёт, но надо провести их на шд процессора. ---------- Post added at 19:43 ---------- Previous post was at 19:42 ---------- Забеги ко мне в аську |
Quote:
|
Quote:
Тогда пусть попробуй как в реверсе bc1 <= '1' when (nM1 = '1' and nIORQ = '0' and A(15 downto 14) = "11" and A(1 downto 0) = "01") else '0'; bdir <= '1' when (nM1 = '1' and nIORQ = '0' and nWR = '0' and A(15) = '1' and A(1 downto 0) = "01") else '0'; И без CSFD, а там посмотрим. |
Quote:
Я чисто промоделировал дешифратор то что у меня на схеме обработчик порта xxFD. Для полной ясности вот весь код. Code:
%============ Формирователь сигнала разрешения доступа к портам ввода-вывода =========%Естетсвенно он ничего не делает в этом случае и считывает FF с шины. У меня не проблема довести данные до шины данных ЦП. Проблема в возникновении активного BDIR при чтении. |
| All times are GMT +4. The time now is 06:42. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.