
Сообщение от
JV-Soft
может reset от YM2612 заведешь на какой то порт ,это будет полезно
К сожалению сигнал RESET для YM2612 глобальный, он не с ПЛИС идет. Надо разбираться с программой инициализацией. Хардварно помоему дергать не есть правило хорошего тона 
Кстати вот код прошивки ПЛИС, пока только работа с памятью, порты будем дальше добавлять.
Код:
TITLE "ZXM-SegaBlaster System Logic";
FUNCTION 2mux1 (a, b, sel) RETURNS (y);
SUBDESIGN DD2
(
-- Тактовые частоты для SN76489 и YM2612
3_58CLK : INPUT;
7_68CLK : INPUT;
-- Сигналы управления с CPU
CA[15..0] : INPUT; -- адреса
C_WR : INPUT;
C_RD : INPUT;
C_MREQ : INPUT;
C_IORQ : INPUT;
C_M1 : INPUT;
AD[7..0] : INPUT; -- шина данных
-- Общие сигналы
C_RESET : INPUT;
C_DOS : INPUT;
C_IODOS : INPUT; -- сигнал доступа к портам контроллера FDD
C_PEVO : INPUT; -- входы режимов работы карты
C_EBUF : OUTPUT; -- управление 74HCT245
C_INTG : OUTPUT; -- сигнал прерывания
C_IORQG : OUTPUT; -- сигнал занятости
-- Сигналы SN76489
DCSG_RDY : INPUT; -- готовность SN76489
DCSG_CS : OUTPUT; -- выбор SN76489
DCSG_WR : OUTPUT; -- запись в SN76489
DCSG_CLK : OUTPUT; -- тактовая частота SN76489
DCSG_DATA[7..0] : OUTPUT; -- данные для SN76489
-- Сигналы YM2612
YM_IRQ : INPUT; -- запрос прерываний от YM2612
YM_A0 : OUTPUT; -- выбор адреса YM2612
YM_A1 : OUTPUT; -- выбор адреса YM2612
YM_CS : OUTPUT; -- выбор YM2612
YM_RD : OUTPUT; -- чтение из YM2612
YM_WR : OUTPUT; -- запись в YM2612
YM_CLK : OUTPUT; -- тактовая частота YM2612
)
VARIABLE
CS_MEM : LCELL;
-- Сигналы YM2612
CS_YM_MEM : LCELL;
-- Сигналы SN76489
CS_DCSG_MEM : LCELL;
REG_DCSG[7..0] : DFF;
BEGIN
-- Формирователь сигнала выбора микросхем через память 400Xh
CS_MEM = !(CA[15..3] == B"0100000000000");
---------------------------- YM2612 ---------------------------------
-- Формирователь сигнала выбора микросхемы через память 4000h...4003h
CS_YM_MEM = CS_MEM # CA[2] # C_MREQ;
-- Формирователь сигнала выбора микросхемы
YM_CS = CS_YM_MEM;
-- Формирователь выбора адресов микросхемы
YM_A0 = CA[0];
YM_A1 = CA[1];
-- Формирователь выбора сигнала записи микросхемы
YM_WR = C_WR;
-- Формирователь выбора сигнала чтения микросхемы (только через порты)
YM_RD = VCC;
-- Формирователь сигнала таковой частоты
YM_CLK = 7_68CLK;
---------------------------- SN76489 ---------------------------------
-- Формирователь сигнала выбора микросхемы через память 4004h
CS_DCSG_MEM = CS_MEM # !(CA[2..0] == B"100") # C_MREQ;
-- Формирователь сигнала выбора микросхемы
DCSG_CS = (CS_DCSG_MEM # C_WR) & DCSG_RDY;
-- Формирователь выбора сигнала записи микросхемы
DCSG_WR = DCSG_RDY;
-- Формирователь сигнала записи в виртуальный регистр данных
REG_DCSG[].clk = CS_DCSG_MEM # C_WR;
REG_DCSG[].d = AD[];
-- Передача данных из виртуального регистра данных в микросхему
DCSG_DATA[] = REG_DCSG[].q;
-- Формирователь сигнала таковой частоты
DCSG_CLK = 3_58CLK;
-- Формирователь сигнала занятости шины только через порты
C_IORQG = VCC;
-- Формирователь сигнала прерывания только через порты
C_INTG = VCC;
-- Формирователь сигнала управления буфером 74HCT245 только через порты
C_EBUF = VCC;
END;