Переход на относительные URL подмодулей
@ -1 +1 @@
|
|||||||
Subproject commit 2fec6202f716cfa3ed48fb9bfd79d1081cc2721b
|
Subproject commit 591d3212c9341f17d6dd034bf2b8da91bd2f6107
|
||||||
@ -16,7 +16,7 @@
|
|||||||
;---------------------------------------;
|
;---------------------------------------;
|
||||||
|
|
||||||
;-----------[Shared Includes]-----------
|
;-----------[Shared Includes]-----------
|
||||||
INCLUDE 'src/bios/shared/includes.inc' ; Includes
|
INCLUDE 'bios/shared/includes.inc' ; Includes
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
|
|
||||||
|
|
||||||
@ -41,16 +41,14 @@
|
|||||||
print ()
|
print ()
|
||||||
|
|
||||||
if detected_os == "Windows" then
|
if detected_os == "Windows" then
|
||||||
pack_prog = "src\\bin\\hrust.exe Build\\Bin\\temp\\MAIN.PAK Build\\Bin\\temp\\MAIN.BIN"
|
pack_prog = "bin\\hrust.exe Build\\Bin\\temp\\MAIN.PAK Build\\Bin\\temp\\MAIN.BIN"
|
||||||
elseif detected_os == "MacOS" then
|
else
|
||||||
pack_prog = "src/bin/mhmt -hst -zxh Build/Bin/temp/MAIN.BIN Build/Bin/temp/MAIN.PAK"
|
pack_prog = "bin/mhmt -hst -zxh Build/Bin/temp/MAIN.BIN Build/Bin/temp/MAIN.PAK"
|
||||||
elseif detected_os == "Linux" then
|
|
||||||
pack_prog = "src/bin/mhmt -hst -zxh Build/Bin/temp/MAIN.BIN Build/Bin/temp/MAIN.PAK"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
-- ª®¬¯¨«ïæ¨ï ¤«ï ¯®«ã票ï ᦠ⮣® ä ©« MAIN ¨ 宫®á⮩ ¯à®å®¤ Set_Pictures.asm
|
-- ª®¬¯¨«ïæ¨ï ¤«ï ¯®«ã票ï ᦠ⮣® ä ©« MAIN ¨ 宫®á⮩ ¯à®å®¤ Set_Pictures.asm
|
||||||
if (os.execute("sjasmplus -DPREBUILD=1 -Wall --msg=war --nologo --syntax=w --fullpath --lst=Build/Prebuilds.LST SRC/BIOS/ROM/SETUP/MAIN.ASM")) then
|
if (os.execute("sjasmplus -DPREBUILD=1 -Wall --msg=war --nologo --syntax=w --fullpath --lst=Build/Prebuilds.LST BIOS/ROM/SETUP/MAIN.ASM")) then
|
||||||
print("--[ MAIN.ASM Prebuild DONE ]--")
|
print("--[ MAIN.ASM Prebuild DONE ]--")
|
||||||
if (os.execute(pack_prog)) then
|
if (os.execute(pack_prog)) then
|
||||||
print("--[ Hrusting MAIN.BIN DONE ]--")
|
print("--[ Hrusting MAIN.BIN DONE ]--")
|
||||||
@ -71,7 +69,7 @@
|
|||||||
;----------[MAIN's referenses]----------; Š®¬¯¨«ïæ¨ï ¤«ï ¯®«ãç¥¨ï ¤à¥á®¢ ¬¥â®ª ¨ ¯à®æ¥¤ãà
|
;----------[MAIN's referenses]----------; Š®¬¯¨«ïæ¨ï ¤«ï ¯®«ãç¥¨ï ¤à¥á®¢ ¬¥â®ª ¨ ¯à®æ¥¤ãà
|
||||||
MMU 2 e, 18 ; áâà ¨æ 18 ¢ ¡ ªã 2 ¨ ¯à®¢¥àª £à ¨æë.
|
MMU 2 e, 18 ; áâà ¨æ 18 ¢ ¡ ªã 2 ¨ ¯à®¢¥àª £à ¨æë.
|
||||||
ORG COMPILE_ADDR.MAIN
|
ORG COMPILE_ADDR.MAIN
|
||||||
INCLUDE 'src/bios/ROM/SETUP/MAIN.asm'
|
INCLUDE 'bios/ROM/SETUP/MAIN.asm'
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@ -83,7 +81,7 @@
|
|||||||
DEFINE+ IsInBIOS 1
|
DEFINE+ IsInBIOS 1
|
||||||
OUTPUT 'Build/Bin/EXP.BIN'
|
OUTPUT 'Build/Bin/EXP.BIN'
|
||||||
ShowInfo 'EXP block Start', 0 ; !!!!! test
|
ShowInfo 'EXP block Start', 0 ; !!!!! test
|
||||||
INCLUDE 'src/bios/EXP/EXP.asm'
|
INCLUDE 'bios/EXP/EXP.asm'
|
||||||
ShowInfo 'EXP block End', 0 ; !!!!! test
|
ShowInfo 'EXP block End', 0 ; !!!!! test
|
||||||
OUTEND
|
OUTEND
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
@ -97,7 +95,7 @@
|
|||||||
DEFINE+ IsInBIOS 0
|
DEFINE+ IsInBIOS 0
|
||||||
OUTPUT 'Build/Bin/ROM.BIN'
|
OUTPUT 'Build/Bin/ROM.BIN'
|
||||||
ShowInfo 'ROM block Start', 0 ; !!!!! test
|
ShowInfo 'ROM block Start', 0 ; !!!!! test
|
||||||
INCLUDE 'src/bios/ROM/ROM.asm'
|
INCLUDE 'bios/ROM/ROM.asm'
|
||||||
ShowInfo 'ROM block End', 0 ; !!!!! test
|
ShowInfo 'ROM block End', 0 ; !!!!! test
|
||||||
OUTEND
|
OUTEND
|
||||||
UNDEFINE IsInBIOS
|
UNDEFINE IsInBIOS
|
||||||
@ -135,7 +133,7 @@
|
|||||||
MMU 1 e, 1 ; áâà ¨æ 1 ¢ ¡ ªã 1 ¨ ¯à®¢¥àª £à ¨æë.
|
MMU 1 e, 1 ; áâà ¨æ 1 ¢ ¡ ªã 1 ¨ ¯à®¢¥àª £à ¨æë.
|
||||||
ORG ROM_MAP.LOGO
|
ORG ROM_MAP.LOGO
|
||||||
OUTPUT 'Build/Bin/LOGO.BIN'
|
OUTPUT 'Build/Bin/LOGO.BIN'
|
||||||
INCLUDE 'src/bios/logo/Set_Pictures.asm'
|
INCLUDE 'bios/logo/Set_Pictures.asm'
|
||||||
OUTEND
|
OUTEND
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
;
|
;
|
||||||
@ -2,7 +2,7 @@
|
|||||||
;------------[LUA functions]------------;
|
;------------[LUA functions]------------;
|
||||||
includelua 'Shared_Includes/LUA/Functions.lua'
|
includelua 'Shared_Includes/LUA/Functions.lua'
|
||||||
;---------------------------------------;
|
;---------------------------------------;
|
||||||
DEFINE PICTURE_FILE './src/bios/logo/psfathers.bmp'
|
DEFINE PICTURE_FILE './bios/logo/psfathers.bmp'
|
||||||
|
|
||||||
|
|
||||||
LUA PASS1
|
LUA PASS1
|
||||||
@ -20,8 +20,8 @@
|
|||||||
*/
|
*/
|
||||||
INCLUDE 'shared/defines.inc'
|
INCLUDE 'shared/defines.inc'
|
||||||
|
|
||||||
DEFINE IMG_RECOVERY 'src/bios/shared/recovery.img'
|
DEFINE IMG_RECOVERY 'bios/shared/recovery.img'
|
||||||
;DEFINE IMG_RECOVERY 'src/bios/shared/recovery_tst.img'
|
;DEFINE IMG_RECOVERY 'bios/shared/recovery_tst.img'
|
||||||
|
|
||||||
;
|
;
|
||||||
;[--------------------------------------------------------------------------]
|
;[--------------------------------------------------------------------------]
|
||||||
@ -32,9 +32,9 @@
|
|||||||
ENDM
|
ENDM
|
||||||
;[--------------------------------------------------------------------------]
|
;[--------------------------------------------------------------------------]
|
||||||
|
|
||||||
DEFINE SP_128_BIN INCBIN 'src/ZX_ROMS/NEW/SP_128.BIN'
|
DEFINE SP_128_BIN INCBIN 'ZX_ROMS/NEW/SP_128.BIN'
|
||||||
DEFINE SP__48_BIN INCBIN 'src/ZX_ROMS/NEW/SP__48.BIN'
|
DEFINE SP__48_BIN INCBIN 'ZX_ROMS/NEW/SP__48.BIN'
|
||||||
DEFINE SP_TRDOS_BIN INCBIN 'src/ZX_ROMS/NEW/SP_TRDOS.BIN'
|
DEFINE SP_TRDOS_BIN INCBIN 'ZX_ROMS/NEW/SP_TRDOS.BIN'
|
||||||
;[--------------------------------------------------------------------------]
|
;[--------------------------------------------------------------------------]
|
||||||
MACRO ROM_BUILD bitstream
|
MACRO ROM_BUILD bitstream
|
||||||
|
|
||||||
@ -143,7 +143,7 @@
|
|||||||
|
|
||||||
.STRING: DB ACEX.RELOAD_STRING
|
.STRING: DB ACEX.RELOAD_STRING
|
||||||
|
|
||||||
.Conf_header: include 'src/bios/Loader/bitstream_header.inc'
|
.Conf_header: include 'bios/Loader/bitstream_header.inc'
|
||||||
.Conf_header.length EQU $-.Conf_header
|
.Conf_header.length EQU $-.Conf_header
|
||||||
|
|
||||||
;----------------------;
|
;----------------------;
|
||||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
@ -101,8 +101,8 @@ days_table:
|
|||||||
.November EQU 0
|
.November EQU 0
|
||||||
.December: DZ 31
|
.December: DZ 31
|
||||||
|
|
||||||
NewYear: INCLUDE './src/bios/logo/use/New_Year.inc'
|
NewYear: INCLUDE './bios/logo/use/New_Year.inc'
|
||||||
;.March8: INCLUDE './src/bios/logo/use/March_8.inc'
|
;.March8: INCLUDE './bios/logo/use/March_8.inc'
|
||||||
|
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
16
bios/logo/use/New_Year.inc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
MODULE _mNewYear
|
||||||
|
|
||||||
|
LUA PASS1
|
||||||
|
make_pic_files ("./bios/logo/use/NY_Kokoshnik", 0, 1)
|
||||||
|
make_pic_files ("./bios/logo/use/NY_mustache", 0, 1)
|
||||||
|
print()
|
||||||
|
ENDLUA
|
||||||
|
|
||||||
|
BYTE 2 ; ª®«¨ç¥á⢮ á¯à ©â®¢
|
||||||
|
EasterTable 48, 42, 13, 2, sprite1
|
||||||
|
EasterTable 37, 6, 69, 26, sprite2
|
||||||
|
sprite1: INCBIN './bios/logo/use/NY_Kokoshnik_DAT.bin'
|
||||||
|
sprite2: INCBIN './bios/logo/use/NY_mustache_DAT.bin'
|
||||||
|
|
||||||
|
ENDMODULE
|
||||||
|
;
|
||||||
@ -194,7 +194,7 @@ SETUP_MAIN:
|
|||||||
DEPACK_DATA:
|
DEPACK_DATA:
|
||||||
DISP DEPACKER.WorkAddr
|
DISP DEPACKER.WorkAddr
|
||||||
MODULE UnPacker
|
MODULE UnPacker
|
||||||
INCLUDE 'src/bios/ROM/SETUP/DEHRUST.asm' ; !TODO ᤥ« âì LUA ¢â®¢ë¡®à ¤¥ª®¬¯à¥áá®à ¨ ª®¬¯à¥áá®à
|
INCLUDE 'bios/ROM/SETUP/DEHRUST.asm' ; !TODO ᤥ« âì LUA ¢â®¢ë¡®à ¤¥ª®¬¯à¥áá®à ¨ ª®¬¯à¥áá®à
|
||||||
PackedMAIN: INCBIN 'Build/Bin/temp/MAIN.PAK'
|
PackedMAIN: INCBIN 'Build/Bin/temp/MAIN.PAK'
|
||||||
ENDMODULE
|
ENDMODULE
|
||||||
ENT
|
ENT
|
||||||
@ -205,7 +205,7 @@ DEPACK_DATA.length EQU $-DEPACK_DATA
|
|||||||
ELSE
|
ELSE
|
||||||
DISP COMPILE_ADDR.SETUP
|
DISP COMPILE_ADDR.SETUP
|
||||||
ShowInfo 'Setup block DISP start', 1 ; !!!!! test
|
ShowInfo 'Setup block DISP start', 1 ; !!!!! test
|
||||||
SETUP_MAIN: INCLUDE 'src/bios/ROM/SETUP/Main.asm'
|
SETUP_MAIN: INCLUDE 'bios/ROM/SETUP/Main.asm'
|
||||||
SETUP_MAIN.Size EQU $-SETUP_MAIN
|
SETUP_MAIN.Size EQU $-SETUP_MAIN
|
||||||
ShowInfo 'Setup block DISP end', 1 ; !!!!! test
|
ShowInfo 'Setup block DISP end', 1 ; !!!!! test
|
||||||
ENT
|
ENT
|
||||||
@ -48,7 +48,7 @@
|
|||||||
; ENCODING "DOS"
|
; ENCODING "DOS"
|
||||||
DEVICE ZXSPECTRUM4096 ; ¬®¤¥«ì á 4 ¬¥âà ¬¨ ¯ ¬ïâ¨
|
DEVICE ZXSPECTRUM4096 ; ¬®¤¥«ì á 4 ¬¥âà ¬¨ ¯ ¬ïâ¨
|
||||||
MMU 2 e, 0 ; áâà ¨æ 0 ¢ ¡ ªã 2 ¨ ¯à®¢¥àª £à ¨æë.
|
MMU 2 e, 0 ; áâà ¨æ 0 ¢ ¡ ªã 2 ¨ ¯à®¢¥àª £à ¨æë.
|
||||||
INCLUDE 'src/bios/shared/includes.inc'
|
INCLUDE 'bios/shared/includes.inc'
|
||||||
ORG COMPILE_ADDR.MAIN
|
ORG COMPILE_ADDR.MAIN
|
||||||
OUTPUT 'Build/Bin/temp/MAIN.BIN'
|
OUTPUT 'Build/Bin/temp/MAIN.BIN'
|
||||||
ENDIF
|
ENDIF
|
||||||
@ -1845,7 +1845,7 @@ init_zx_roms: DI
|
|||||||
|
|
||||||
|
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
INCLUDE 'src/bios/ROM/SETUP/messages.z80'
|
INCLUDE 'bios/ROM/SETUP/messages.z80'
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -1873,7 +1873,7 @@ STACK EQU #C000
|
|||||||
DISPLAY '-----[Set_Pictures Prebuild start]-----'
|
DISPLAY '-----[Set_Pictures Prebuild start]-----'
|
||||||
MMU 1 e, 0 ; áâà ¨æ 0 ¢ ¡ ªã 0 ¨ ¯à®¢¥àª £à ¨æë.
|
MMU 1 e, 0 ; áâà ¨æ 0 ¢ ¡ ªã 0 ¨ ¯à®¢¥àª £à ¨æë.
|
||||||
ORG ROM_MAP.LOGO
|
ORG ROM_MAP.LOGO
|
||||||
INCLUDE 'src/bios/logo/Set_Pictures.asm'
|
INCLUDE 'bios/logo/Set_Pictures.asm'
|
||||||
DISPLAY '-----[Set_Pictures Prebuild done ]-----'
|
DISPLAY '-----[Set_Pictures Prebuild done ]-----'
|
||||||
ELSE
|
ELSE
|
||||||
MAIN_END_CODE_ADDRESS EQU $-1
|
MAIN_END_CODE_ADDRESS EQU $-1
|
||||||
@ -10,7 +10,7 @@ RELEASEhotFIX EQU 2 ;
|
|||||||
DEFINE SP2000_Loader_Flag #0107 ;
|
DEFINE SP2000_Loader_Flag #0107 ;
|
||||||
DEFINE IDE_Optimization 1 ; á«¥£ª ®¯â¨¬¨§¨àã¥â ¥ª®â®àë¥ ¯à®æ¥¤ãàë à ¡®âë á HDD
|
DEFINE IDE_Optimization 1 ; á«¥£ª ®¯â¨¬¨§¨àã¥â ¥ª®â®àë¥ ¯à®æ¥¤ãàë à ¡®âë á HDD
|
||||||
DEFINE NeedSafePort_Y 1 ; ¥á«¨ 0, â® ¢ ०¨¬¥ ¡¥§ ªá¥«ï ¥ª®â®àë¥ ¯à®æ¥¤ãàë ¬®£ãâ § áà âì íªà
|
DEFINE NeedSafePort_Y 1 ; ¥á«¨ 0, â® ¢ ०¨¬¥ ¡¥§ ªá¥«ï ¥ª®â®àë¥ ¯à®æ¥¤ãàë ¬®£ãâ § áà âì íªà
|
||||||
DEFINE PICTURE_FILE './src/bios/logo/psfathers.bmp' ;
|
DEFINE PICTURE_FILE './bios/logo/psfathers.bmp' ;
|
||||||
DEFINE StandartCGApallete 1 ; <20>®¤ª«îç âì ¯ «¨âàã ¨§ standart_colors.inc
|
DEFINE StandartCGApallete 1 ; <20>®¤ª«îç âì ¯ «¨âàã ¨§ standart_colors.inc
|
||||||
DEFINE BitStream_SizeInPages 4 ;
|
DEFINE BitStream_SizeInPages 4 ;
|
||||||
DEFINE USE_E1_SCANCODE 0 ;
|
DEFINE USE_E1_SCANCODE 0 ;
|
||||||
@ -1,17 +1,17 @@
|
|||||||
;
|
;
|
||||||
;---------[All shared includes]---------
|
;---------[All shared includes]---------
|
||||||
INCLUDE 'src/bios/shared/DEFINES.INC' ; Shared defines
|
INCLUDE 'bios/shared/DEFINES.INC' ; Shared defines
|
||||||
INCLUDE 'Shared_Includes/structures/FileSystem.inc'
|
INCLUDE 'Shared_Includes/structures/FileSystem.inc'
|
||||||
INCLUDE 'Shared_Includes/structures/ATA_ATAPI.inc'
|
INCLUDE 'Shared_Includes/structures/ATA_ATAPI.inc'
|
||||||
INCLUDE 'src/bios/Loader/Loader.asm' ; Bitstream loader as macros
|
INCLUDE 'bios/Loader/Loader.asm' ; Bitstream loader as macros
|
||||||
INCLUDE 'src/bios/shared/CompMacro.asm' ; ¬ ªà®áë
|
INCLUDE 'bios/shared/CompMacro.asm' ; ¬ ªà®áë
|
||||||
INCLUDE 'Shared_Includes/constants/SP2000.inc' ; ª®áâ âë
|
INCLUDE 'Shared_Includes/constants/SP2000.inc' ; ª®áâ âë
|
||||||
INCLUDE 'Shared_Includes/constants/zx_char_codes.inc' ; ª®áâ âë
|
INCLUDE 'Shared_Includes/constants/zx_char_codes.inc' ; ª®áâ âë
|
||||||
INCLUDE 'Shared_Includes/constants/zx_vars.inc' ;
|
INCLUDE 'Shared_Includes/constants/zx_vars.inc' ;
|
||||||
INCLUDE 'Shared_Includes/macroses/macros.z80'
|
INCLUDE 'Shared_Includes/macroses/macros.z80'
|
||||||
INCLUDE 'src/bios/ROM/MEM_MAP.inc' ; ª àâ ¯ ¬ïâ¨
|
INCLUDE 'bios/ROM/MEM_MAP.inc' ; ª àâ ¯ ¬ïâ¨
|
||||||
INCLUDE 'src/bios/shared/VERSION.inc' ; ‚¥àá¨ï EXP ¨ ROM
|
INCLUDE 'bios/shared/VERSION.inc' ; ‚¥àá¨ï EXP ¨ ROM
|
||||||
INCLUDE 'Shared_Includes/constants/BIOS_EQU.inc'
|
INCLUDE 'Shared_Includes/constants/BIOS_EQU.inc'
|
||||||
INCLUDE 'src/bios/ROM/BIOS.inc'
|
INCLUDE 'bios/ROM/BIOS.inc'
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
;
|
;
|
||||||
@ -1,568 +0,0 @@
|
|||||||
--
|
|
||||||
-- Copyright (C) 1988-2000 Altera Corporation
|
|
||||||
-- Any megafunction design, and related net list (encrypted or decrypted),
|
|
||||||
-- support information, device programming or simulation file, and any other
|
|
||||||
-- associated documentation or information provided by Altera or a partner
|
|
||||||
-- under Altera's Megafunction Partnership Program may be used only to
|
|
||||||
-- program PLD devices (but not masked PLD devices) from Altera. Any other
|
|
||||||
-- use of such megafunction design, net list, support information, device
|
|
||||||
-- programming or simulation file, or any other related documentation or
|
|
||||||
-- information is prohibited for any other purpose, including, but not
|
|
||||||
-- limited to modification, reverse engineering, de-compiling, or use with
|
|
||||||
-- any other silicon devices, unless such use is explicitly licensed under
|
|
||||||
-- a separate agreement with Altera or a megafunction partner. Title to
|
|
||||||
-- the intellectual property, including patents, copyrights, trademarks,
|
|
||||||
-- trade secrets, or maskworks, embodied in any such megafunction design,
|
|
||||||
-- net list, support information, device programming or simulation file, or
|
|
||||||
-- any other related documentation or information provided by Altera or a
|
|
||||||
-- megafunction partner, remains with Altera, the megafunction partner, or
|
|
||||||
-- their respective licensors. No other licenses, including any licenses
|
|
||||||
-- needed under any third party's intellectual property, are provided herein.
|
|
||||||
--
|
|
||||||
CHIP acceler
|
|
||||||
BEGIN
|
|
||||||
DEVICE = EP1K30QC208-3;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFAULT_DEVICES
|
|
||||||
BEGIN
|
|
||||||
AUTO_DEVICE = EP1K100FC484-1;
|
|
||||||
AUTO_DEVICE = EP1K100FC256-1;
|
|
||||||
AUTO_DEVICE = EP1K100QC208-1;
|
|
||||||
AUTO_DEVICE = EP1K50FC484-1;
|
|
||||||
AUTO_DEVICE = EP1K50FC256-1;
|
|
||||||
AUTO_DEVICE = EP1K50QC208-1;
|
|
||||||
AUTO_DEVICE = EP1K50TC144-1;
|
|
||||||
AUTO_DEVICE = EP1K30FC256-1;
|
|
||||||
AUTO_DEVICE = EP1K30QC208-1;
|
|
||||||
AUTO_DEVICE = EP1K30TC144-1;
|
|
||||||
ASK_BEFORE_ADDING_EXTRA_DEVICES = ON;
|
|
||||||
END;
|
|
||||||
|
|
||||||
TIMING_POINT
|
|
||||||
BEGIN
|
|
||||||
DEVICE_FOR_TIMING_SYNTHESIS = EP1K30QC208-3;
|
|
||||||
FREQUENCY = 200MHz;
|
|
||||||
MAINTAIN_STABLE_SYNTHESIS = OFF;
|
|
||||||
CUT_ALL_CLEAR_PRESET = ON;
|
|
||||||
CUT_ALL_BIDIR = ON;
|
|
||||||
END;
|
|
||||||
|
|
||||||
IGNORED_ASSIGNMENTS
|
|
||||||
BEGIN
|
|
||||||
FIT_IGNORE_TIMING = OFF;
|
|
||||||
DEMOTE_SPECIFIC_LCELL_ASSIGNMENTS_TO_LAB_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_LOCAL_ROUTING_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_DEVICE_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_LC_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_PIN_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_CHIP_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_TIMING_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_LOGIC_OPTION_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_CLIQUE_ASSIGNMENTS = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
GLOBAL_PROJECT_DEVICE_OPTIONS
|
|
||||||
BEGIN
|
|
||||||
MAX7000B_ENABLE_VREFB = OFF;
|
|
||||||
MAX7000B_ENABLE_VREFA = OFF;
|
|
||||||
MAX7000B_VCCIO_IOBANK2 = 3.3V;
|
|
||||||
MAX7000B_VCCIO_IOBANK1 = 3.3V;
|
|
||||||
CONFIG_EPROM_PULLUP_RESISTOR = ON;
|
|
||||||
CONFIG_EPROM_USER_CODE = FFFFFFFF;
|
|
||||||
FLEX_CONFIGURATION_EPROM = AUTO;
|
|
||||||
MAX7000AE_ENABLE_JTAG = ON;
|
|
||||||
MAX7000AE_USER_CODE = FFFFFFFF;
|
|
||||||
FLEX6000_USE_LOW_VOLTAGE_CONFIGURATION_EPROM = OFF;
|
|
||||||
FLEX10KA_USE_LOW_VOLTAGE_CONFIGURATION_EPROM = ON;
|
|
||||||
FLEX10K_USE_LOW_VOLTAGE_CONFIGURATION_EPROM = OFF;
|
|
||||||
FLEX6000_ENABLE_JTAG = OFF;
|
|
||||||
CONFIG_SCHEME_FLEX_6000 = PASSIVE_SERIAL;
|
|
||||||
MULTIVOLT_IO = OFF;
|
|
||||||
MAX7000S_ENABLE_JTAG = ON;
|
|
||||||
FLEX10K_ENABLE_LOCK_OUTPUT = OFF;
|
|
||||||
MAX7000S_USER_CODE = FFFF;
|
|
||||||
CONFIG_SCHEME_10K = PASSIVE_SERIAL;
|
|
||||||
FLEX10K_JTAG_USER_CODE = 7F;
|
|
||||||
ENABLE_INIT_DONE_OUTPUT = OFF;
|
|
||||||
ENABLE_CHIP_WIDE_OE = OFF;
|
|
||||||
ENABLE_CHIP_WIDE_RESET = OFF;
|
|
||||||
nCEO = UNRESERVED;
|
|
||||||
CLKUSR = UNRESERVED;
|
|
||||||
ADD17 = UNRESERVED;
|
|
||||||
ADD16 = UNRESERVED;
|
|
||||||
ADD15 = UNRESERVED;
|
|
||||||
ADD14 = UNRESERVED;
|
|
||||||
ADD13 = UNRESERVED;
|
|
||||||
ADD0_TO_ADD12 = UNRESERVED;
|
|
||||||
SDOUT = RESERVED_DRIVES_OUT;
|
|
||||||
RDCLK = UNRESERVED;
|
|
||||||
RDYnBUSY = UNRESERVED;
|
|
||||||
nWS_nRS_nCS_CS = UNRESERVED;
|
|
||||||
DATA1_TO_DATA7 = UNRESERVED;
|
|
||||||
DATA0 = RESERVED_TRI_STATED;
|
|
||||||
FLEX8000_ENABLE_JTAG = OFF;
|
|
||||||
CONFIG_SCHEME = ACTIVE_SERIAL;
|
|
||||||
DISABLE_TIME_OUT = OFF;
|
|
||||||
ENABLE_DCLK_OUTPUT = OFF;
|
|
||||||
RELEASE_CLEARS = OFF;
|
|
||||||
AUTO_RESTART = OFF;
|
|
||||||
USER_CLOCK = OFF;
|
|
||||||
SECURITY_BIT = OFF;
|
|
||||||
RESERVED_PINS_PERCENT = 0;
|
|
||||||
RESERVED_LCELLS_PERCENT = 0;
|
|
||||||
END;
|
|
||||||
|
|
||||||
GLOBAL_PROJECT_SYNTHESIS_ASSIGNMENT_OPTIONS
|
|
||||||
BEGIN
|
|
||||||
STYLE = FAST;
|
|
||||||
DEVICE_FAMILY = ACEX1K;
|
|
||||||
MULTI_LEVEL_SYNTHESIS_MAX9000 = ON;
|
|
||||||
AUTO_IMPLEMENT_IN_EAB = OFF;
|
|
||||||
AUTO_OPEN_DRAIN_PINS = ON;
|
|
||||||
ONE_HOT_STATE_MACHINE_ENCODING = OFF;
|
|
||||||
AUTO_REGISTER_PACKING = OFF;
|
|
||||||
AUTO_FAST_IO = OFF;
|
|
||||||
AUTO_GLOBAL_OE = ON;
|
|
||||||
AUTO_GLOBAL_PRESET = ON;
|
|
||||||
AUTO_GLOBAL_CLEAR = ON;
|
|
||||||
AUTO_GLOBAL_CLOCK = ON;
|
|
||||||
MULTI_LEVEL_SYNTHESIS_MAX5000_7000 = OFF;
|
|
||||||
OPTIMIZE_FOR_SPEED = 5;
|
|
||||||
END;
|
|
||||||
|
|
||||||
COMPILER_PROCESSING_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
USE_QUARTUS_FITTER = ON;
|
|
||||||
PRESERVE_ALL_NODE_NAME_SYNONYMS = OFF;
|
|
||||||
FITTER_SETTINGS = NORMAL;
|
|
||||||
SMART_RECOMPILE = OFF;
|
|
||||||
GENERATE_AHDL_TDO_FILE = OFF;
|
|
||||||
RPT_FILE_USER_ASSIGNMENTS = ON;
|
|
||||||
RPT_FILE_LCELL_INTERCONNECT = ON;
|
|
||||||
RPT_FILE_HIERARCHY = ON;
|
|
||||||
RPT_FILE_EQUATIONS = ON;
|
|
||||||
LINKED_SNF_EXTRACTOR = OFF;
|
|
||||||
OPTIMIZE_TIMING_SNF = OFF;
|
|
||||||
TIMING_SNF_EXTRACTOR = ON;
|
|
||||||
FUNCTIONAL_SNF_EXTRACTOR = OFF;
|
|
||||||
DESIGN_DOCTOR_RULES = EPLD;
|
|
||||||
DESIGN_DOCTOR = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
COMPILER_INTERFACES_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
NETLIST_OUTPUT_TIME_SCALE = 0.1ns;
|
|
||||||
EDIF_INPUT_SHOW_LMF_MAPPING_MESSAGES = OFF;
|
|
||||||
EDIF_BUS_DELIMITERS = [];
|
|
||||||
EDIF_FLATTEN_BUS = OFF;
|
|
||||||
EDIF_OUTPUT_FORCE_0NS_DELAYS = OFF;
|
|
||||||
EDIF_OUTPUT_INCLUDE_SPECIAL_PRIM = OFF;
|
|
||||||
EDIF_OUTPUT_MAP_ILLEGAL_CHAR = OFF;
|
|
||||||
EDIF_OUTPUT_DELAY_CONSTRUCTS = EDO_FILE;
|
|
||||||
EDIF_OUTPUT_USE_EDC = OFF;
|
|
||||||
EDIF_INPUT_USE_LMF2 = OFF;
|
|
||||||
EDIF_INPUT_USE_LMF1 = OFF;
|
|
||||||
EDIF_OUTPUT_GND = GND;
|
|
||||||
EDIF_OUTPUT_VCC = VCC;
|
|
||||||
EDIF_INPUT_GND = GND;
|
|
||||||
EDIF_INPUT_VCC = VCC;
|
|
||||||
EDIF_OUTPUT_EDC_FILE = *.edc;
|
|
||||||
EDIF_INPUT_LMF2 = *.lmf;
|
|
||||||
EDIF_INPUT_LMF1 = *.lmf;
|
|
||||||
VHDL_GENERATE_CONFIGURATION_DECLARATION = OFF;
|
|
||||||
VHDL_OUTPUT_DELAY_CONSTRUCTS = VHO_FILE;
|
|
||||||
VERILOG_OUTPUT_DELAY_CONSTRUCTS = VO_FILE;
|
|
||||||
VHDL_FLATTEN_BUS = OFF;
|
|
||||||
VERILOG_FLATTEN_BUS = OFF;
|
|
||||||
EDIF_TRUNCATE_HIERARCHY_PATH = OFF;
|
|
||||||
VHDL_TRUNCATE_HIERARCHY_PATH = OFF;
|
|
||||||
VERILOG_TRUNCATE_HIERARCHY_PATH = OFF;
|
|
||||||
VERILOG_OUTPUT_MAP_ILLEGAL_CHAR = OFF;
|
|
||||||
VHDL_WRITER_VERSION = VHDL87;
|
|
||||||
VHDL_READER_VERSION = VHDL87;
|
|
||||||
SYNOPSYS_MAPPING_EFFORT = MEDIUM;
|
|
||||||
SYNOPSYS_BOUNDARY_OPTIMIZATION = OFF;
|
|
||||||
SYNOPSYS_HIERARCHICAL_COMPILATION = ON;
|
|
||||||
SYNOPSYS_DESIGNWARE = OFF;
|
|
||||||
SYNOPSYS_COMPILER = DESIGN;
|
|
||||||
USE_SYNOPSYS_SYNTHESIS = OFF;
|
|
||||||
VHDL_NETLIST_WRITER = OFF;
|
|
||||||
VERILOG_NETLIST_WRITER = OFF;
|
|
||||||
XNF_GENERATE_AHDL_TDX_FILE = ON;
|
|
||||||
XNF_TRANSLATE_INTERNAL_NODE_NAMES = ON;
|
|
||||||
XNF_EMULATE_TRI_STATE_BUSES = INTERNAL_LOGIC;
|
|
||||||
EDIF_OUTPUT_VERSION = 200;
|
|
||||||
EDIF_NETLIST_WRITER = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
CUSTOM_DESIGN_DOCTOR_RULES
|
|
||||||
BEGIN
|
|
||||||
MASTER_RESET = OFF;
|
|
||||||
EXPANDER_NETWORKS = ON;
|
|
||||||
RACE_CONDITIONS = ON;
|
|
||||||
DELAY_CHAINS = ON;
|
|
||||||
ASYNCHRONOUS_INPUTS = ON;
|
|
||||||
PRESET_CLEAR_NETWORKS = ON;
|
|
||||||
STATIC_HAZARDS_AFTER_SYNTHESIS = OFF;
|
|
||||||
STATIC_HAZARDS_BEFORE_SYNTHESIS = ON;
|
|
||||||
MULTI_CLOCK_NETWORKS = ON;
|
|
||||||
MULTI_LEVEL_CLOCKS = ON;
|
|
||||||
GATED_CLOCKS = ON;
|
|
||||||
RIPPLE_CLOCKS = ON;
|
|
||||||
END;
|
|
||||||
|
|
||||||
SIMULATOR_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
END_TIME = 5.0us;
|
|
||||||
BIDIR_PIN = STRONG;
|
|
||||||
START_TIME = 0.0ns;
|
|
||||||
GLITCH_TIME = 0.0ns;
|
|
||||||
GLITCH = OFF;
|
|
||||||
OSCILLATION_TIME = 0.0ns;
|
|
||||||
OSCILLATION = OFF;
|
|
||||||
CHECK_OUTPUTS = OFF;
|
|
||||||
SETUP_HOLD = OFF;
|
|
||||||
USE_DEVICE = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
TIMING_ANALYZER_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
ANALYSIS_MODE = REGISTERED_PERFORMANCE;
|
|
||||||
CUT_OFF_RAM_REGISTERED_WE_PATHS = OFF;
|
|
||||||
LIST_PATH_FREQUENCY = 10MHz;
|
|
||||||
LIST_PATH_COUNT = 10;
|
|
||||||
REGISTERED_PERFORMANCE_OPTIONS = NUMBER_OF_PATHS;
|
|
||||||
INCLUDE_PATHS_LESS_THAN_VALUE = 214.7483647ms;
|
|
||||||
INCLUDE_PATHS_LESS_THAN = OFF;
|
|
||||||
INCLUDE_PATHS_GREATER_THAN_VALUE = 0.0ns;
|
|
||||||
INCLUDE_PATHS_GREATER_THAN = OFF;
|
|
||||||
DELAY_MATRIX_OPTIONS = SHOW_ALL_PATHS;
|
|
||||||
CELL_WIDTH = 18;
|
|
||||||
LIST_ONLY_LONGEST_PATH = ON;
|
|
||||||
CUT_OFF_CLEAR_AND_PRESET_PATHS = ON;
|
|
||||||
CUT_OFF_IO_PIN_FEEDBACK = ON;
|
|
||||||
AUTO_RECALCULATE = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
OTHER_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
LAST_MAXPLUS2_VERSION = 10.0;
|
|
||||||
ROW_PINS_LCELL_INSERT = ON;
|
|
||||||
CARRY_OUT_PINS_LCELL_INSERT = OFF;
|
|
||||||
NORMAL_LCELL_INSERT = ON;
|
|
||||||
EXPLICIT_FAMILY = 1;
|
|
||||||
FLEX_10K_52_COLUMNS = 40;
|
|
||||||
DEFAULT_9K_EXP_PER_LCELL = 1/2;
|
|
||||||
LOCAL_INTERCONNECT_PER_LAB_PERCENT = 100;
|
|
||||||
LCELLS_PER_ROW_PERCENT = 100;
|
|
||||||
FAN_IN_PER_LCELL_PERCENT = 100;
|
|
||||||
EXP_PER_LCELL_PERCENT = 100;
|
|
||||||
ROW_PINS_PERCENT = 50;
|
|
||||||
ORIGINAL_MAXPLUS2_VERSION = 9.6;
|
|
||||||
COMPILER_DATA = "1,1,0,1,0,0,0,1,1,1,1,0,1,1,1";
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.MAX5000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = ON;
|
|
||||||
REFACTORIZATION = ON;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.MAX7000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = ON;
|
|
||||||
REFACTORIZATION = ON;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.CLASSIC
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.FLEX8000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = ON;
|
|
||||||
REFACTORIZATION = ON;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
IGNORE_SOFT_BUFFERS = ON;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = 32;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = 2;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.MAX5000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.MAX7000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = ON;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.CLASSIC
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.FLEX8000
|
|
||||||
BEGIN
|
|
||||||
CARRY_CHAIN_LENGTH = 32;
|
|
||||||
CASCADE_CHAIN_LENGTH = 2;
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
CARRY_CHAIN = AUTO;
|
|
||||||
CASCADE_CHAIN = AUTO;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
IGNORE_SOFT_BUFFERS = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.MAX5000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = OFF;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = OFF;
|
|
||||||
SOFT_BUFFER_INSERTION = OFF;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.MAX7000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = OFF;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = OFF;
|
|
||||||
SOFT_BUFFER_INSERTION = OFF;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.CLASSIC
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = OFF;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.FLEX8000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = OFF;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = OFF;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
IGNORE_SOFT_BUFFERS = ON;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = 32;
|
|
||||||
CARRY_CHAIN = MANUAL;
|
|
||||||
CASCADE_CHAIN_LENGTH = 2;
|
|
||||||
CASCADE_CHAIN = MANUAL;
|
|
||||||
END;
|
|
||||||
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
-- Copyright (C) 1988-2000 Altera Corporation
|
|
||||||
-- Any megafunction design, and related net list (encrypted or decrypted),
|
|
||||||
-- support information, device programming or simulation file, and any other
|
|
||||||
-- associated documentation or information provided by Altera or a partner
|
|
||||||
-- under Altera's Megafunction Partnership Program may be used only to
|
|
||||||
-- program PLD devices (but not masked PLD devices) from Altera. Any other
|
|
||||||
-- use of such megafunction design, net list, support information, device
|
|
||||||
-- programming or simulation file, or any other related documentation or
|
|
||||||
-- information is prohibited for any other purpose, including, but not
|
|
||||||
-- limited to modification, reverse engineering, de-compiling, or use with
|
|
||||||
-- any other silicon devices, unless such use is explicitly licensed under
|
|
||||||
-- a separate agreement with Altera or a megafunction partner. Title to
|
|
||||||
-- the intellectual property, including patents, copyrights, trademarks,
|
|
||||||
-- trade secrets, or maskworks, embodied in any such megafunction design,
|
|
||||||
-- net list, support information, device programming or simulation file, or
|
|
||||||
-- any other related documentation or information provided by Altera or a
|
|
||||||
-- megafunction partner, remains with Altera, the megafunction partner, or
|
|
||||||
-- their respective licensors. No other licenses, including any licenses
|
|
||||||
-- needed under any third party's intellectual property, are provided herein.
|
|
||||||
|
|
||||||
-- MAX+plus II Include File
|
|
||||||
-- Version 10.0 9/14/2000
|
|
||||||
-- Created: Fri Jan 25 12:59:19 2002
|
|
||||||
|
|
||||||
FUNCTION acceler (clk42, /reset, ct[2..0], ras, cas, clk_z80, mc_end, mc_begin, mc_type, mc_write, ai[15..0], di[7..0], /io, /rd, /wr, /mr, /rf, /m1, /iom, dcp[7..0], mdi[15..0], acc_ena, hddr[7..0], hdd_flip)
|
|
||||||
RETURNS (continue, ao[15..0], do[7..0], mdo[15..0], md[7..0], g_line[7..0], glisser, acc_on, double_cas, acc_dir[7..0]);
|
|
||||||
@ -1,374 +0,0 @@
|
|||||||
|
|
||||||
TITLE "ACCELERATOR";
|
|
||||||
|
|
||||||
INCLUDE "lpm_ram_dp";
|
|
||||||
|
|
||||||
SUBDESIGN acceler
|
|
||||||
(
|
|
||||||
CLK42 : INPUT;
|
|
||||||
/RESET : INPUT;
|
|
||||||
CT[2..0] : INPUT;
|
|
||||||
|
|
||||||
RAS : INPUT;
|
|
||||||
CAS : INPUT;
|
|
||||||
CLK_Z80 : INPUT;
|
|
||||||
|
|
||||||
CONTINUE : OUTPUT;
|
|
||||||
|
|
||||||
MC_END : INPUT;
|
|
||||||
MC_BEGIN : INPUT;
|
|
||||||
MC_TYPE : INPUT;
|
|
||||||
MC_WRITE : INPUT;
|
|
||||||
-- MCA[1..0] : INPUT;
|
|
||||||
|
|
||||||
AI[15..0] : INPUT;
|
|
||||||
DI[7..0] : INPUT;
|
|
||||||
|
|
||||||
AO[15..0] : OUTPUT;
|
|
||||||
DO[7..0] : OUTPUT;
|
|
||||||
|
|
||||||
/IO : INPUT;
|
|
||||||
/RD : INPUT;
|
|
||||||
/WR : INPUT;
|
|
||||||
/MR : INPUT;
|
|
||||||
/RF : INPUT;
|
|
||||||
/M1 : INPUT;
|
|
||||||
/IOM : INPUT;
|
|
||||||
|
|
||||||
DCP[7..0] : INPUT;
|
|
||||||
|
|
||||||
MDI[15..0] : INPUT;
|
|
||||||
MDO[15..0] : OUTPUT;
|
|
||||||
MD[7..0] : OUTPUT;
|
|
||||||
|
|
||||||
G_LINE[7..0]: OUTPUT;
|
|
||||||
|
|
||||||
GLISSER : OUTPUT;
|
|
||||||
|
|
||||||
ACC_ON : OUTPUT;
|
|
||||||
|
|
||||||
ACC_ENA : INPUT;
|
|
||||||
|
|
||||||
DOUBLE_CAS : OUTPUT;
|
|
||||||
|
|
||||||
HDDR[7..0] : INPUT;
|
|
||||||
HDD_FLIP : INPUT;
|
|
||||||
|
|
||||||
ACC_DIR[7..0] : OUTPUT;
|
|
||||||
|
|
||||||
)
|
|
||||||
VARIABLE
|
|
||||||
|
|
||||||
RAM : LPM_RAM_DP WITH (LPM_WIDTH=16,LPM_WIDTHAD=8);
|
|
||||||
|
|
||||||
DO[7..0] : DFFE;
|
|
||||||
MDO[15..0] : DFFE;
|
|
||||||
|
|
||||||
PRF_CMD : DFFE;
|
|
||||||
ED_CMD : DFFE;
|
|
||||||
CB_CMD : DFFE;
|
|
||||||
ID_CMD : DFFE;
|
|
||||||
IN_OUT_CMD : DFFE;
|
|
||||||
|
|
||||||
CORRECT_1F : NODE;
|
|
||||||
|
|
||||||
ACC_BLK : DFF;
|
|
||||||
|
|
||||||
RETI : DFFE;
|
|
||||||
RETN : DFFE;
|
|
||||||
|
|
||||||
AA[15..0] : DFFE;
|
|
||||||
|
|
||||||
RGACC[7..0] : DFFE;
|
|
||||||
AGR[7..0] : DFFE;
|
|
||||||
ACC_CNT[7..0] : DFFE;
|
|
||||||
|
|
||||||
START_ACC : NODE;
|
|
||||||
ACC_END : DFFE;
|
|
||||||
FN_ACC[2..0]: DFFE;
|
|
||||||
ACC_MODE[3..0] : DFFE;
|
|
||||||
|
|
||||||
MD[7..0] : LCELL;
|
|
||||||
XMD[7..0] : DFF;
|
|
||||||
XMDH[7..0] : DFF;
|
|
||||||
|
|
||||||
ACC_DIR[7..0] : LCELL;
|
|
||||||
|
|
||||||
/M1M : NODE;
|
|
||||||
|
|
||||||
ACC_GO : NODE;
|
|
||||||
ACC_GO_1 : NODE;
|
|
||||||
|
|
||||||
RAM_WR : NODE;
|
|
||||||
|
|
||||||
STATE_EI : DFFE;
|
|
||||||
|
|
||||||
-- HDDR[7..0] : DFFE;
|
|
||||||
|
|
||||||
XAGR[7..0] : DFFE;
|
|
||||||
AAGR[9..0] : DFFE;
|
|
||||||
XCNT[7..0] : DFFE;
|
|
||||||
ALT_ACC : NODE;
|
|
||||||
|
|
||||||
RAM_ADR[7..0] : NODE;
|
|
||||||
ACC_C : NODE;
|
|
||||||
WR_C7 : NODE;
|
|
||||||
|
|
||||||
XCNT_AGR[15..0] : NODE;
|
|
||||||
|
|
||||||
MDOX[7..0] : DFF;
|
|
||||||
MDOY[7..0] : DFF;
|
|
||||||
|
|
||||||
GLISS_R : DFF;
|
|
||||||
|
|
||||||
ACC_TIME : NODE;
|
|
||||||
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
ACC_ON = ACC_DIR0;
|
|
||||||
|
|
||||||
/M1M = DFF(!/M1,CLK_Z80,/RESET,);
|
|
||||||
|
|
||||||
PRF_CMD.clk = /MR;
|
|
||||||
PRF_CMD.ena = /M1M;
|
|
||||||
PRF_CMD.d = (DI[] == B"11XX1XX1") &
|
|
||||||
((DI[] == B"XX00X01X") or -- CB
|
|
||||||
(DI[] == B"XX01X10X") or -- DD
|
|
||||||
(DI[] == B"XX10X10X") or -- ED
|
|
||||||
(DI[] == B"XX11X10X")); -- FD
|
|
||||||
|
|
||||||
-- === interrupt === 0 - disable; 1 - enable
|
|
||||||
|
|
||||||
STATE_EI.clk = /MR;
|
|
||||||
STATE_EI.ena = /M1M & !PRF_CMD & (DI[] == B"1111X011");
|
|
||||||
STATE_EI.d = DI3;
|
|
||||||
|
|
||||||
-- RETI comand
|
|
||||||
|
|
||||||
ED_CMD.clk = /MR;
|
|
||||||
ED_CMD.ena = /M1M;
|
|
||||||
ED_CMD.d = (DI[] == H"ED");
|
|
||||||
|
|
||||||
RETI.clk = /MR;
|
|
||||||
RETI.ena = /M1M;
|
|
||||||
RETI.d = ED_CMD & (DI[] == H"4D");
|
|
||||||
|
|
||||||
-- "1" on the RETI triger is the end of interupt sycle.
|
|
||||||
|
|
||||||
RETN.clk = /MR;
|
|
||||||
RETN.ena = /M1M;
|
|
||||||
RETN.d = ED_CMD & (DI[] == H"45");
|
|
||||||
|
|
||||||
-- The end of NMI sycle.
|
|
||||||
|
|
||||||
ACC_BLK.clk = /M1;
|
|
||||||
ACC_BLK.d = DFF(((/IO & ACC_BLK) or (!ACC_BLK & RETI)),CLK_Z80,,);
|
|
||||||
ACC_BLK.prn = /RESET & ACC_MODE3;
|
|
||||||
|
|
||||||
CB_CMD.clk = /MR;
|
|
||||||
ID_CMD.clk = /MR;
|
|
||||||
CB_CMD.ena = /M1M;
|
|
||||||
ID_CMD.ena = /M1M;
|
|
||||||
|
|
||||||
CB_CMD.d = (DI[] == H"CB");
|
|
||||||
ID_CMD.d = (DI[] == B"11X11101");
|
|
||||||
|
|
||||||
IN_OUT_CMD.clk = /MR;
|
|
||||||
IN_OUT_CMD.ena = /M1M;
|
|
||||||
IN_OUT_CMD.d = (DI[] == B"1101X011") & !PRF_CMD; -- D3/DB
|
|
||||||
IN_OUT_CMD.clrn = /IO;
|
|
||||||
|
|
||||||
CORRECT_1F = LCELL(IN_OUT_CMD & (DO[] == H"1F") & !/MR & !/RD);
|
|
||||||
DO[4..3].clrn = !CORRECT_1F;
|
|
||||||
|
|
||||||
ACC_GO = DFFE((CAS or START_ACC),CLK42,,(!/MR & /M1),CT1);
|
|
||||||
ACC_GO_1 = DFF(ACC_GO,CLK42,,);
|
|
||||||
|
|
||||||
-- == accelerator number ==
|
|
||||||
|
|
||||||
RGACC[].clk = /MR;
|
|
||||||
RGACC[].ena = DFF((/M1 & /RF & ACC_DIR3),CLK_Z80,,);
|
|
||||||
RGACC[].d = DI[];
|
|
||||||
|
|
||||||
-- == accelerator grafic line ==
|
|
||||||
|
|
||||||
AGR[].clk = CLK42;
|
|
||||||
AGR[].ena = !DFF((/IOM or /WR or !DFF((DCP[] == B"1100X100"),CLK42,,)),CLK42,,) or
|
|
||||||
!(!ACC_DIR4 or ACC_GO or !ACC_GO_1);
|
|
||||||
|
|
||||||
CASE DFF(START_ACC,CLK42,,) IS
|
|
||||||
WHEN 0 => AGR[].d = AGR[] + 1;
|
|
||||||
WHEN 1 => AGR[].d = DI[];
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
AGR[].clrn = /RESET;
|
|
||||||
|
|
||||||
G_LINE[] = AGR[];
|
|
||||||
|
|
||||||
-- == accelerator counter ==
|
|
||||||
|
|
||||||
ACC_C = (!ACC_GO & DFF(((CT0 & !/RD) or (CT1 & !/WR)),CLK42,,));
|
|
||||||
ACC_CNT[].clk = CLK42;
|
|
||||||
-- ACC_CNT[].ena = START_ACC or (ACC_C & ACC_DIR2);
|
|
||||||
ACC_CNT[].ena = LCELL(START_ACC or (ACC_C & ACC_DIR2));
|
|
||||||
|
|
||||||
CASE DFF(START_ACC,CLK42,,) IS
|
|
||||||
WHEN 1 => ACC_CNT[].d = RGACC[];
|
|
||||||
WHEN 0 => ACC_CNT[].d = ACC_CNT[] - 1;
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
WR_C7 = DFF((/IOM or DFF(!/IOM,CLK42,,) or /WR or DFF(!(DCP[] == B"1100X111"),CLK42,,)),CLK42,,);
|
|
||||||
ALT_ACC = DFF(VCC,WR_C7,/RESET,);
|
|
||||||
|
|
||||||
(AAGR[].ena,XCNT[].ena,XAGR[].ena) = LCELL(!WR_C7 or (ACC_DIR1 & ACC_C));
|
|
||||||
(AAGR[].clk,XCNT[].clk,XAGR[].clk) = CLK42;
|
|
||||||
|
|
||||||
XCNT_AGR[15..0] = (XCNT[],XAGR[]) + (B"000000",AAGR[]);
|
|
||||||
|
|
||||||
CASE !DFF(START_ACC,CLK42,,) IS
|
|
||||||
WHEN 1 => AAGR[].d = AAGR[];
|
|
||||||
(XCNT[].d,XAGR[].d) = XCNT_AGR[15..0];
|
|
||||||
WHEN 0 => AAGR[].d = (AI9,AI8,DI[]);
|
|
||||||
(XCNT[].d,XAGR[].d) = (B"00",AI[15..10],B"00000000");
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
-- == accelerator dir ==
|
|
||||||
|
|
||||||
START_ACC = LCELL(LCELL(/MR or !/M1 or !/RF or !ACC_BLK) or (!ACC_DIR0 or MC_TYPE));
|
|
||||||
|
|
||||||
DOUBLE_CAS= LCELL(ACC_DIR6 & !START_ACC);
|
|
||||||
|
|
||||||
ACC_END.clk = CLK42;
|
|
||||||
ACC_END.ena = !ACC_GO & ACC_GO_1;
|
|
||||||
ACC_END.prn = /M1;
|
|
||||||
ACC_END.d = (ACC_CNT[] == 1) or !ACC_DIR2;
|
|
||||||
|
|
||||||
CONTINUE = ACC_END;
|
|
||||||
|
|
||||||
CASE ACC_MODE[2..0] IS
|
|
||||||
WHEN 0 => ACC_DIR[] = B"00000000"; % LD B,B %
|
|
||||||
WHEN 1 => ACC_DIR[] = B"00100101"; % LD C,C % % fill by constant %
|
|
||||||
WHEN 2 => ACC_DIR[] = B"00001001"; % LD D,D % % load count accelerator %
|
|
||||||
WHEN 3 => ACC_DIR[] = B"00010101"; % LD E,E % % fill by constant VERTICAL %
|
|
||||||
WHEN 4 => ACC_DIR[] = B"01000001"; % LD H,H % % duble byte fn %
|
|
||||||
WHEN 5 => ACC_DIR[] = B"00100111"; % LD L,L % % copy line %
|
|
||||||
WHEN 6 => ACC_DIR[] = B"00000000"; % HALT %
|
|
||||||
WHEN 7 => ACC_DIR[] = B"00010111"; % LD A,A % % copy line VERTICAL %
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
-- == accelerator mode ==
|
|
||||||
|
|
||||||
ACC_MODE[].clk = /MR;
|
|
||||||
ACC_MODE[].ena = DFF((!/M1 & !PRF_CMD &
|
|
||||||
LCELL((DI[] == B"XXX00X00") or
|
|
||||||
(DI[] == B"XXX01X01") or
|
|
||||||
(DI[] == B"XXX10X10") or
|
|
||||||
(DI[] == B"XXX11X11")) &
|
|
||||||
LCELL((DI[] == B"010XX0XX") or
|
|
||||||
(DI[] == B"011XX1XX"))),CLK_Z80,,);
|
|
||||||
ACC_MODE[].d = (VCC,DI[2..0]);
|
|
||||||
ACC_MODE[2..0].clrn = /RESET & ACC_ENA;
|
|
||||||
ACC_MODE[3].clrn = /RESET & !DFF(ACC_MODE3,CLK_Z80,,);
|
|
||||||
|
|
||||||
-- == accelerator datas ==
|
|
||||||
|
|
||||||
CASE DFFE(AA0,CLK42,,,(CT2 & CT1)) IS
|
|
||||||
WHEN 0 => MD[] = MDI[7..0];
|
|
||||||
-- GLISSER = DFF((MDO[7..0] == H"FF"),CLK42,,);
|
|
||||||
WHEN 1 => MD[] = MDI[15..8];
|
|
||||||
-- GLISSER = DFF((MDO[15..8] == H"FF"),CLK42,,);
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
GLISS_R.clk = CLK42;
|
|
||||||
CASE ACC_DIR1 IS
|
|
||||||
WHEN 0 => GLISS_R = LCELL(DI[] == H"FF");
|
|
||||||
WHEN 1 => GLISS_R = LCELL(RAM.q[7..4] == H"F") & LCELL(RAM.q[3..0] == H"F");
|
|
||||||
END CASE;
|
|
||||||
GLISSER = GLISS_R;
|
|
||||||
|
|
||||||
-- MDO[].clk = !CLK42;
|
|
||||||
MDO[].clk = CLK42;
|
|
||||||
|
|
||||||
MDO[].ena = CAS;
|
|
||||||
|
|
||||||
MDOX[].clk = CLK42;
|
|
||||||
MDOY[].clk = CLK42;
|
|
||||||
|
|
||||||
CASE LCELL(MC_END & HDD_FLIP) IS
|
|
||||||
WHEN 0 => MDOX[7..0] = DI[];
|
|
||||||
WHEN 1 => MDOX[7..0] = HDDR[];
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
CASE ACC_DIR6 IS
|
|
||||||
WHEN 0 => MDOY[7..0] = DI[];
|
|
||||||
WHEN 1 => MDOY[7..0] = HDDR[];
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
CASE LCELL(/IO & ACC_DIR1) IS
|
|
||||||
WHEN 0 => MDO[].d = (MDOY[],MDOX[]);
|
|
||||||
WHEN 1 => MDO[].d = (RAM.q[7..0],RAM.q[7..0]);
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
DO[].clk = DFF(MC_END,!CLK42,,);
|
|
||||||
-- DO[].clk = !CLK42;
|
|
||||||
DO[].ena = VCC;
|
|
||||||
-- DO[].ena = DFF(!MC_END,CLK42,,);
|
|
||||||
DO[].d = MD[];
|
|
||||||
|
|
||||||
-- == accelerator functions ==
|
|
||||||
|
|
||||||
FN_ACC[].clk = /MR;
|
|
||||||
FN_ACC[].ena = /M1M;
|
|
||||||
FN_ACC[].d = LCELL(DI7 & !DI6 & !PRF_CMD) & !(DI[5..3]);
|
|
||||||
|
|
||||||
XMDH[].clk = !CLK42;
|
|
||||||
XMDH[] = MDI[15..8];
|
|
||||||
|
|
||||||
XMD[].clk = !CLK42;
|
|
||||||
CASE FN_ACC[1..0] IS
|
|
||||||
WHEN 0 =>
|
|
||||||
XMD[] = MD[]; % BE %
|
|
||||||
WHEN 1 =>
|
|
||||||
XMD[] = MD[] or RAM.q[7..0]; % B6 %
|
|
||||||
WHEN 2 =>
|
|
||||||
XMD[] = MD[] xor RAM.q[7..0]; % AE %
|
|
||||||
WHEN 3 =>
|
|
||||||
XMD[] = MD[] & RAM.q[7..0]; % A6 %
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
CASE ALT_ACC IS
|
|
||||||
WHEN 0 => RAM_ADR[] = ACC_CNT[];
|
|
||||||
WHEN 1 => RAM_ADR[] = XCNT[];
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
ACC_TIME = LCELL((!ACC_END or !DFFE(ACC_END,CLK42,,,(CT1 & CT2))));
|
|
||||||
|
|
||||||
-- RAM_WR = DFF((!/RD & (!ACC_GO & CT0) & ACC_TIME),CLK42,,);
|
|
||||||
RAM_WR = DFF((!/RD & (!ACC_GO & CT0) & ACC_DIR1),CLK42,,);
|
|
||||||
|
|
||||||
RAM.wren = RAM_WR;
|
|
||||||
RAM.data[] = (XMD[],XMD[]);
|
|
||||||
-- RAM.wraddress[] = ACC_CNT[];
|
|
||||||
RAM.wraddress[] = RAM_ADR[];
|
|
||||||
RAM.wrclock = CLK42;
|
|
||||||
RAM.wrclken = VCC;
|
|
||||||
RAM.rden = VCC;
|
|
||||||
-- RAM.rdaddress[] = ACC_CNT[];
|
|
||||||
RAM.rdaddress[] = RAM_ADR[];
|
|
||||||
RAM.rdclock = CLK42;
|
|
||||||
RAM.rdclken = VCC;
|
|
||||||
|
|
||||||
AA[].clk = CLK42;
|
|
||||||
-- AA[].ena = START_ACC or (ACC_DIR5 & !ACC_GO & ACC_GO_1);
|
|
||||||
AA[].ena = LCELL(START_ACC or (ACC_DIR5 & !(CAS or START_ACC) & (ACC_GO or (ACC_GO_1 & ACC_DIR6))));
|
|
||||||
|
|
||||||
CASE DFF(START_ACC,CLK42,,) IS
|
|
||||||
WHEN 1 => AA[].d = AI[];
|
|
||||||
-- WHEN 0 => AA[].d = AA[] + (B"00000000000000",ACC_DIR6,!ACC_DIR6);
|
|
||||||
WHEN 0 => AA[].d = AA[] + 1;
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
AO[] = (AA[15..0]);
|
|
||||||
|
|
||||||
END;
|
|
||||||
|
|
||||||
@ -1,578 +0,0 @@
|
|||||||
--
|
|
||||||
-- Copyright (C) 1988-2000 Altera Corporation
|
|
||||||
-- Any megafunction design, and related net list (encrypted or decrypted),
|
|
||||||
-- support information, device programming or simulation file, and any other
|
|
||||||
-- associated documentation or information provided by Altera or a partner
|
|
||||||
-- under Altera's Megafunction Partnership Program may be used only to
|
|
||||||
-- program PLD devices (but not masked PLD devices) from Altera. Any other
|
|
||||||
-- use of such megafunction design, net list, support information, device
|
|
||||||
-- programming or simulation file, or any other related documentation or
|
|
||||||
-- information is prohibited for any other purpose, including, but not
|
|
||||||
-- limited to modification, reverse engineering, de-compiling, or use with
|
|
||||||
-- any other silicon devices, unless such use is explicitly licensed under
|
|
||||||
-- a separate agreement with Altera or a megafunction partner. Title to
|
|
||||||
-- the intellectual property, including patents, copyrights, trademarks,
|
|
||||||
-- trade secrets, or maskworks, embodied in any such megafunction design,
|
|
||||||
-- net list, support information, device programming or simulation file, or
|
|
||||||
-- any other related documentation or information provided by Altera or a
|
|
||||||
-- megafunction partner, remains with Altera, the megafunction partner, or
|
|
||||||
-- their respective licensors. No other licenses, including any licenses
|
|
||||||
-- needed under any third party's intellectual property, are provided herein.
|
|
||||||
--
|
|
||||||
CHIP ay
|
|
||||||
BEGIN
|
|
||||||
DEVICE = EP1K30QC208-3;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFAULT_DEVICES
|
|
||||||
BEGIN
|
|
||||||
AUTO_DEVICE = EP1K100FC484-1;
|
|
||||||
AUTO_DEVICE = EP1K100FC256-1;
|
|
||||||
AUTO_DEVICE = EP1K100QC208-1;
|
|
||||||
AUTO_DEVICE = EP1K50FC484-1;
|
|
||||||
AUTO_DEVICE = EP1K50FC256-1;
|
|
||||||
AUTO_DEVICE = EP1K50QC208-1;
|
|
||||||
AUTO_DEVICE = EP1K50TC144-1;
|
|
||||||
AUTO_DEVICE = EP1K30FC256-1;
|
|
||||||
AUTO_DEVICE = EP1K30QC208-1;
|
|
||||||
AUTO_DEVICE = EP1K30TC144-1;
|
|
||||||
AUTO_DEVICE = EP1K10FC256-1;
|
|
||||||
AUTO_DEVICE = EP1K10QC208-1;
|
|
||||||
AUTO_DEVICE = EP1K10TC144-1;
|
|
||||||
AUTO_DEVICE = EP1K10TC100-1;
|
|
||||||
ASK_BEFORE_ADDING_EXTRA_DEVICES = ON;
|
|
||||||
END;
|
|
||||||
|
|
||||||
TIMING_POINT
|
|
||||||
BEGIN
|
|
||||||
DEVICE_FOR_TIMING_SYNTHESIS = EP1K30QC208-3;
|
|
||||||
FREQUENCY = 100MHz;
|
|
||||||
MAINTAIN_STABLE_SYNTHESIS = OFF;
|
|
||||||
CUT_ALL_CLEAR_PRESET = ON;
|
|
||||||
CUT_ALL_BIDIR = ON;
|
|
||||||
END;
|
|
||||||
|
|
||||||
IGNORED_ASSIGNMENTS
|
|
||||||
BEGIN
|
|
||||||
FIT_IGNORE_TIMING = ON;
|
|
||||||
DEMOTE_SPECIFIC_LCELL_ASSIGNMENTS_TO_LAB_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_LOCAL_ROUTING_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_DEVICE_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_LC_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_PIN_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_CHIP_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_TIMING_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_LOGIC_OPTION_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_CLIQUE_ASSIGNMENTS = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
GLOBAL_PROJECT_DEVICE_OPTIONS
|
|
||||||
BEGIN
|
|
||||||
MAX7000B_ENABLE_VREFB = OFF;
|
|
||||||
MAX7000B_ENABLE_VREFA = OFF;
|
|
||||||
MAX7000B_VCCIO_IOBANK2 = 3.3V;
|
|
||||||
MAX7000B_VCCIO_IOBANK1 = 3.3V;
|
|
||||||
CONFIG_EPROM_PULLUP_RESISTOR = ON;
|
|
||||||
CONFIG_EPROM_USER_CODE = FFFFFFFF;
|
|
||||||
FLEX_CONFIGURATION_EPROM = AUTO;
|
|
||||||
MAX7000AE_ENABLE_JTAG = ON;
|
|
||||||
MAX7000AE_USER_CODE = FFFFFFFF;
|
|
||||||
FLEX6000_USE_LOW_VOLTAGE_CONFIGURATION_EPROM = OFF;
|
|
||||||
FLEX10KA_USE_LOW_VOLTAGE_CONFIGURATION_EPROM = ON;
|
|
||||||
FLEX10K_USE_LOW_VOLTAGE_CONFIGURATION_EPROM = OFF;
|
|
||||||
FLEX6000_ENABLE_JTAG = OFF;
|
|
||||||
CONFIG_SCHEME_FLEX_6000 = PASSIVE_SERIAL;
|
|
||||||
MULTIVOLT_IO = OFF;
|
|
||||||
MAX7000S_ENABLE_JTAG = ON;
|
|
||||||
FLEX10K_ENABLE_LOCK_OUTPUT = OFF;
|
|
||||||
MAX7000S_USER_CODE = FFFF;
|
|
||||||
CONFIG_SCHEME_10K = PASSIVE_SERIAL;
|
|
||||||
FLEX10K_JTAG_USER_CODE = 7F;
|
|
||||||
ENABLE_INIT_DONE_OUTPUT = OFF;
|
|
||||||
ENABLE_CHIP_WIDE_OE = OFF;
|
|
||||||
ENABLE_CHIP_WIDE_RESET = OFF;
|
|
||||||
nCEO = UNRESERVED;
|
|
||||||
CLKUSR = UNRESERVED;
|
|
||||||
ADD17 = UNRESERVED;
|
|
||||||
ADD16 = UNRESERVED;
|
|
||||||
ADD15 = UNRESERVED;
|
|
||||||
ADD14 = UNRESERVED;
|
|
||||||
ADD13 = UNRESERVED;
|
|
||||||
ADD0_TO_ADD12 = UNRESERVED;
|
|
||||||
SDOUT = RESERVED_DRIVES_OUT;
|
|
||||||
RDCLK = UNRESERVED;
|
|
||||||
RDYnBUSY = UNRESERVED;
|
|
||||||
nWS_nRS_nCS_CS = UNRESERVED;
|
|
||||||
DATA1_TO_DATA7 = UNRESERVED;
|
|
||||||
DATA0 = RESERVED_TRI_STATED;
|
|
||||||
FLEX8000_ENABLE_JTAG = OFF;
|
|
||||||
CONFIG_SCHEME = ACTIVE_SERIAL;
|
|
||||||
DISABLE_TIME_OUT = OFF;
|
|
||||||
ENABLE_DCLK_OUTPUT = OFF;
|
|
||||||
RELEASE_CLEARS = OFF;
|
|
||||||
AUTO_RESTART = OFF;
|
|
||||||
USER_CLOCK = OFF;
|
|
||||||
SECURITY_BIT = OFF;
|
|
||||||
RESERVED_PINS_PERCENT = 0;
|
|
||||||
RESERVED_LCELLS_PERCENT = 0;
|
|
||||||
END;
|
|
||||||
|
|
||||||
GLOBAL_PROJECT_SYNTHESIS_ASSIGNMENT_OPTIONS
|
|
||||||
BEGIN
|
|
||||||
MULTI_LEVEL_SYNTHESIS_MAX9000 = ON;
|
|
||||||
AUTO_IMPLEMENT_IN_EAB = OFF;
|
|
||||||
AUTO_OPEN_DRAIN_PINS = ON;
|
|
||||||
ONE_HOT_STATE_MACHINE_ENCODING = OFF;
|
|
||||||
AUTO_REGISTER_PACKING = OFF;
|
|
||||||
DEVICE_FAMILY = ACEX1K;
|
|
||||||
STYLE = NORMAL;
|
|
||||||
AUTO_FAST_IO = OFF;
|
|
||||||
AUTO_GLOBAL_OE = ON;
|
|
||||||
AUTO_GLOBAL_PRESET = ON;
|
|
||||||
AUTO_GLOBAL_CLEAR = ON;
|
|
||||||
AUTO_GLOBAL_CLOCK = ON;
|
|
||||||
MULTI_LEVEL_SYNTHESIS_MAX5000_7000 = OFF;
|
|
||||||
OPTIMIZE_FOR_SPEED = 5;
|
|
||||||
END;
|
|
||||||
|
|
||||||
COMPILER_PROCESSING_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
USE_QUARTUS_FITTER = ON;
|
|
||||||
PRESERVE_ALL_NODE_NAME_SYNONYMS = OFF;
|
|
||||||
FITTER_SETTINGS = NORMAL;
|
|
||||||
SMART_RECOMPILE = OFF;
|
|
||||||
GENERATE_AHDL_TDO_FILE = OFF;
|
|
||||||
RPT_FILE_USER_ASSIGNMENTS = ON;
|
|
||||||
RPT_FILE_LCELL_INTERCONNECT = ON;
|
|
||||||
RPT_FILE_HIERARCHY = ON;
|
|
||||||
RPT_FILE_EQUATIONS = ON;
|
|
||||||
LINKED_SNF_EXTRACTOR = OFF;
|
|
||||||
OPTIMIZE_TIMING_SNF = OFF;
|
|
||||||
TIMING_SNF_EXTRACTOR = ON;
|
|
||||||
FUNCTIONAL_SNF_EXTRACTOR = OFF;
|
|
||||||
DESIGN_DOCTOR_RULES = EPLD;
|
|
||||||
DESIGN_DOCTOR = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
COMPILER_INTERFACES_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
NETLIST_OUTPUT_TIME_SCALE = 0.1ns;
|
|
||||||
EDIF_INPUT_SHOW_LMF_MAPPING_MESSAGES = OFF;
|
|
||||||
EDIF_BUS_DELIMITERS = [];
|
|
||||||
EDIF_FLATTEN_BUS = OFF;
|
|
||||||
EDIF_OUTPUT_FORCE_0NS_DELAYS = OFF;
|
|
||||||
EDIF_OUTPUT_INCLUDE_SPECIAL_PRIM = OFF;
|
|
||||||
EDIF_OUTPUT_MAP_ILLEGAL_CHAR = OFF;
|
|
||||||
EDIF_OUTPUT_DELAY_CONSTRUCTS = EDO_FILE;
|
|
||||||
EDIF_OUTPUT_USE_EDC = OFF;
|
|
||||||
EDIF_INPUT_USE_LMF2 = OFF;
|
|
||||||
EDIF_INPUT_USE_LMF1 = OFF;
|
|
||||||
EDIF_OUTPUT_GND = GND;
|
|
||||||
EDIF_OUTPUT_VCC = VCC;
|
|
||||||
EDIF_INPUT_GND = GND;
|
|
||||||
EDIF_INPUT_VCC = VCC;
|
|
||||||
EDIF_OUTPUT_EDC_FILE = *.edc;
|
|
||||||
EDIF_INPUT_LMF2 = *.lmf;
|
|
||||||
EDIF_INPUT_LMF1 = *.lmf;
|
|
||||||
VHDL_GENERATE_CONFIGURATION_DECLARATION = OFF;
|
|
||||||
VHDL_OUTPUT_DELAY_CONSTRUCTS = VHO_FILE;
|
|
||||||
VERILOG_OUTPUT_DELAY_CONSTRUCTS = VO_FILE;
|
|
||||||
VHDL_FLATTEN_BUS = OFF;
|
|
||||||
VERILOG_FLATTEN_BUS = OFF;
|
|
||||||
EDIF_TRUNCATE_HIERARCHY_PATH = OFF;
|
|
||||||
VHDL_TRUNCATE_HIERARCHY_PATH = OFF;
|
|
||||||
VERILOG_TRUNCATE_HIERARCHY_PATH = OFF;
|
|
||||||
VERILOG_OUTPUT_MAP_ILLEGAL_CHAR = OFF;
|
|
||||||
VHDL_WRITER_VERSION = VHDL93;
|
|
||||||
VHDL_READER_VERSION = VHDL93;
|
|
||||||
SYNOPSYS_MAPPING_EFFORT = MEDIUM;
|
|
||||||
SYNOPSYS_BOUNDARY_OPTIMIZATION = OFF;
|
|
||||||
SYNOPSYS_HIERARCHICAL_COMPILATION = ON;
|
|
||||||
SYNOPSYS_DESIGNWARE = OFF;
|
|
||||||
SYNOPSYS_COMPILER = DESIGN;
|
|
||||||
USE_SYNOPSYS_SYNTHESIS = OFF;
|
|
||||||
VHDL_NETLIST_WRITER = OFF;
|
|
||||||
VERILOG_NETLIST_WRITER = OFF;
|
|
||||||
XNF_GENERATE_AHDL_TDX_FILE = ON;
|
|
||||||
XNF_TRANSLATE_INTERNAL_NODE_NAMES = ON;
|
|
||||||
XNF_EMULATE_TRI_STATE_BUSES = INTERNAL_LOGIC;
|
|
||||||
EDIF_OUTPUT_VERSION = 200;
|
|
||||||
EDIF_NETLIST_WRITER = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
CUSTOM_DESIGN_DOCTOR_RULES
|
|
||||||
BEGIN
|
|
||||||
MASTER_RESET = OFF;
|
|
||||||
EXPANDER_NETWORKS = ON;
|
|
||||||
RACE_CONDITIONS = ON;
|
|
||||||
DELAY_CHAINS = ON;
|
|
||||||
ASYNCHRONOUS_INPUTS = ON;
|
|
||||||
PRESET_CLEAR_NETWORKS = ON;
|
|
||||||
STATIC_HAZARDS_AFTER_SYNTHESIS = OFF;
|
|
||||||
STATIC_HAZARDS_BEFORE_SYNTHESIS = ON;
|
|
||||||
MULTI_CLOCK_NETWORKS = ON;
|
|
||||||
MULTI_LEVEL_CLOCKS = ON;
|
|
||||||
GATED_CLOCKS = ON;
|
|
||||||
RIPPLE_CLOCKS = ON;
|
|
||||||
END;
|
|
||||||
|
|
||||||
SIMULATOR_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
BIDIR_PIN = STRONG;
|
|
||||||
END_TIME = 0.0ns;
|
|
||||||
START_TIME = 0.0ns;
|
|
||||||
GLITCH_TIME = 0.0ns;
|
|
||||||
GLITCH = OFF;
|
|
||||||
OSCILLATION_TIME = 0.0ns;
|
|
||||||
OSCILLATION = OFF;
|
|
||||||
CHECK_OUTPUTS = OFF;
|
|
||||||
SETUP_HOLD = OFF;
|
|
||||||
USE_DEVICE = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
TIMING_ANALYZER_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
ANALYSIS_MODE = REGISTERED_PERFORMANCE;
|
|
||||||
CUT_OFF_RAM_REGISTERED_WE_PATHS = OFF;
|
|
||||||
LIST_PATH_FREQUENCY = 10MHz;
|
|
||||||
LIST_PATH_COUNT = 10;
|
|
||||||
REGISTERED_PERFORMANCE_OPTIONS = NUMBER_OF_PATHS;
|
|
||||||
INCLUDE_PATHS_LESS_THAN_VALUE = 214.7483647ms;
|
|
||||||
INCLUDE_PATHS_LESS_THAN = OFF;
|
|
||||||
INCLUDE_PATHS_GREATER_THAN_VALUE = 0.0ns;
|
|
||||||
INCLUDE_PATHS_GREATER_THAN = OFF;
|
|
||||||
DELAY_MATRIX_OPTIONS = SHOW_ALL_PATHS;
|
|
||||||
CELL_WIDTH = 18;
|
|
||||||
LIST_ONLY_LONGEST_PATH = ON;
|
|
||||||
CUT_OFF_CLEAR_AND_PRESET_PATHS = ON;
|
|
||||||
CUT_OFF_IO_PIN_FEEDBACK = ON;
|
|
||||||
AUTO_RECALCULATE = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
OTHER_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
ROW_PINS_LCELL_INSERT = ON;
|
|
||||||
CARRY_OUT_PINS_LCELL_INSERT = OFF;
|
|
||||||
NORMAL_LCELL_INSERT = ON;
|
|
||||||
EXPLICIT_FAMILY = 1;
|
|
||||||
LAST_MAXPLUS2_VERSION = 10.0;
|
|
||||||
FLEX_10K_52_COLUMNS = 40;
|
|
||||||
DEFAULT_9K_EXP_PER_LCELL = 1/2;
|
|
||||||
LOCAL_INTERCONNECT_PER_LAB_PERCENT = 100;
|
|
||||||
LCELLS_PER_ROW_PERCENT = 100;
|
|
||||||
FAN_IN_PER_LCELL_PERCENT = 100;
|
|
||||||
EXP_PER_LCELL_PERCENT = 100;
|
|
||||||
ROW_PINS_PERCENT = 50;
|
|
||||||
ORIGINAL_MAXPLUS2_VERSION = 10.0;
|
|
||||||
COMPILER_DATA = "1,1,0,1,0,0,0,1,1,1,1,0,1,1,1";
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.MAX5000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = ON;
|
|
||||||
REFACTORIZATION = ON;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.MAX7000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = ON;
|
|
||||||
REFACTORIZATION = ON;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.CLASSIC
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.FLEX8000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = ON;
|
|
||||||
REFACTORIZATION = ON;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
IGNORE_SOFT_BUFFERS = ON;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = 32;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = 2;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.MAX5000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.MAX7000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = ON;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.CLASSIC
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.FLEX8000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
IGNORE_SOFT_BUFFERS = ON;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = 32;
|
|
||||||
CARRY_CHAIN = AUTO;
|
|
||||||
CASCADE_CHAIN_LENGTH = 2;
|
|
||||||
CASCADE_CHAIN = AUTO;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.MAX5000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = OFF;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = OFF;
|
|
||||||
SOFT_BUFFER_INSERTION = OFF;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.MAX7000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = OFF;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = OFF;
|
|
||||||
SOFT_BUFFER_INSERTION = OFF;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.CLASSIC
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = OFF;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.FLEX8000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = OFF;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = OFF;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
IGNORE_SOFT_BUFFERS = ON;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = 32;
|
|
||||||
CARRY_CHAIN = MANUAL;
|
|
||||||
CASCADE_CHAIN_LENGTH = 2;
|
|
||||||
CASCADE_CHAIN = MANUAL;
|
|
||||||
END;
|
|
||||||
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
-- Copyright (C) 1988-2000 Altera Corporation
|
|
||||||
-- Any megafunction design, and related net list (encrypted or decrypted),
|
|
||||||
-- support information, device programming or simulation file, and any other
|
|
||||||
-- associated documentation or information provided by Altera or a partner
|
|
||||||
-- under Altera's Megafunction Partnership Program may be used only to
|
|
||||||
-- program PLD devices (but not masked PLD devices) from Altera. Any other
|
|
||||||
-- use of such megafunction design, net list, support information, device
|
|
||||||
-- programming or simulation file, or any other related documentation or
|
|
||||||
-- information is prohibited for any other purpose, including, but not
|
|
||||||
-- limited to modification, reverse engineering, de-compiling, or use with
|
|
||||||
-- any other silicon devices, unless such use is explicitly licensed under
|
|
||||||
-- a separate agreement with Altera or a megafunction partner. Title to
|
|
||||||
-- the intellectual property, including patents, copyrights, trademarks,
|
|
||||||
-- trade secrets, or maskworks, embodied in any such megafunction design,
|
|
||||||
-- net list, support information, device programming or simulation file, or
|
|
||||||
-- any other related documentation or information provided by Altera or a
|
|
||||||
-- megafunction partner, remains with Altera, the megafunction partner, or
|
|
||||||
-- their respective licensors. No other licenses, including any licenses
|
|
||||||
-- needed under any third party's intellectual property, are provided herein.
|
|
||||||
|
|
||||||
-- MAX+plus II Include File
|
|
||||||
-- Version 10.0 9/14/2000
|
|
||||||
-- Created: Sat May 26 07:09:40 2001
|
|
||||||
|
|
||||||
FUNCTION ay (/reset, clk42, ay_t[8..0], ay_d_wr, ay_a_wr, d[7..0], beeper)
|
|
||||||
RETURNS (do[7..0], ay_ch_a[3..0], ay_ch_b[3..0], ay_ch_c[3..0], ay_ch_l[9..0], ay_ch_r[9..0], ay_ch_val);
|
|
||||||
@ -1,154 +0,0 @@
|
|||||||
DEPTH = 256; % Memory depth and width are required %
|
|
||||||
WIDTH = 8; % Enter a decimal number %
|
|
||||||
|
|
||||||
ADDRESS_RADIX = HEX; % Address and value radixes are optional %
|
|
||||||
DATA_RADIX = BIN; % Enter BIN, DEC, HEX, or OCT; unless %
|
|
||||||
% otherwise specified, radixes = HEX %
|
|
||||||
|
|
||||||
-- Specify values for addresses, which can be single address or range
|
|
||||||
|
|
||||||
CONTENT
|
|
||||||
BEGIN
|
|
||||||
[0..7F] : 00000000;
|
|
||||||
0 : 00000000 00000000
|
|
||||||
00000000 00000000
|
|
||||||
00000000 00000000
|
|
||||||
00000000 11111111
|
|
||||||
00000000 00000000
|
|
||||||
00000000 00000000
|
|
||||||
00000000 00000000
|
|
||||||
00000000 00000000
|
|
||||||
|
|
||||||
11111111 11111111
|
|
||||||
11111111 11111111
|
|
||||||
11111111 11111111
|
|
||||||
11111111 11111111
|
|
||||||
11111111 11111111
|
|
||||||
11111111 11111111
|
|
||||||
11111111 00000001
|
|
||||||
00000000 11111111
|
|
||||||
;
|
|
||||||
1E : 00000000;
|
|
||||||
1F : 11111111;
|
|
||||||
|
|
||||||
30 : 00000000
|
|
||||||
00000010
|
|
||||||
00000011
|
|
||||||
00000100
|
|
||||||
00000110
|
|
||||||
00001000
|
|
||||||
00001011
|
|
||||||
00010000
|
|
||||||
00010110
|
|
||||||
00100000
|
|
||||||
00101101
|
|
||||||
01000000
|
|
||||||
01011010
|
|
||||||
10000000
|
|
||||||
10110100
|
|
||||||
11111111;
|
|
||||||
|
|
||||||
[80..FF]: 00000000;
|
|
||||||
|
|
||||||
%
|
|
||||||
000 - set CX, load & sub 1
|
|
||||||
001 - load
|
|
||||||
010 - save, if NZ,reset CX
|
|
||||||
011 - bit_out
|
|
||||||
100 - load & sub 1
|
|
||||||
101 - load & sub C
|
|
||||||
110 - if CX, save
|
|
||||||
111 - read states /RESET, AY_F_RES
|
|
||||||
%
|
|
||||||
|
|
||||||
80 :
|
|
||||||
00010000 -- set C,CX load reg10 & sub C
|
|
||||||
01010000 -- save reg10 & reset CX if NZ
|
|
||||||
10110001 -- load reg11 & sub C
|
|
||||||
01010001 -- save reg11 & reset CX if NZ
|
|
||||||
|
|
||||||
00100000 -- set C load reg00 & sub C
|
|
||||||
11010000 -- save reg10 if CX
|
|
||||||
00100001 -- load reg01 & sub C
|
|
||||||
11010001 -- save reg11 if CX
|
|
||||||
|
|
||||||
00101000 -- load reg08
|
|
||||||
01100001 -- set AY_OUT1
|
|
||||||
|
|
||||||
|
|
||||||
00010010 -- set C,CX load reg12 & sub C
|
|
||||||
01010010 -- save reg12 & reset CX if NZ
|
|
||||||
10110011 -- load reg13 & sub C
|
|
||||||
01010011 -- save reg13 & reset CX if NZ
|
|
||||||
|
|
||||||
00100010 -- set C load reg02 & sub C
|
|
||||||
11010010 -- save reg12 if CX
|
|
||||||
00100011 -- load reg03 & reset CX if NZ
|
|
||||||
11010011 -- save reg13 if CX
|
|
||||||
|
|
||||||
00101001 -- load reg09
|
|
||||||
01100010 -- set AY_OUT2
|
|
||||||
|
|
||||||
|
|
||||||
00010100 -- set C,CX load reg14 & sub C
|
|
||||||
01010100 -- save reg14 & reset CX if NZ
|
|
||||||
10110101 -- load reg15 & sub C
|
|
||||||
01010101 -- save reg15 & reset CX if NZ
|
|
||||||
|
|
||||||
00100100 -- set C load reg04 & sub C
|
|
||||||
11010100 -- save reg14 if CX
|
|
||||||
00100101 -- load reg05 & reset CX if NZ
|
|
||||||
11010101 -- save reg15 if CX
|
|
||||||
|
|
||||||
00101010 -- load reg0A
|
|
||||||
01100011 -- set AY_OUT3
|
|
||||||
|
|
||||||
|
|
||||||
00010111 -- set C,CX load reg17 & dec 1
|
|
||||||
01010111 -- save reg17 & reset CX if NZ
|
|
||||||
00100110 -- load reg06 dec 1 ***********
|
|
||||||
11010111 -- save reg17 if CX
|
|
||||||
|
|
||||||
01100100 -- set AY_SH
|
|
||||||
00000000 -- NOP
|
|
||||||
|
|
||||||
00011000 -- set C,CX load reg18 & sub C
|
|
||||||
01011000 -- save reg18 & reset CX if NZ
|
|
||||||
10111001 -- load reg19 & sub C
|
|
||||||
01011001 -- save reg19 & reset CX if NZ
|
|
||||||
|
|
||||||
00101011 -- load reg0B & sub 1
|
|
||||||
11011000 -- save reg18 if CX
|
|
||||||
00101100 -- load reg0C & sub C
|
|
||||||
11011001 -- save reg19 if CX
|
|
||||||
|
|
||||||
01100101 -- set FORM_CLK
|
|
||||||
|
|
||||||
11100000 -- set CX = AY_F_RES
|
|
||||||
|
|
||||||
-- 00101011 -- load reg0B & sub 1
|
|
||||||
-- 11011000 -- save reg18 if CX
|
|
||||||
-- 00101100 -- load reg0C & sub C
|
|
||||||
-- 11011001 -- save reg19 if CX
|
|
||||||
|
|
||||||
11100001 -- set CX = /RESET
|
|
||||||
|
|
||||||
00111111 -- load reg1F - FF ***********
|
|
||||||
11000111 -- save reg07 if CX
|
|
||||||
00111110 -- load reg1E - 00 ***********
|
|
||||||
|
|
||||||
11001101 -- save reg0D if CX
|
|
||||||
11001000 -- save reg08 if CX
|
|
||||||
11001001 -- save reg09 if CX
|
|
||||||
11001010 -- save reg0a if CX
|
|
||||||
|
|
||||||
00100111 -- load reg07 ***********
|
|
||||||
01100110 -- set keys_bits
|
|
||||||
|
|
||||||
00101101 -- load reg0D ***********
|
|
||||||
01100111 -- set keys_bits SET-FORM-bits
|
|
||||||
|
|
||||||
-- 01100000 -- set AY_OUT_ALL
|
|
||||||
|
|
||||||
;
|
|
||||||
END ;
|
|
||||||
@ -1,368 +0,0 @@
|
|||||||
|
|
||||||
TITLE "AY-3-8910";
|
|
||||||
|
|
||||||
include "lpm_ram_dq";
|
|
||||||
include "lpm_add_sub";
|
|
||||||
|
|
||||||
SUBDESIGN ay
|
|
||||||
(
|
|
||||||
/RESET : INPUT;
|
|
||||||
CLK42 : INPUT; -- â ªâë 42
|
|
||||||
AY_T[8..0] : INPUT; -- ¢¥è¨© áç¥â稪 ⠪⮢
|
|
||||||
|
|
||||||
AY_D_WR : INPUT;
|
|
||||||
AY_A_WR : INPUT;
|
|
||||||
|
|
||||||
D[7..0] : INPUT;
|
|
||||||
DO[7..0] : OUTPUT;
|
|
||||||
|
|
||||||
AY_CH_A[3..0] : OUTPUT;
|
|
||||||
AY_CH_B[3..0] : OUTPUT;
|
|
||||||
AY_CH_C[3..0] : OUTPUT;
|
|
||||||
|
|
||||||
AY_CH_L[9..0] : OUTPUT;
|
|
||||||
AY_CH_R[9..0] : OUTPUT;
|
|
||||||
|
|
||||||
AY_CH_VAL : OUTPUT; -- chanels data valid
|
|
||||||
BEEPER : INPUT;
|
|
||||||
|
|
||||||
)
|
|
||||||
VARIABLE
|
|
||||||
|
|
||||||
BD[7..0] : DFFE;
|
|
||||||
BWR : DFFE;
|
|
||||||
AWR : DFFE;
|
|
||||||
|
|
||||||
AY_DI[7..0] : NODE;
|
|
||||||
AY_DO[7..0] : NODE;
|
|
||||||
|
|
||||||
AY_F_RES : NODE;
|
|
||||||
AY_F_R1 : NODE;
|
|
||||||
|
|
||||||
AY_ADR[7..0] : DFF;
|
|
||||||
AY_AAX[1..0] : DFF;
|
|
||||||
|
|
||||||
AY_X_[5..0] : DFFE;
|
|
||||||
AY_GF[3..0] : DFFE;
|
|
||||||
|
|
||||||
AY_OUT[3..1] : DFFE;
|
|
||||||
AY_OUTS[3..1] : NODE;
|
|
||||||
|
|
||||||
AY_CLK1 : NODE;
|
|
||||||
AY_SH[16..0] : DFFE;
|
|
||||||
AY_AA[3..0] : DFF;
|
|
||||||
AY_SH_Q : NODE;
|
|
||||||
|
|
||||||
AY_ABLK : NODE;
|
|
||||||
AY_BBLK : NODE;
|
|
||||||
AY_AINV : NODE;
|
|
||||||
AY_BINV : NODE;
|
|
||||||
|
|
||||||
AY_ADRX[7..0] : NODE;
|
|
||||||
AY_CCC[8..0] : DFF;
|
|
||||||
AY_AX[7..0] : NODE;
|
|
||||||
AY_C : DFFE;
|
|
||||||
AY_CX : DFFE;
|
|
||||||
AY_CXX : DFFE;
|
|
||||||
AY_WR : NODE;
|
|
||||||
AY_VA[3..0] : DFFE;
|
|
||||||
AY_VAR : DFFE;
|
|
||||||
AY_VX : DFFE;
|
|
||||||
|
|
||||||
AY_DAT_WR : DFF;
|
|
||||||
AY_DAT[7..0] : DFFE;
|
|
||||||
|
|
||||||
AY_DQ1[3..0] : DFFE;
|
|
||||||
AY_DQ2[3..0] : DFFE;
|
|
||||||
AY_DQ3[3..0] : DFFE;
|
|
||||||
|
|
||||||
AY_DQX[3..0] : DFFE;
|
|
||||||
AY_OUTSX : NODE;
|
|
||||||
AY_CH_MIX : DFF;
|
|
||||||
|
|
||||||
AY_AMP[3..0] : DFF;
|
|
||||||
|
|
||||||
AY_DD[7..0] : DFFE;
|
|
||||||
|
|
||||||
AY_CH_A[3..0] : DFF;
|
|
||||||
AY_CH_B[3..0] : DFF;
|
|
||||||
AY_CH_C[3..0] : DFF;
|
|
||||||
|
|
||||||
AY_CH_CS[8..0] : DFF;
|
|
||||||
AY_CH_LX[10..0] : DFFE;
|
|
||||||
AY_CH_RX[10..0] : DFFE;
|
|
||||||
|
|
||||||
-- AY_CH_L[9..0] : DFF;
|
|
||||||
-- AY_CH_R[9..0] : DFF;
|
|
||||||
|
|
||||||
AY_CH_DIR[7..0] : DFFE;
|
|
||||||
|
|
||||||
AY_OUTS1X : NODE;
|
|
||||||
AY_OUTS2X : NODE;
|
|
||||||
AY_OUTS3X : NODE;
|
|
||||||
|
|
||||||
AY_OUTS1Y : NODE;
|
|
||||||
-- AY_OUTS2Y : NODE;
|
|
||||||
AY_OUTS3Y : NODE;
|
|
||||||
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
-- ====== AY8910 III version =========
|
|
||||||
|
|
||||||
BD[].clk = CLK42;
|
|
||||||
AWR.clk = CLK42;
|
|
||||||
BWR.clk = CLK42;
|
|
||||||
|
|
||||||
BD[].ena = AY_CCC1;
|
|
||||||
BWR.ena = AY_CCC1;
|
|
||||||
AWR.ena = AY_CCC1;
|
|
||||||
|
|
||||||
BD[7..5].clrn = !((AY_ADR[3..0] == B"00X1") or -- ch 1,2
|
|
||||||
(AY_ADR[3..0] == B"0101") or -- ch 3
|
|
||||||
(AY_ADR[3..0] == B"0110") -- ch shum
|
|
||||||
);
|
|
||||||
BD4.clrn = !((AY_ADR[3..0] == B"00X1") or -- ch 1,2
|
|
||||||
(AY_ADR[3..0] == B"0101") -- ch 3
|
|
||||||
);
|
|
||||||
|
|
||||||
BD[] = D[];
|
|
||||||
|
|
||||||
AWR = AY_A_WR;
|
|
||||||
-- BWR = (AY_D_WR or !(AY_ADR[5..4] == 0));
|
|
||||||
BWR = AY_D_WR;
|
|
||||||
|
|
||||||
AY_CH_DIR[].clk = AY_D_WR;
|
|
||||||
AY_CH_DIR[].ena = (AY_ADR[] == B"XXX10000");
|
|
||||||
AY_CH_DIR[].d = D[];
|
|
||||||
AY_CH_DIR[].clrn= /RESET;
|
|
||||||
|
|
||||||
AY_CCC[].clk = CLK42;
|
|
||||||
AY_CCC[8..0].d = AY_T[];
|
|
||||||
|
|
||||||
(AY_AAX[].clk,AY_ADR[].clk) = AY_A_WR;
|
|
||||||
AY_ADR[].d = D[];
|
|
||||||
|
|
||||||
-- Write to 0D register
|
|
||||||
AY_AAX0.d = (D[3..0] == B"1101");
|
|
||||||
-- Write to AMP registers 08,09,0A
|
|
||||||
AY_AAX1.d = (D[3..0] == B"1000") or (D[3..0] == B"1001") or (D[3..0] == B"1010");
|
|
||||||
|
|
||||||
-- reset signal for form generator
|
|
||||||
-- AY_F_RES = DFF(VCC,DFF((!((AY_DO[7..5] == B"111") & AY_CCC1 & !AY_DO0) or AY_F_RES),CLK42,,),LCELL(!(AY_AAX0 or (AY_AAX1 & BD4)) or BWR),);
|
|
||||||
|
|
||||||
-- AY_F_R1 = DFF((!(AY_AAX0 or (AY_AAX1)) or BWR),CLK42,,);
|
|
||||||
AY_F_R1 = DFF((!AY_AAX0 or BWR),CLK42,,);
|
|
||||||
AY_F_RES = DFF(DFF(VCC,AY_CCC7,AY_F_R1,),AY_CCC7,AY_F_R1,);
|
|
||||||
|
|
||||||
AY_X_[].prn = VCC;
|
|
||||||
|
|
||||||
-- AY_GF[3..0].clrn = /RESET;
|
|
||||||
-- AY_GF[3..0].clk = AY_D_WR;
|
|
||||||
-- AY_GF[3..0].ena = AY_ADR[] == B"XXXX1101";
|
|
||||||
-- AY_GF[3..0].d = D[3..0];
|
|
||||||
|
|
||||||
AY_DAT_WR.clk = CLK42;
|
|
||||||
|
|
||||||
CASE AY_CCC[1..0] IS
|
|
||||||
WHEN B"00" =>
|
|
||||||
AY_AX[] = (VCC,GND,AY_CCC[7..2]); -- CMD adress
|
|
||||||
AY_WR = GND;
|
|
||||||
AY_DI[] = AY_DAT[];
|
|
||||||
|
|
||||||
AY_DAT_WR = VCC;
|
|
||||||
|
|
||||||
WHEN B"01" =>
|
|
||||||
AY_AX[] = (B"0000",AY_ADR[3..0]);
|
|
||||||
AY_WR = !BWR;
|
|
||||||
AY_DI[] = BD[];
|
|
||||||
|
|
||||||
AY_DAT_WR = VCC;
|
|
||||||
|
|
||||||
WHEN B"1X" =>
|
|
||||||
AY_AX[] = (GND,GND,GND,AY_DO[4..0]);
|
|
||||||
AY_DAT_WR = AY_DO6;
|
|
||||||
AY_WR = !LCELL(!(AY_DO[7..5] == B"010") &
|
|
||||||
!((AY_DO[7..5] == B"110") & AY_CXX));
|
|
||||||
-- !((AY_DO[7..5] == B"110") & AY_CX));
|
|
||||||
AY_DI[] = AY_DAT[];
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
AY_DD[].clk = CLK42;
|
|
||||||
AY_DD[].ena = !AY_CCC1 & !AY_CCC0;
|
|
||||||
AY_DD[] = AY_DO[];
|
|
||||||
|
|
||||||
AY_DO[] = lpm_ram_dq(AY_DI[],AY_AX[],AY_WR,CLK42,CLK42)
|
|
||||||
WITH (lpm_width=8,lpm_widthad=8,lpm_file="AY.MIF");
|
|
||||||
|
|
||||||
-- AY_CX.prn = !DFF((((AY_DO[7..5] == B"00X") & AY_CCC1) & (!AY_DO5 or AY_C)),CLK42,,);
|
|
||||||
AY_CX.prn = !DFF(((AY_DO[7..5] == B"000") & AY_CCC1),CLK42,,);
|
|
||||||
AY_CXX.prn = !DFF(((AY_DO[7..5] == B"000") & AY_CCC1),CLK42,,);
|
|
||||||
AY_C.prn = VCC;
|
|
||||||
|
|
||||||
AY_CX.clk = CLK42;
|
|
||||||
AY_CXX.clk = CLK42;
|
|
||||||
(AY_CXX.ena,AY_CX.ena) = DFF((((AY_DO[7..5] == B"010") or (AY_DO[7..5] == B"111")) & AY_CCC1),CLK42,,);
|
|
||||||
|
|
||||||
IF DFF(((AY_DO[7..5] == B"010")),CLK42,,) THEN
|
|
||||||
AY_CX = (LCELL(AY_DAT[] == 0) & AY_CX);
|
|
||||||
-- AY_CXX = (LCELL(AY_DAT[] == 0) & AY_CXX);
|
|
||||||
-- AY_CX = (LCELL(AY_DAT[] == 0) & AY_CX) or (AY_C & DFF(AY_DO0,CLK42,,));
|
|
||||||
AY_CXX = (LCELL(AY_DAT[] == 0) & AY_CXX) or (AY_C & DFF(AY_DO0,CLK42,,));
|
|
||||||
ELSE
|
|
||||||
AY_CXX = DFF(((!/RESET & AY_DO0) or (!AY_F_RES & !AY_DO0)),CLK42,,);
|
|
||||||
AY_CX = DFF(((!/RESET & AY_DO0) or (!AY_F_RES & !AY_DO0)),CLK42,,);
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
(AY_C.clk,AY_DAT[].clk) = CLK42;
|
|
||||||
(AY_C.ena,AY_DAT[].ena) = !DFF(AY_DAT_WR,CLK42,,);
|
|
||||||
(AY_C,AY_DAT[]) = (GND,AY_DO[]) - (B"00000000",DFF((DFF(!AY_DO5,CLK42,,) or (AY_C & DFF(AY_DO7,CLK42,,))),CLK42,,));
|
|
||||||
|
|
||||||
AY_OUT[].clk = CLK42;
|
|
||||||
|
|
||||||
AY_AMP[].clk = CLK42;
|
|
||||||
AY_AMP[] = ((AY_DAT[3..0] or AY_DAT[4]) & (AY_AA[] or !AY_DAT[4]));
|
|
||||||
|
|
||||||
AY_DQ1[].clk = CLK42;
|
|
||||||
AY_OUTS1 = DFF(((AY_DO[7..0] == B"011XX001") & AY_CCC1),CLK42,,);
|
|
||||||
AY_OUT1.ena = AY_OUTS1;
|
|
||||||
AY_OUT1 = AY_CX xor AY_OUT1;
|
|
||||||
AY_DQ1[].ena = AY_OUTS1;
|
|
||||||
AY_DQ1[] = AY_AMP[] & LCELL((AY_OUT1 or AY_X_0) & (AY_X_3 or AY_SH0));
|
|
||||||
|
|
||||||
AY_DQ2[].clk = CLK42;
|
|
||||||
AY_OUTS2 = DFF(((AY_DO[7..0] == B"011XX010") & AY_CCC1),CLK42,,);
|
|
||||||
AY_OUT2.ena = AY_OUTS2;
|
|
||||||
AY_OUT2 = AY_CX xor AY_OUT2;
|
|
||||||
AY_DQ2[].ena = AY_OUTS2;
|
|
||||||
AY_DQ2[] = AY_AMP[] & LCELL((AY_OUT2 or AY_X_1) & (AY_X_4 or AY_SH0));
|
|
||||||
|
|
||||||
AY_DQ3[].clk = CLK42;
|
|
||||||
AY_OUTS3 = DFF(((AY_DO[7..0] == B"011XX011") & AY_CCC1),CLK42,,);
|
|
||||||
AY_OUT3.ena = AY_OUTS3;
|
|
||||||
AY_OUT3 = AY_CX xor AY_OUT3;
|
|
||||||
AY_DQ3[].ena = AY_OUTS3;
|
|
||||||
AY_DQ3[] = AY_AMP[] & LCELL((AY_OUT3 or AY_X_2) & (AY_X_5 or AY_SH0));
|
|
||||||
|
|
||||||
AY_OUTSX = DFF((((AY_DO[7..0] == B"011XX01X") or
|
|
||||||
(AY_DO[7..0] == B"011XX0X1")) & AY_CCC1),CLK42,,);
|
|
||||||
AY_DQX[].clk = CLK42;
|
|
||||||
AY_DQX[].ena = AY_OUTSX;
|
|
||||||
AY_DQX[] = AY_AMP[] & AY_CH_MIX;
|
|
||||||
|
|
||||||
AY_DQX[].clrn = !AY_SH_Q;
|
|
||||||
AY_DQX[].prn = (B"0010") or !DFF((AY_SH_Q & BEEPER),CLK42,,);
|
|
||||||
|
|
||||||
AY_CH_MIX.clk = CLK42;
|
|
||||||
CASE AY_DO[1..0] IS
|
|
||||||
WHEN 0,1 => AY_CH_MIX = LCELL((AY_OUT1 or AY_X_0) & (AY_X_3 or AY_SH0));
|
|
||||||
WHEN 2 => AY_CH_MIX = LCELL((AY_OUT2 or AY_X_1) & (AY_X_4 or AY_SH0));
|
|
||||||
WHEN 3 => AY_CH_MIX = LCELL((AY_OUT3 or AY_X_2) & (AY_X_5 or AY_SH0));
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
AY_SH_Q = DFF(((AY_DO[7..0] == B"011XX100") & AY_CCC1),CLK42,,);
|
|
||||||
|
|
||||||
AY_SH[].clk = CLK42;
|
|
||||||
AY_SH[].prn = /RESET;
|
|
||||||
AY_SH[].ena = AY_SH_Q & AY_CXX;
|
|
||||||
AY_SH[] = ((AY_SH3 xor AY_SH0),AY_SH[16..1]);
|
|
||||||
|
|
||||||
AY_VAR.clk = CLK42;
|
|
||||||
AY_VX.clk = CLK42;
|
|
||||||
AY_VA[].clk = CLK42;
|
|
||||||
|
|
||||||
(AY_VAR.clrn,AY_VA[].clrn) = AY_F_RES;
|
|
||||||
AY_VX.clrn = AY_F_RES;
|
|
||||||
|
|
||||||
(AY_VX.ena,AY_VA[].ena,AY_VAR.ena) = DFF(((AY_DO[7..0] == B"011XX101") & AY_CCC1 & !AY_BBLK & AY_CX),CLK42,,);
|
|
||||||
(AY_VX,AY_VA[],AY_VAR) = (AY_VX,AY_VA[],AY_VAR) + 1;
|
|
||||||
|
|
||||||
AY_X_[].clk = CLK42;
|
|
||||||
AY_X_[].ena = DFF(((AY_DO[7..0] == B"011XX110") & AY_CCC1),CLK42,,);
|
|
||||||
AY_X_[] = AY_DAT[5..0];
|
|
||||||
|
|
||||||
AY_GF[].clk = CLK42;
|
|
||||||
AY_GF[].ena = DFF(((AY_DO[7..0] == B"011XX111") & AY_CCC1),CLK42,,);
|
|
||||||
AY_GF[] = AY_DAT[3..0];
|
|
||||||
|
|
||||||
-- block count when 1-st period end
|
|
||||||
AY_BBLK = DFF((AY_VX & (AY_GF0 or !AY_GF3)),CLK42,,); -- VA_COUNT_STOP
|
|
||||||
|
|
||||||
-- set ALL ZERO when 1-st period end
|
|
||||||
AY_ABLK = DFF((!AY_GF3 & AY_VX),CLK42,,);
|
|
||||||
|
|
||||||
-- inverse 2-nd-s periods
|
|
||||||
AY_BINV = DFF((AY_VX & ((AY_GF[] == B"1X10") or (AY_GF == B"1X01"))),CLK42,,);
|
|
||||||
|
|
||||||
-- inverse ALL
|
|
||||||
AY_AINV = AY_GF2;
|
|
||||||
|
|
||||||
AY_AA[].clrn= VCC;
|
|
||||||
AY_AA[].clk = CLK42;
|
|
||||||
AY_AA[].d = (AY_VA[] xor AY_BINV xor !AY_AINV) & !AY_ABLK;
|
|
||||||
|
|
||||||
%
|
|
||||||
AY_AA[].clrn= VCC;
|
|
||||||
AY_AA[].prn = GND;
|
|
||||||
AY_AA[].clk = CLK42;
|
|
||||||
AY_AA[] = VCC;
|
|
||||||
%
|
|
||||||
|
|
||||||
AY_CH_A[3..0].clk = AY_CCC7;
|
|
||||||
AY_CH_B[3..0].clk = AY_CCC7;
|
|
||||||
AY_CH_C[3..0].clk = AY_CCC7;
|
|
||||||
|
|
||||||
AY_CH_A[3..0] = AY_DQ1[3..0];
|
|
||||||
AY_CH_B[3..0] = AY_DQ2[3..0];
|
|
||||||
AY_CH_C[3..0] = AY_DQ3[3..0];
|
|
||||||
|
|
||||||
DO[7..0] = AY_DD[];
|
|
||||||
|
|
||||||
AY_CH_CS[].clk = CLK42;
|
|
||||||
CASE AY_DQX[] IS
|
|
||||||
WHEN 15 => AY_CH_CS[] = 360 ;
|
|
||||||
WHEN 14 => AY_CH_CS[] = 255 ;
|
|
||||||
WHEN 13 => AY_CH_CS[] = 180 ;
|
|
||||||
WHEN 12 => AY_CH_CS[] = 127 ;
|
|
||||||
WHEN 11 => AY_CH_CS[] = 90 ;
|
|
||||||
WHEN 10 => AY_CH_CS[] = 64 ;
|
|
||||||
WHEN 9 => AY_CH_CS[] = 45 ;
|
|
||||||
WHEN 8 => AY_CH_CS[] = 32 ;
|
|
||||||
WHEN 7 => AY_CH_CS[] = 22 ;
|
|
||||||
WHEN 6 => AY_CH_CS[] = 16 ;
|
|
||||||
WHEN 5 => AY_CH_CS[] = 11 ;
|
|
||||||
WHEN 4 => AY_CH_CS[] = 8 ;
|
|
||||||
WHEN 3 => AY_CH_CS[] = 6 ;
|
|
||||||
WHEN 2 => AY_CH_CS[] = 4 ;
|
|
||||||
WHEN 1 => AY_CH_CS[] = 2 ;
|
|
||||||
WHEN 0 => AY_CH_CS[] = 0 ;
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
AY_OUTS1X = DFF(AY_OUTS1,CLK42,,);
|
|
||||||
AY_OUTS2X = DFF((AY_OUTS2 or AY_SH_Q),CLK42,,);
|
|
||||||
AY_OUTS3X = DFF(AY_OUTS3,CLK42,,);
|
|
||||||
|
|
||||||
AY_OUTS1Y = DFF(AY_OUTS1 or AY_OUTS1X,CLK42,,);
|
|
||||||
-- AY_OUTS2Y = DFF(AY_OUTS2 or AY_OUTS2X,CLK42,,);
|
|
||||||
AY_OUTS3Y = DFF(AY_OUTS3 or AY_OUTS3X,CLK42,,);
|
|
||||||
|
|
||||||
(AY_CH_LX[].clrn,AY_CH_RX[].clrn) = !DFF((AY_CCC[7..2] == 0),CLK42,,);
|
|
||||||
|
|
||||||
(AY_CH_LX[],,) = LPM_ADD_SUB (,AY_CH_LX[],(B"00",AY_CH_CS[]),,,,)
|
|
||||||
WITH(LPM_WIDTH=11,LPM_REPRESENTATION="UNSIGNED");
|
|
||||||
(AY_CH_RX[],,) = LPM_ADD_SUB (,AY_CH_RX[],(B"00",AY_CH_CS[]),,,,)
|
|
||||||
WITH (LPM_WIDTH=11,LPM_REPRESENTATION="UNSIGNED");
|
|
||||||
|
|
||||||
AY_CH_LX[].clk = CLK42;
|
|
||||||
AY_CH_RX[].clk = CLK42;
|
|
||||||
AY_CH_LX[].ena = DFF(DFF((AY_OUTS1 or AY_OUTS1Y or AY_OUTS2X or AY_OUTS2),CLK42,,),CLK42,,);
|
|
||||||
AY_CH_RX[].ena = DFF(DFF((AY_OUTS3 or AY_OUTS3Y or AY_OUTS2X or AY_OUTS2),CLK42,,),CLK42,,);
|
|
||||||
|
|
||||||
AY_CH_VAL = DFF((AY_CCC[7..2] == B"111100"),CLK42,,);
|
|
||||||
|
|
||||||
-- AY_CH_L[].clk = AY_CH_VAL;
|
|
||||||
-- AY_CH_R[].clk = AY_CH_VAL;
|
|
||||||
AY_CH_L[] = AY_CH_LX[10..1];
|
|
||||||
AY_CH_R[] = AY_CH_RX[10..1];
|
|
||||||
|
|
||||||
END;
|
|
||||||
|
|
||||||
@ -1,568 +0,0 @@
|
|||||||
--
|
|
||||||
-- Copyright (C) 1988-2000 Altera Corporation
|
|
||||||
-- Any megafunction design, and related net list (encrypted or decrypted),
|
|
||||||
-- support information, device programming or simulation file, and any other
|
|
||||||
-- associated documentation or information provided by Altera or a partner
|
|
||||||
-- under Altera's Megafunction Partnership Program may be used only to
|
|
||||||
-- program PLD devices (but not masked PLD devices) from Altera. Any other
|
|
||||||
-- use of such megafunction design, net list, support information, device
|
|
||||||
-- programming or simulation file, or any other related documentation or
|
|
||||||
-- information is prohibited for any other purpose, including, but not
|
|
||||||
-- limited to modification, reverse engineering, de-compiling, or use with
|
|
||||||
-- any other silicon devices, unless such use is explicitly licensed under
|
|
||||||
-- a separate agreement with Altera or a megafunction partner. Title to
|
|
||||||
-- the intellectual property, including patents, copyrights, trademarks,
|
|
||||||
-- trade secrets, or maskworks, embodied in any such megafunction design,
|
|
||||||
-- net list, support information, device programming or simulation file, or
|
|
||||||
-- any other related documentation or information provided by Altera or a
|
|
||||||
-- megafunction partner, remains with Altera, the megafunction partner, or
|
|
||||||
-- their respective licensors. No other licenses, including any licenses
|
|
||||||
-- needed under any third party's intellectual property, are provided herein.
|
|
||||||
--
|
|
||||||
CHIP dcp
|
|
||||||
BEGIN
|
|
||||||
DEVICE = EP1K30FC256-3;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFAULT_DEVICES
|
|
||||||
BEGIN
|
|
||||||
AUTO_DEVICE = EP1K100FC484-1;
|
|
||||||
AUTO_DEVICE = EP1K100FC256-1;
|
|
||||||
AUTO_DEVICE = EP1K100QC208-1;
|
|
||||||
AUTO_DEVICE = EP1K50FC484-1;
|
|
||||||
AUTO_DEVICE = EP1K50FC256-1;
|
|
||||||
AUTO_DEVICE = EP1K50QC208-1;
|
|
||||||
AUTO_DEVICE = EP1K50TC144-1;
|
|
||||||
AUTO_DEVICE = EP1K30FC256-1;
|
|
||||||
AUTO_DEVICE = EP1K30QC208-1;
|
|
||||||
AUTO_DEVICE = EP1K30TC144-1;
|
|
||||||
ASK_BEFORE_ADDING_EXTRA_DEVICES = ON;
|
|
||||||
END;
|
|
||||||
|
|
||||||
TIMING_POINT
|
|
||||||
BEGIN
|
|
||||||
DEVICE_FOR_TIMING_SYNTHESIS = EP1K30FC256-3;
|
|
||||||
FREQUENCY = 200MHz;
|
|
||||||
MAINTAIN_STABLE_SYNTHESIS = OFF;
|
|
||||||
CUT_ALL_CLEAR_PRESET = ON;
|
|
||||||
CUT_ALL_BIDIR = ON;
|
|
||||||
END;
|
|
||||||
|
|
||||||
IGNORED_ASSIGNMENTS
|
|
||||||
BEGIN
|
|
||||||
FIT_IGNORE_TIMING = OFF;
|
|
||||||
DEMOTE_SPECIFIC_LCELL_ASSIGNMENTS_TO_LAB_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_LOCAL_ROUTING_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_DEVICE_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_LC_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_PIN_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_CHIP_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_TIMING_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_LOGIC_OPTION_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_CLIQUE_ASSIGNMENTS = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
GLOBAL_PROJECT_DEVICE_OPTIONS
|
|
||||||
BEGIN
|
|
||||||
MAX7000B_ENABLE_VREFB = OFF;
|
|
||||||
MAX7000B_ENABLE_VREFA = OFF;
|
|
||||||
MAX7000B_VCCIO_IOBANK2 = 3.3V;
|
|
||||||
MAX7000B_VCCIO_IOBANK1 = 3.3V;
|
|
||||||
CONFIG_EPROM_PULLUP_RESISTOR = ON;
|
|
||||||
CONFIG_EPROM_USER_CODE = FFFFFFFF;
|
|
||||||
FLEX_CONFIGURATION_EPROM = AUTO;
|
|
||||||
MAX7000AE_ENABLE_JTAG = ON;
|
|
||||||
MAX7000AE_USER_CODE = FFFFFFFF;
|
|
||||||
FLEX6000_USE_LOW_VOLTAGE_CONFIGURATION_EPROM = OFF;
|
|
||||||
FLEX10KA_USE_LOW_VOLTAGE_CONFIGURATION_EPROM = ON;
|
|
||||||
FLEX10K_USE_LOW_VOLTAGE_CONFIGURATION_EPROM = OFF;
|
|
||||||
FLEX6000_ENABLE_JTAG = OFF;
|
|
||||||
CONFIG_SCHEME_FLEX_6000 = PASSIVE_SERIAL;
|
|
||||||
MULTIVOLT_IO = OFF;
|
|
||||||
MAX7000S_ENABLE_JTAG = ON;
|
|
||||||
FLEX10K_ENABLE_LOCK_OUTPUT = OFF;
|
|
||||||
MAX7000S_USER_CODE = FFFF;
|
|
||||||
CONFIG_SCHEME_10K = PASSIVE_SERIAL;
|
|
||||||
FLEX10K_JTAG_USER_CODE = 7F;
|
|
||||||
ENABLE_INIT_DONE_OUTPUT = OFF;
|
|
||||||
ENABLE_CHIP_WIDE_OE = OFF;
|
|
||||||
ENABLE_CHIP_WIDE_RESET = OFF;
|
|
||||||
nCEO = UNRESERVED;
|
|
||||||
CLKUSR = UNRESERVED;
|
|
||||||
ADD17 = UNRESERVED;
|
|
||||||
ADD16 = UNRESERVED;
|
|
||||||
ADD15 = UNRESERVED;
|
|
||||||
ADD14 = UNRESERVED;
|
|
||||||
ADD13 = UNRESERVED;
|
|
||||||
ADD0_TO_ADD12 = UNRESERVED;
|
|
||||||
SDOUT = RESERVED_DRIVES_OUT;
|
|
||||||
RDCLK = UNRESERVED;
|
|
||||||
RDYnBUSY = UNRESERVED;
|
|
||||||
nWS_nRS_nCS_CS = UNRESERVED;
|
|
||||||
DATA1_TO_DATA7 = UNRESERVED;
|
|
||||||
DATA0 = RESERVED_TRI_STATED;
|
|
||||||
FLEX8000_ENABLE_JTAG = OFF;
|
|
||||||
CONFIG_SCHEME = ACTIVE_SERIAL;
|
|
||||||
DISABLE_TIME_OUT = OFF;
|
|
||||||
ENABLE_DCLK_OUTPUT = OFF;
|
|
||||||
RELEASE_CLEARS = OFF;
|
|
||||||
AUTO_RESTART = OFF;
|
|
||||||
USER_CLOCK = OFF;
|
|
||||||
SECURITY_BIT = OFF;
|
|
||||||
RESERVED_PINS_PERCENT = 0;
|
|
||||||
RESERVED_LCELLS_PERCENT = 0;
|
|
||||||
END;
|
|
||||||
|
|
||||||
GLOBAL_PROJECT_SYNTHESIS_ASSIGNMENT_OPTIONS
|
|
||||||
BEGIN
|
|
||||||
STYLE = FAST;
|
|
||||||
MULTI_LEVEL_SYNTHESIS_MAX9000 = ON;
|
|
||||||
AUTO_IMPLEMENT_IN_EAB = OFF;
|
|
||||||
AUTO_OPEN_DRAIN_PINS = ON;
|
|
||||||
ONE_HOT_STATE_MACHINE_ENCODING = OFF;
|
|
||||||
AUTO_REGISTER_PACKING = OFF;
|
|
||||||
DEVICE_FAMILY = ACEX1K;
|
|
||||||
AUTO_FAST_IO = OFF;
|
|
||||||
AUTO_GLOBAL_OE = ON;
|
|
||||||
AUTO_GLOBAL_PRESET = ON;
|
|
||||||
AUTO_GLOBAL_CLEAR = ON;
|
|
||||||
AUTO_GLOBAL_CLOCK = ON;
|
|
||||||
MULTI_LEVEL_SYNTHESIS_MAX5000_7000 = OFF;
|
|
||||||
OPTIMIZE_FOR_SPEED = 5;
|
|
||||||
END;
|
|
||||||
|
|
||||||
COMPILER_PROCESSING_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
USE_QUARTUS_FITTER = ON;
|
|
||||||
PRESERVE_ALL_NODE_NAME_SYNONYMS = OFF;
|
|
||||||
FITTER_SETTINGS = NORMAL;
|
|
||||||
SMART_RECOMPILE = OFF;
|
|
||||||
GENERATE_AHDL_TDO_FILE = OFF;
|
|
||||||
RPT_FILE_USER_ASSIGNMENTS = ON;
|
|
||||||
RPT_FILE_LCELL_INTERCONNECT = ON;
|
|
||||||
RPT_FILE_HIERARCHY = ON;
|
|
||||||
RPT_FILE_EQUATIONS = ON;
|
|
||||||
LINKED_SNF_EXTRACTOR = OFF;
|
|
||||||
OPTIMIZE_TIMING_SNF = OFF;
|
|
||||||
TIMING_SNF_EXTRACTOR = ON;
|
|
||||||
FUNCTIONAL_SNF_EXTRACTOR = OFF;
|
|
||||||
DESIGN_DOCTOR_RULES = EPLD;
|
|
||||||
DESIGN_DOCTOR = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
COMPILER_INTERFACES_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
NETLIST_OUTPUT_TIME_SCALE = 0.1ns;
|
|
||||||
EDIF_INPUT_SHOW_LMF_MAPPING_MESSAGES = OFF;
|
|
||||||
EDIF_BUS_DELIMITERS = [];
|
|
||||||
EDIF_FLATTEN_BUS = OFF;
|
|
||||||
EDIF_OUTPUT_FORCE_0NS_DELAYS = OFF;
|
|
||||||
EDIF_OUTPUT_INCLUDE_SPECIAL_PRIM = OFF;
|
|
||||||
EDIF_OUTPUT_MAP_ILLEGAL_CHAR = OFF;
|
|
||||||
EDIF_OUTPUT_DELAY_CONSTRUCTS = EDO_FILE;
|
|
||||||
EDIF_OUTPUT_USE_EDC = OFF;
|
|
||||||
EDIF_INPUT_USE_LMF2 = OFF;
|
|
||||||
EDIF_INPUT_USE_LMF1 = OFF;
|
|
||||||
EDIF_OUTPUT_GND = GND;
|
|
||||||
EDIF_OUTPUT_VCC = VCC;
|
|
||||||
EDIF_INPUT_GND = GND;
|
|
||||||
EDIF_INPUT_VCC = VCC;
|
|
||||||
EDIF_OUTPUT_EDC_FILE = *.edc;
|
|
||||||
EDIF_INPUT_LMF2 = *.lmf;
|
|
||||||
EDIF_INPUT_LMF1 = *.lmf;
|
|
||||||
VHDL_GENERATE_CONFIGURATION_DECLARATION = OFF;
|
|
||||||
VHDL_OUTPUT_DELAY_CONSTRUCTS = VHO_FILE;
|
|
||||||
VERILOG_OUTPUT_DELAY_CONSTRUCTS = VO_FILE;
|
|
||||||
VHDL_FLATTEN_BUS = OFF;
|
|
||||||
VERILOG_FLATTEN_BUS = OFF;
|
|
||||||
EDIF_TRUNCATE_HIERARCHY_PATH = OFF;
|
|
||||||
VHDL_TRUNCATE_HIERARCHY_PATH = OFF;
|
|
||||||
VERILOG_TRUNCATE_HIERARCHY_PATH = OFF;
|
|
||||||
VERILOG_OUTPUT_MAP_ILLEGAL_CHAR = OFF;
|
|
||||||
VHDL_WRITER_VERSION = VHDL87;
|
|
||||||
VHDL_READER_VERSION = VHDL87;
|
|
||||||
SYNOPSYS_MAPPING_EFFORT = MEDIUM;
|
|
||||||
SYNOPSYS_BOUNDARY_OPTIMIZATION = OFF;
|
|
||||||
SYNOPSYS_HIERARCHICAL_COMPILATION = ON;
|
|
||||||
SYNOPSYS_DESIGNWARE = OFF;
|
|
||||||
SYNOPSYS_COMPILER = DESIGN;
|
|
||||||
USE_SYNOPSYS_SYNTHESIS = OFF;
|
|
||||||
VHDL_NETLIST_WRITER = OFF;
|
|
||||||
VERILOG_NETLIST_WRITER = OFF;
|
|
||||||
XNF_GENERATE_AHDL_TDX_FILE = ON;
|
|
||||||
XNF_TRANSLATE_INTERNAL_NODE_NAMES = ON;
|
|
||||||
XNF_EMULATE_TRI_STATE_BUSES = INTERNAL_LOGIC;
|
|
||||||
EDIF_OUTPUT_VERSION = 200;
|
|
||||||
EDIF_NETLIST_WRITER = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
CUSTOM_DESIGN_DOCTOR_RULES
|
|
||||||
BEGIN
|
|
||||||
MASTER_RESET = OFF;
|
|
||||||
EXPANDER_NETWORKS = ON;
|
|
||||||
RACE_CONDITIONS = ON;
|
|
||||||
DELAY_CHAINS = ON;
|
|
||||||
ASYNCHRONOUS_INPUTS = ON;
|
|
||||||
PRESET_CLEAR_NETWORKS = ON;
|
|
||||||
STATIC_HAZARDS_AFTER_SYNTHESIS = OFF;
|
|
||||||
STATIC_HAZARDS_BEFORE_SYNTHESIS = ON;
|
|
||||||
MULTI_CLOCK_NETWORKS = ON;
|
|
||||||
MULTI_LEVEL_CLOCKS = ON;
|
|
||||||
GATED_CLOCKS = ON;
|
|
||||||
RIPPLE_CLOCKS = ON;
|
|
||||||
END;
|
|
||||||
|
|
||||||
SIMULATOR_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
END_TIME = 5.0us;
|
|
||||||
BIDIR_PIN = STRONG;
|
|
||||||
START_TIME = 0.0ns;
|
|
||||||
GLITCH_TIME = 0.0ns;
|
|
||||||
GLITCH = OFF;
|
|
||||||
OSCILLATION_TIME = 0.0ns;
|
|
||||||
OSCILLATION = OFF;
|
|
||||||
CHECK_OUTPUTS = OFF;
|
|
||||||
SETUP_HOLD = OFF;
|
|
||||||
USE_DEVICE = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
TIMING_ANALYZER_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
ANALYSIS_MODE = REGISTERED_PERFORMANCE;
|
|
||||||
CUT_OFF_RAM_REGISTERED_WE_PATHS = OFF;
|
|
||||||
LIST_PATH_FREQUENCY = 10MHz;
|
|
||||||
LIST_PATH_COUNT = 10;
|
|
||||||
REGISTERED_PERFORMANCE_OPTIONS = NUMBER_OF_PATHS;
|
|
||||||
INCLUDE_PATHS_LESS_THAN_VALUE = 214.7483647ms;
|
|
||||||
INCLUDE_PATHS_LESS_THAN = OFF;
|
|
||||||
INCLUDE_PATHS_GREATER_THAN_VALUE = 0.0ns;
|
|
||||||
INCLUDE_PATHS_GREATER_THAN = OFF;
|
|
||||||
DELAY_MATRIX_OPTIONS = SHOW_ALL_PATHS;
|
|
||||||
CELL_WIDTH = 18;
|
|
||||||
LIST_ONLY_LONGEST_PATH = ON;
|
|
||||||
CUT_OFF_CLEAR_AND_PRESET_PATHS = ON;
|
|
||||||
CUT_OFF_IO_PIN_FEEDBACK = ON;
|
|
||||||
AUTO_RECALCULATE = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
OTHER_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
LAST_MAXPLUS2_VERSION = 10.0;
|
|
||||||
EXPLICIT_FAMILY = 1;
|
|
||||||
ROW_PINS_LCELL_INSERT = ON;
|
|
||||||
CARRY_OUT_PINS_LCELL_INSERT = OFF;
|
|
||||||
NORMAL_LCELL_INSERT = ON;
|
|
||||||
FLEX_10K_52_COLUMNS = 40;
|
|
||||||
DEFAULT_9K_EXP_PER_LCELL = 1/2;
|
|
||||||
LOCAL_INTERCONNECT_PER_LAB_PERCENT = 100;
|
|
||||||
LCELLS_PER_ROW_PERCENT = 100;
|
|
||||||
FAN_IN_PER_LCELL_PERCENT = 100;
|
|
||||||
EXP_PER_LCELL_PERCENT = 100;
|
|
||||||
ROW_PINS_PERCENT = 50;
|
|
||||||
ORIGINAL_MAXPLUS2_VERSION = 9.6;
|
|
||||||
COMPILER_DATA = "1,1,0,1,0,0,0,1,1,1,1,0,1,1,1";
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.MAX5000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = ON;
|
|
||||||
REFACTORIZATION = ON;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.MAX7000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = ON;
|
|
||||||
REFACTORIZATION = ON;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.CLASSIC
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.FLEX8000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = ON;
|
|
||||||
REFACTORIZATION = ON;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
IGNORE_SOFT_BUFFERS = ON;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = 32;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = 2;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.MAX5000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.MAX7000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = ON;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.CLASSIC
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.FLEX8000
|
|
||||||
BEGIN
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
IGNORE_SOFT_BUFFERS = ON;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = 32;
|
|
||||||
CARRY_CHAIN = AUTO;
|
|
||||||
CASCADE_CHAIN_LENGTH = 2;
|
|
||||||
CASCADE_CHAIN = AUTO;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.MAX5000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = OFF;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = OFF;
|
|
||||||
SOFT_BUFFER_INSERTION = OFF;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.MAX7000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = OFF;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = OFF;
|
|
||||||
SOFT_BUFFER_INSERTION = OFF;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.CLASSIC
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = OFF;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.FLEX8000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = OFF;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = OFF;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
IGNORE_SOFT_BUFFERS = ON;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = 32;
|
|
||||||
CARRY_CHAIN = MANUAL;
|
|
||||||
CASCADE_CHAIN_LENGTH = 2;
|
|
||||||
CASCADE_CHAIN = MANUAL;
|
|
||||||
END;
|
|
||||||
|
|
||||||
@ -1,27 +0,0 @@
|
|||||||
-- Copyright (C) 1988-2000 Altera Corporation
|
|
||||||
-- Any megafunction design, and related net list (encrypted or decrypted),
|
|
||||||
-- support information, device programming or simulation file, and any other
|
|
||||||
-- associated documentation or information provided by Altera or a partner
|
|
||||||
-- under Altera's Megafunction Partnership Program may be used only to
|
|
||||||
-- program PLD devices (but not masked PLD devices) from Altera. Any other
|
|
||||||
-- use of such megafunction design, net list, support information, device
|
|
||||||
-- programming or simulation file, or any other related documentation or
|
|
||||||
-- information is prohibited for any other purpose, including, but not
|
|
||||||
-- limited to modification, reverse engineering, de-compiling, or use with
|
|
||||||
-- any other silicon devices, unless such use is explicitly licensed under
|
|
||||||
-- a separate agreement with Altera or a megafunction partner. Title to
|
|
||||||
-- the intellectual property, including patents, copyrights, trademarks,
|
|
||||||
-- trade secrets, or maskworks, embodied in any such megafunction design,
|
|
||||||
-- net list, support information, device programming or simulation file, or
|
|
||||||
-- any other related documentation or information provided by Altera or a
|
|
||||||
-- megafunction partner, remains with Altera, the megafunction partner, or
|
|
||||||
-- their respective licensors. No other licenses, including any licenses
|
|
||||||
-- needed under any third party's intellectual property, are provided herein.
|
|
||||||
|
|
||||||
-- MAX+plus II Include File
|
|
||||||
-- Version 10.0 9/14/2000
|
|
||||||
-- Created: Thu Feb 07 21:14:23 2002
|
|
||||||
|
|
||||||
FUNCTION dcp (clk42, /reset, ct[2..0], continue, a[15..0], di[7..0], turbo_hand, /io, /rd, /wr, /mr, /rf, /m1, md[7..0], dos, refresh, g_line[9..0], test_r, acc_on, double_cas, blk_mem)
|
|
||||||
WITH (UPDATE)
|
|
||||||
RETURNS (/res, ras, cas, mc_end, mc_begin, mc_type, mc_write, do[7..0], ma[11..0], mca[1..0], clk_z80, turbo, /wait, /iom, /iomm, ra[17..14], page[11..0], type[3..0], cs_rom, cs_ram, v_ram, port, wr_dwg, wr_tm9, wr_awg, rd_kp11, kp11_mix, ga[9..0], graf, sp_scr, sp_sa, scr128, hdd_data, hdd_flip, ram, blk_r, pn4q, dcpp[7..0]);
|
|
||||||
@ -1,119 +0,0 @@
|
|||||||
DEPTH = 256; % Memory depth and width are required %
|
|
||||||
WIDTH = 16; % Enter a decimal number %
|
|
||||||
|
|
||||||
ADDRESS_RADIX = HEX; % Address and value radixes are optional %
|
|
||||||
DATA_RADIX = HEX; % Enter BIN, DEC, HEX, or OCT; unless %
|
|
||||||
% otherwise specified, radixes = HEX %
|
|
||||||
|
|
||||||
-- Specify values for addresses, which can be single address or range
|
|
||||||
|
|
||||||
CONTENT
|
|
||||||
BEGIN
|
|
||||||
[0..FF] : 1000;
|
|
||||||
|
|
||||||
0 : 1040 % DCP PAGE %;
|
|
||||||
|
|
||||||
%
|
|
||||||
MA[11..0] bit0 - WG_A5
|
|
||||||
bit1 - WG_A6
|
|
||||||
|
|
||||||
bit2 - MUX_KP11, 0 - WG,CMOS 1 - KMPS,TM9
|
|
||||||
bit3 - RD/WR 0 - WRITE 1 - READ
|
|
||||||
bit4 - CS_WG93 or WR_TM9
|
|
||||||
|
|
||||||
bit5 - HDD/CMOS strobe
|
|
||||||
bit6,7 - 00 - FDD/Scr switches
|
|
||||||
01 - HDD Switch/ Reset
|
|
||||||
10 - HDD1/HDD2
|
|
||||||
11 - CMOS
|
|
||||||
bit8 - HDD CS1/CS3 or CMOS data/adr
|
|
||||||
bit9,10,11 - HDD_A[2..0]
|
|
||||||
%
|
|
||||||
10 :
|
|
||||||
7018 % RD WG93 1F,0F %
|
|
||||||
7019 % RD WG93 3F %
|
|
||||||
701A % RD WG93 5F %
|
|
||||||
701B % RD WG93 7F %
|
|
||||||
|
|
||||||
7017 % WR_PDOS FF %
|
|
||||||
701F % RD_KEYS/ WR_A20 %
|
|
||||||
|
|
||||||
7023 % Set 720 %
|
|
||||||
7027 % Set 1440 %;
|
|
||||||
|
|
||||||
-- 18 :
|
|
||||||
-- 1000 % No_function %
|
|
||||||
|
|
||||||
-- 1B : 1000; % ISA_A20 WR %
|
|
||||||
|
|
||||||
1C : 71D8 % CMOS_DAT_RD %;
|
|
||||||
1D : 70D4 % CMOS_ADR_WR %;
|
|
||||||
1E : 71D4 % CMOS_DAT_WR %;
|
|
||||||
|
|
||||||
20 :
|
|
||||||
60A8 % HD_CS1 ports %
|
|
||||||
62A8
|
|
||||||
64A8
|
|
||||||
66A8
|
|
||||||
68A8
|
|
||||||
6AA8
|
|
||||||
6CA8
|
|
||||||
6EA8
|
|
||||||
|
|
||||||
6DA8 % HD_CS3 3F6 port %
|
|
||||||
6FA8 % HD_CS3 3F7 port %
|
|
||||||
|
|
||||||
7060 % Set HDD1 %
|
|
||||||
7064 % Set HDD2 %
|
|
||||||
|
|
||||||
7120 % Set 320 Lines %
|
|
||||||
7124 % Set 312 Lines %
|
|
||||||
|
|
||||||
7160 % Soft Reset %
|
|
||||||
7164 % ??? %;
|
|
||||||
|
|
||||||
|
|
||||||
30 :
|
|
||||||
7000 % slot 1 ports %
|
|
||||||
7001 % slot 2 ports %
|
|
||||||
7002 % slot 1 mem %
|
|
||||||
7003 % slot 2 mem %
|
|
||||||
;
|
|
||||||
|
|
||||||
40 : 4000; % kb read %
|
|
||||||
|
|
||||||
52 : 3000; -- AY_D READ
|
|
||||||
|
|
||||||
58 : 5000; -- KEMPSTON-Mouse
|
|
||||||
|
|
||||||
[80..FF]: C000;
|
|
||||||
|
|
||||||
88 : 2000; -- COVOX
|
|
||||||
89 : 2000; -- COVOX-Mode
|
|
||||||
|
|
||||||
8C : 3000; -- AY_D READ
|
|
||||||
8D : 2000; -- AY_A WRITE
|
|
||||||
8E : 2000; -- AY_D WRITE
|
|
||||||
|
|
||||||
8F : 2000; -- port for ROM_WRITE
|
|
||||||
|
|
||||||
-- 80 : 7F 7F 7F 7F 7F 7F 7F 7F % KBD_DAT %;
|
|
||||||
-- 90 : 7F % PORT FF %;
|
|
||||||
|
|
||||||
90 : 3030 3031 2032 2033 2034 2035 2036 2037
|
|
||||||
2038 2039 203A 203B 203C 203D 203E 203F; % RAM PAGES %
|
|
||||||
|
|
||||||
B0 : 2020 2021 2022 2023 2024 2025 2026 2027
|
|
||||||
2028 2029 202A 202B 202C 202D 202E 202F; % RAM PAGES %
|
|
||||||
|
|
||||||
[C0..CF]: 2000 % SYS PORTS COPYES %;
|
|
||||||
|
|
||||||
D0 : 2010 2011 2012 2013 2014 2015 2016 2017
|
|
||||||
2018 2019 201A 201B 201C 201D 201E 201F; % RAM PAGES %
|
|
||||||
E0 : 2041 2041 2041 2041 2041 2041 2041 2041
|
|
||||||
2000 2005 2002 2041 20FF 2000 2000 2041; % ROM PAGES %
|
|
||||||
-- E0 : 41 42 43 44 45 46 47 48 00 05 02 E0 F0 00 00 E8; % ROM PAGES %
|
|
||||||
F0 : 2000 2001 2002 2003 2004 2005 2006 2007
|
|
||||||
2008 2009 200A 200B 200C 200D 200E 200F; % RAM PAGES %
|
|
||||||
|
|
||||||
END ;
|
|
||||||
@ -1,750 +0,0 @@
|
|||||||
|
|
||||||
TITLE "DCP";
|
|
||||||
|
|
||||||
PARAMETERS
|
|
||||||
(
|
|
||||||
UPDATE = 1
|
|
||||||
);
|
|
||||||
|
|
||||||
INCLUDE "lpm_ram_dp";
|
|
||||||
-- INCLUDE "DC_PORT2";
|
|
||||||
|
|
||||||
SUBDESIGN dcp
|
|
||||||
(
|
|
||||||
CLK42 : INPUT;
|
|
||||||
/RESET : INPUT;
|
|
||||||
|
|
||||||
/RES : OUTPUT;
|
|
||||||
|
|
||||||
CT[2..0] : INPUT;
|
|
||||||
|
|
||||||
CONTINUE : INPUT;
|
|
||||||
RAS : OUTPUT;
|
|
||||||
CAS : OUTPUT;
|
|
||||||
MC_END : OUTPUT;
|
|
||||||
MC_BEGIN : OUTPUT;
|
|
||||||
MC_TYPE : OUTPUT;
|
|
||||||
MC_WRITE : OUTPUT;
|
|
||||||
|
|
||||||
A[15..0] : INPUT;
|
|
||||||
DI[7..0] : INPUT;
|
|
||||||
DO[7..0] : OUTPUT;
|
|
||||||
MA[11..0] : OUTPUT;
|
|
||||||
MCA[1..0] : OUTPUT;
|
|
||||||
|
|
||||||
TURBO_HAND : INPUT;
|
|
||||||
CLK_Z80 : OUTPUT;
|
|
||||||
TURBO : OUTPUT;
|
|
||||||
|
|
||||||
/IO : INPUT;
|
|
||||||
/RD : INPUT;
|
|
||||||
/WR : INPUT;
|
|
||||||
/MR : INPUT;
|
|
||||||
/RF : INPUT;
|
|
||||||
/M1 : INPUT;
|
|
||||||
|
|
||||||
/WAIT : OUTPUT;
|
|
||||||
/IOM : OUTPUT;
|
|
||||||
/IOMM : OUTPUT;
|
|
||||||
|
|
||||||
MD[7..0] : INPUT;
|
|
||||||
RA[17..14] : OUTPUT;
|
|
||||||
PAGE[11..0] : OUTPUT;
|
|
||||||
|
|
||||||
TYPE[3..0] : OUTPUT;
|
|
||||||
|
|
||||||
CS_ROM : OUTPUT;
|
|
||||||
CS_RAM : OUTPUT;
|
|
||||||
V_RAM : OUTPUT;
|
|
||||||
PORT : OUTPUT;
|
|
||||||
-- DOS : OUTPUT;
|
|
||||||
DOS : INPUT;
|
|
||||||
|
|
||||||
WR_DWG : OUTPUT;
|
|
||||||
|
|
||||||
WR_TM9 : OUTPUT;
|
|
||||||
WR_AWG : OUTPUT;
|
|
||||||
RD_KP11 : OUTPUT;
|
|
||||||
KP11_MIX : OUTPUT;
|
|
||||||
|
|
||||||
REFRESH : INPUT;
|
|
||||||
|
|
||||||
G_LINE[9..0]: INPUT;
|
|
||||||
GA[9..0] : OUTPUT;
|
|
||||||
GRAF : OUTPUT;
|
|
||||||
|
|
||||||
SP_SCR : OUTPUT;
|
|
||||||
SP_SA : OUTPUT;
|
|
||||||
SCR128 : OUTPUT;
|
|
||||||
|
|
||||||
TEST_R : INPUT;
|
|
||||||
|
|
||||||
HDD_DATA : OUTPUT;
|
|
||||||
HDD_FLIP : OUTPUT;
|
|
||||||
RAM : OUTPUT;
|
|
||||||
BLK_R : OUTPUT;
|
|
||||||
|
|
||||||
PN4Q : OUTPUT;
|
|
||||||
|
|
||||||
ACC_ON : INPUT; -- asselerator state - 1 - present
|
|
||||||
|
|
||||||
DCPP[7..0] : OUTPUT;
|
|
||||||
|
|
||||||
DOUBLE_CAS : INPUT;
|
|
||||||
|
|
||||||
BLK_MEM : INPUT;
|
|
||||||
|
|
||||||
)
|
|
||||||
VARIABLE
|
|
||||||
|
|
||||||
CLK21 : NODE;
|
|
||||||
|
|
||||||
-- DC : DC_PORT2;
|
|
||||||
|
|
||||||
CLK84 : NODE;
|
|
||||||
CLK42X : NODE;
|
|
||||||
|
|
||||||
CTZ[1..0] : DFF;
|
|
||||||
|
|
||||||
-- CT[2..0] : DFF;
|
|
||||||
|
|
||||||
MEM : LPM_RAM_DP WITH (LPM_WIDTH=16,LPM_WIDTHAD=8,LPM_FILE="DCP.MIF");
|
|
||||||
|
|
||||||
D[7..0] : NODE;
|
|
||||||
ADR8_MEM : NODE;
|
|
||||||
MEM_D[15..0]: NODE;
|
|
||||||
MEM_WR : NODE;
|
|
||||||
|
|
||||||
DCP_CX : NODE;
|
|
||||||
SC_LCELL : NODE;
|
|
||||||
|
|
||||||
PG3[5..0] : NODE;
|
|
||||||
PG0[5..0] : NODE;
|
|
||||||
MPGS[7..0] : LCELL;
|
|
||||||
PGS[7..0] : DFF;
|
|
||||||
-- PGS[7..0] : NODE;
|
|
||||||
|
|
||||||
PN[7..0] : DFFE;
|
|
||||||
SC[7..0] : DFFE;
|
|
||||||
SYS : DFFE;
|
|
||||||
CNF[7..0] : DFFE;
|
|
||||||
AROM16 : DFFE;
|
|
||||||
TB_SW : DFFE;
|
|
||||||
|
|
||||||
CASH_ON : NODE;
|
|
||||||
NMI_ENA : NODE;
|
|
||||||
|
|
||||||
DD[7..0] : DFFE;
|
|
||||||
STARTING : NODE;
|
|
||||||
|
|
||||||
-- DOS_ : NODE;
|
|
||||||
-- DOS : NODE;
|
|
||||||
-- DOS_ON_ : NODE;
|
|
||||||
|
|
||||||
MC_RQ : NODE;
|
|
||||||
MC_END : DFFE;
|
|
||||||
MC_BEGIN : DFFE;
|
|
||||||
MC_TYPE : DFFE;
|
|
||||||
MC_WRITE : DFFE;
|
|
||||||
RAS : DFFE;
|
|
||||||
CAS : DFFE;
|
|
||||||
|
|
||||||
MA_[11..0] : DFFE;
|
|
||||||
MCA[1..0] : DFFE;
|
|
||||||
|
|
||||||
/IOM : DFFE;
|
|
||||||
/IOMM : DFFE;
|
|
||||||
/IOMX : DFFE;
|
|
||||||
/IOMY : DFFE;
|
|
||||||
|
|
||||||
WT_CT[3..0] : DFFE;
|
|
||||||
W_TAB[3..0] : LCELL;
|
|
||||||
HDD_W[3..0] : NODE;
|
|
||||||
/IO_WAIT : NODE;
|
|
||||||
/MR_WAIT : NODE;
|
|
||||||
|
|
||||||
MEM_RW : NODE;
|
|
||||||
IO_RW : NODE;
|
|
||||||
IO_RWM : NODE;
|
|
||||||
|
|
||||||
MA_CT[1..0] : DFFE;
|
|
||||||
|
|
||||||
WR_TM9 : DFFE;
|
|
||||||
RD_KP11 : DFFE;
|
|
||||||
|
|
||||||
/RES : NODE;
|
|
||||||
|
|
||||||
RFT : DFF;
|
|
||||||
RFC : DFFE;
|
|
||||||
|
|
||||||
GRAF : DFFE;
|
|
||||||
GRAF_X : NODE;
|
|
||||||
GA[9..0] : LCELL;
|
|
||||||
|
|
||||||
SP_SCR : LCELL;
|
|
||||||
SP_SA : LCELL;
|
|
||||||
|
|
||||||
HDD_FLIP : DFFE;
|
|
||||||
/IOMZ : DFFE;
|
|
||||||
|
|
||||||
HDD_DATA : NODE;
|
|
||||||
HDD_ENA : NODE;
|
|
||||||
|
|
||||||
BLK_C : NODE;
|
|
||||||
/CASH : NODE;
|
|
||||||
|
|
||||||
DCPP[7..0] : DFFE;
|
|
||||||
|
|
||||||
PORTS_X : NODE;
|
|
||||||
|
|
||||||
NO_IO_WAIT : NODE;
|
|
||||||
|
|
||||||
DCP_RES : NODE;
|
|
||||||
|
|
||||||
HDD_A[3..0] : DFF;
|
|
||||||
|
|
||||||
X_ADR[11..0]: LCELL;
|
|
||||||
X_MA_[11..0]: LCELL;
|
|
||||||
|
|
||||||
WR_AWGX : NODE;
|
|
||||||
|
|
||||||
/IOWR : NODE;
|
|
||||||
|
|
||||||
RA[17..14] : LCELL;
|
|
||||||
|
|
||||||
-- SPR_[1..0] : NODE;
|
|
||||||
SPR_[1..0] : LCELL;
|
|
||||||
|
|
||||||
SYS_ENA : NODE;
|
|
||||||
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
%
|
|
||||||
-- DC.CLK42 = CLK42;
|
|
||||||
-- DC./RESET = /RESET;
|
|
||||||
--
|
|
||||||
-- DC.A[15..0] = A[15..0];
|
|
||||||
--
|
|
||||||
-- DC./IO = /IO;
|
|
||||||
-- DC./WR = /WR;
|
|
||||||
-- DC./M1 = /M1;
|
|
||||||
--
|
|
||||||
-- -- DC./IOM;
|
|
||||||
-- -- DC./IOMM;
|
|
||||||
-- -- DC.DCP[7..0];
|
|
||||||
--
|
|
||||||
-- DC.DOS = DOS;
|
|
||||||
-- DC.CNF[1..0]= CNF[4..3];
|
|
||||||
--
|
|
||||||
-- DC.SYS = SYS;
|
|
||||||
--
|
|
||||||
-- -- DC.PORT_X;
|
|
||||||
%
|
|
||||||
|
|
||||||
|
|
||||||
-- ==============================================================
|
|
||||||
%
|
|
||||||
-- CT[].clk = CLK42;
|
|
||||||
--
|
|
||||||
-- IF CT1 THEN
|
|
||||||
-- CT[1..0] = GND;
|
|
||||||
-- CT2 = !CT2;
|
|
||||||
-- ELSE
|
|
||||||
-- CT[1..0] = CT[1..0]+1;
|
|
||||||
-- CT2 = CT2;
|
|
||||||
-- END IF;
|
|
||||||
%
|
|
||||||
|
|
||||||
/RES = DFFE(VCC,CLK42,,,CT0);
|
|
||||||
-- ==============================================================
|
|
||||||
|
|
||||||
-- TURBO = DFFE((TB_SW & TURBO_HAND),CLK42,,/RESET,CLK_Z80);
|
|
||||||
TURBO = DFF(DFFE((TB_SW & TURBO_HAND),CLK_Z80,,/RESET,!/RF),CLK42,,);
|
|
||||||
|
|
||||||
CLK84 = CLK42 xor LCELL(CLK42X);
|
|
||||||
CLK42X = DFF(!CLK42X,CLK84,,);
|
|
||||||
|
|
||||||
CTZ[].clk = CLK84 xor CTZ1;
|
|
||||||
CTZ[] = CTZ[]+1;
|
|
||||||
|
|
||||||
-- CLK_Z80 = CTZ1;
|
|
||||||
|
|
||||||
-- CLK_Z80 = DFF((!CLK21 & TURBO) or (TFF((CT2 & CT1),CLK42,,) & !TURBO),!CLK42,,);
|
|
||||||
-- CLK_Z80 = DFF((CLK21 & TURBO) or (TFF((CT2 & CT1),CLK42,,) & !TURBO),!CLK42,,);
|
|
||||||
|
|
||||||
CLK_Z80 = DFF((CLK21 & TURBO) or (TFF((!CT2 & CT1),CLK42,,) & !TURBO),!CLK42,,);
|
|
||||||
-- CLK_Z80 = DFF((!CLK21 & TURBO) or (TFF((!CT2 & CT1),CLK42,,) & !TURBO),!CLK42,,);
|
|
||||||
|
|
||||||
-- ==============================================================
|
|
||||||
CLK21 = DFF((!CT0 xor CT2),CLK42,,);
|
|
||||||
-- === Adress Multiplexer =======================================
|
|
||||||
|
|
||||||
MA_[].clk = CLK42;
|
|
||||||
-- MA_[].ena = (CT2 xor CT0);
|
|
||||||
MA_[].ena = CLK21;
|
|
||||||
|
|
||||||
WR_TM9.clk = CLK42;
|
|
||||||
-- WR_TM9.ena = (CT2 xor CT0);
|
|
||||||
WR_TM9.ena = CLK21;
|
|
||||||
WR_TM9.prn = /RES;
|
|
||||||
|
|
||||||
RD_KP11.clk = !CLK42;
|
|
||||||
-- RD_KP11.ena = (CT2 xor CT0);
|
|
||||||
RD_KP11.ena = CLK21;
|
|
||||||
RD_KP11.prn = /RES;
|
|
||||||
RD_KP11.d = !(MA_CT[] == 0);
|
|
||||||
|
|
||||||
-- WR_AWGX = DFF((WR_TM9 or CLK21),!CLK42,,);
|
|
||||||
WR_AWGX = DFF(GND,!WR_TM9,,DFF(WR_AWGX,CLK42,,));
|
|
||||||
|
|
||||||
-- WR_TM9 = (!MA_CT1 or (!IO_RW & !PORTS_X));
|
|
||||||
WR_TM9 = (!MA_CT1 or (!/IO & !PORTS_X));
|
|
||||||
|
|
||||||
WR_AWG = WR_AWGX;
|
|
||||||
|
|
||||||
KP11_MIX = TFF(VCC,RD_KP11,,);
|
|
||||||
|
|
||||||
WR_DWG = !MC_BEGIN;
|
|
||||||
-- WR_DWG = DFF(!MC_BEGIN,CLK42,,);
|
|
||||||
-- WR_DWG = LCELL(!MC_BEGIN);
|
|
||||||
|
|
||||||
-- MA_CT[].ena = (CT2 xor CT0);
|
|
||||||
MA_CT[].ena = CLK21;
|
|
||||||
MA_CT[].clk = CLK42;
|
|
||||||
|
|
||||||
IF !LCELL(CT2 & !CT1) THEN
|
|
||||||
MA_CT[] = MA_CT[]+1;
|
|
||||||
ELSE
|
|
||||||
MA_CT[] = GND;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
%
|
|
||||||
-- MA_[11..0] bit0 - WG_A5
|
|
||||||
-- bit1 - WG_A6
|
|
||||||
-- bit2 - MUX_KP11, 0 - WG,CMOS 1 - KMPS,TM9
|
|
||||||
-- bit3 - RD/WR 0 - WRITE 1 - READ
|
|
||||||
-- bit4 - CS_WG93 or WR_TM9
|
|
||||||
-- bit5 - HDD/CMOS strobe
|
|
||||||
-- bit7,6 - 00 - not
|
|
||||||
-- 01 - ????
|
|
||||||
-- 10 - HDD1/2
|
|
||||||
-- 11 - CMOS
|
|
||||||
-- bit8 - HDD CS1/CS3 or CMOS data/adr
|
|
||||||
-- bit9,10,11 - HDD_A[2..0]
|
|
||||||
%
|
|
||||||
CASE A[15..14] IS
|
|
||||||
WHEN 0 => SP_SCR = GND; SP_SA = GND;
|
|
||||||
WHEN 1 => SP_SCR = !GRAF; SP_SA = GND;
|
|
||||||
WHEN 2 => SP_SCR = GND; SP_SA = PG3[1];
|
|
||||||
WHEN 3 => SP_SCR = !GRAF & LCELL(PG3[] == B"1101X1"); SP_SA = PG3[1];
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
CASE GRAF IS
|
|
||||||
WHEN 0 => GA[] = (GND,GND,MEM.q[3..0],A[13..10]);
|
|
||||||
-- WHEN 1 => GA[] = (VCC,(G_LINE[8..0] + (B"00000",A[13..10])));
|
|
||||||
WHEN 1 => GA[] = (VCC,G_LINE[8..0]);
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
CASE (IO_RW,MA_CT0) IS
|
|
||||||
WHEN 0 => X_ADR[] = (GND,CNF4,PN5,DOS,/WR,A15,A14,A[6..5],A13,A7,A[2]);
|
|
||||||
WHEN 1 => X_ADR[] = (GND,GND,CNF[4..3],B"01000000");
|
|
||||||
WHEN 2 => X_ADR[] = (GND,GA3,GA[1..0],A[9..2]);
|
|
||||||
WHEN 3 => X_ADR[] = (GND,GND,GA[3..2],MEM.q[7..4],GA[7..4]);
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
CASE IO_RW IS
|
|
||||||
WHEN 0 => X_MA_[] = (HDD_A[2..0],MEM.q[8..6],((MEM.q[5..4]) & (!/IOMZ,!/IOMY)),/WR,MEM.q2,A[6..5]);
|
|
||||||
WHEN 1 => X_MA_[] = (HDD_A[2..0],B"00000",/WR,VCC,A[6..5]);
|
|
||||||
END CASE;
|
|
||||||
%
|
|
||||||
-- CASE MA_CT1 IS
|
|
||||||
---- WHEN 0 => MA_[] = X_ADR[];
|
|
||||||
-- WHEN 0 => MA_[] = (GND,X_ADR[10..0]);
|
|
||||||
-- WHEN 1 => MA_[] = (HDD_A[2..0],X_MA_[8..4],/WR,X_MA_[3],A[6..5]);
|
|
||||||
-- END CASE;
|
|
||||||
%
|
|
||||||
|
|
||||||
CASE (IO_RW,MA_CT1) IS
|
|
||||||
WHEN B"00" =>
|
|
||||||
MA_[] = (X_ADR[11..0]);
|
|
||||||
WHEN B"01" =>
|
|
||||||
MA_[] = (HDD_A[2..0],MEM.q[8..6],((MEM.q[5..4]) & (!/IOMZ,!/IOMY)),/WR,MEM.q2,A[6..5]);
|
|
||||||
WHEN B"10" =>
|
|
||||||
MA_[] = (X_ADR[11..0]);
|
|
||||||
WHEN B"11" =>
|
|
||||||
MA_[] = (HDD_A[2..0],B"00000",/WR,VCC,A[6..5]);
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
MA[] = MA_[];
|
|
||||||
|
|
||||||
MCA[].ena = CT2 & CT1;
|
|
||||||
MCA[].clk = CLK42;
|
|
||||||
MCA[] = A[1..0]; -- adress for CAS
|
|
||||||
|
|
||||||
HDD_A[].clk = CLK42;
|
|
||||||
CASE (A[14],A[2..0]) IS
|
|
||||||
WHEN 0 => HDD_A[] = 0;
|
|
||||||
WHEN 1 => HDD_A[] = 1;
|
|
||||||
WHEN 2 => HDD_A[] = 2;
|
|
||||||
WHEN 3 => HDD_A[] = 3;
|
|
||||||
WHEN 4 => HDD_A[] = 4;
|
|
||||||
WHEN 5 => HDD_A[] = 5;
|
|
||||||
WHEN 6 => HDD_A[] = 0;
|
|
||||||
WHEN 7 => HDD_A[] = 0;
|
|
||||||
WHEN 8 => HDD_A[] = 0;
|
|
||||||
WHEN 9 => HDD_A[] = 0;
|
|
||||||
WHEN 10 => HDD_A[] = 6;
|
|
||||||
WHEN 11 => HDD_A[] = 7;
|
|
||||||
WHEN 12 => HDD_A[] = 14;
|
|
||||||
WHEN 13 => HDD_A[] = 15;
|
|
||||||
WHEN 14 => HDD_A[] = 0;
|
|
||||||
WHEN 15 => HDD_A[] = 0;
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
|
|
||||||
-- === Memory Sinchronizer ======================================
|
|
||||||
|
|
||||||
|
|
||||||
% RF | MEM | RF
|
|
||||||
____ | | _______
|
|
||||||
/MR \__________/
|
|
||||||
| |
|
|
||||||
_____| | _______
|
|
||||||
MC_BEGIN \________/
|
|
||||||
| |__
|
|
||||||
MC_END ____________/ \_______
|
|
||||||
______ |__________
|
|
||||||
MC_TYPE \_____/
|
|
||||||
| |
|
|
||||||
RAS __ _ ___ __
|
|
||||||
\__/|\__/ | \__/
|
|
||||||
____ _ __
|
|
||||||
CAS \__/ | \__/|\__/
|
|
||||||
| |
|
|
||||||
|
|
||||||
%
|
|
||||||
|
|
||||||
-- MC_RQ = DFF(((/MR & DFF(/IO,CLK42,,)) or (/RD & /WR)),CLK42,,);
|
|
||||||
|
|
||||||
-- MC_RQ = DFF(((/MR & DFFE(GND,!CLK42,,!/IO,CT0)) or (/RD & /WR)),!CLK42,,);
|
|
||||||
|
|
||||||
-- MC_RQ = DFF((((/MR or !/RF) & DFF(/IO,CLK42,,/M1)) or (/RD & /WR)),CLK42,,);
|
|
||||||
|
|
||||||
-- MC_RQ = DFF((((/MR or !/RF) & IO_RW) or (/RD & /WR)),CLK42,,);
|
|
||||||
|
|
||||||
-- MC_RQ = DFF(((MEM_RW & IO_RW) or (/RD & /WR)),CLK42,,);
|
|
||||||
|
|
||||||
MC_RQ = DFF(((MEM_RW & DFF(DFF(IO_RW,CLK42,,!/IO),CLK42,,!/IO)) or (/RD & /WR)),!CLK42,,);
|
|
||||||
|
|
||||||
MC_BEGIN.clk= CLK42;
|
|
||||||
MC_BEGIN.ena= CT1 & CT2;
|
|
||||||
MC_BEGIN.d = MC_RQ;
|
|
||||||
MC_BEGIN.prn= !(/MR & /IO);
|
|
||||||
|
|
||||||
MC_END.clk = CLK42;
|
|
||||||
MC_END.d = VCC;
|
|
||||||
MC_END.ena = (CT0 & CT2) & !MC_BEGIN & CONTINUE & !BLK_C;
|
|
||||||
MC_END.clrn = !(/MR & /IO);
|
|
||||||
|
|
||||||
MC_TYPE.clk = CLK42;
|
|
||||||
MC_TYPE.ena = CT1 & CT2;
|
|
||||||
MC_TYPE.d = MC_RQ or MC_END;
|
|
||||||
MC_TYPE.prn = /RES;
|
|
||||||
|
|
||||||
MC_WRITE.clk= CLK42;
|
|
||||||
MC_WRITE.ena= CT1 & CT2;
|
|
||||||
MC_WRITE.d = MC_RQ or CS_RAM or /WR or MC_END;
|
|
||||||
MC_WRITE.prn= /RES;
|
|
||||||
|
|
||||||
RFT.clk = REFRESH;
|
|
||||||
RFT.d = GND;
|
|
||||||
RFT.prn = RFC;
|
|
||||||
-- RFT.prn = VCC;
|
|
||||||
|
|
||||||
RFC.clk = CLK42;
|
|
||||||
RFC.d = !MC_RQ or RFT;
|
|
||||||
-- RFC.d = !MC_RQ;
|
|
||||||
RFC.ena = CT1 & CT2;
|
|
||||||
|
|
||||||
RAS.ena = (!(CT1 or (CT0 xor MC_TYPE))) & (!MC_TYPE or !RFC);
|
|
||||||
CAS.ena = (!(CT1 or (CT0 xor !MC_TYPE))) & (!MC_TYPE or !RFC);
|
|
||||||
-- RAS.ena = (!(CT1 or (CT0 xor MC_TYPE)));
|
|
||||||
-- CAS.ena = (!(CT1 or (CT0 xor !MC_TYPE)));
|
|
||||||
|
|
||||||
RAS.clk = CLK42; CAS.clk = CLK42;
|
|
||||||
RAS.d = CT2; CAS.d = CT2 or BLK_C;
|
|
||||||
|
|
||||||
RAS.prn = /RES;
|
|
||||||
CAS.prn = /RES;
|
|
||||||
-- CAS.prn = !BLK_C;
|
|
||||||
|
|
||||||
-- /MR_WAIT = (MEM_RW or /CASH or DFF(MC_END,CLK42,!/MR,)) or (!TURBO & !ACC_ON);
|
|
||||||
-- /MR_WAIT = MC_END or LCELL(MEM_RW or /CASH or (!TURBO & !ACC_ON));
|
|
||||||
|
|
||||||
/MR_WAIT = LCELL(MC_END or MEM_RW or /CASH or (!TURBO & !ACC_ON));
|
|
||||||
|
|
||||||
-- MEM_RW = LCELL(/MR or !/RF);
|
|
||||||
|
|
||||||
-- anti gluk!
|
|
||||||
MEM_RW = DFF((!/RF or BLK_MEM),!/MR,,LCELL(MEM_RW or !/MR));
|
|
||||||
IO_RWM = DFF(!/M1,!/IO,,LCELL(IO_RW or !/IO));
|
|
||||||
|
|
||||||
IO_RW = DFF(/IO,CLK42,,/M1);
|
|
||||||
|
|
||||||
/IOMM.clk = CLK42;
|
|
||||||
-- /IOMM.ena = CT0 xor CT2;
|
|
||||||
/IOMM.ena = CLK21;
|
|
||||||
/IOMM.d = IO_RW or !MC_END or DFF((WT_CT[] == 0),CLK42,,);
|
|
||||||
/IOMM.prn = /RES;
|
|
||||||
|
|
||||||
/IOMX.clk = CLK42;
|
|
||||||
-- /IOMX.ena = CT0 xor CT2;
|
|
||||||
/IOMX.ena = CLK21;
|
|
||||||
/IOMX.d = /IOMM;
|
|
||||||
/IOMX.prn = /RES;
|
|
||||||
|
|
||||||
/IOMY.clk = CLK42;
|
|
||||||
-- /IOMY.ena = CT0 xor CT2;
|
|
||||||
/IOMY.ena = CLK21;
|
|
||||||
/IOMY.d = /IOMX or !MC_END or DFF((WT_CT[] == B"000X"),CLK42,,);
|
|
||||||
-- /IOMY.prn = /RES;
|
|
||||||
/IOMY.prn = PORTS_X;
|
|
||||||
|
|
||||||
PORTS_X = DFF(((DCPP[7..4] == B"0010") or (DCPP[7..4] == B"0001")),CLK42,,);
|
|
||||||
|
|
||||||
/IOMZ.clk = CLK42;
|
|
||||||
-- /IOMZ.ena = CT0 xor CT2;
|
|
||||||
/IOMZ.ena = CLK21;
|
|
||||||
/IOMZ.d = (A8 xor /RD) or /IOMX or !MC_END or DFF((WT_CT[] == B"000X"),CLK42,,);
|
|
||||||
/IOMZ.prn = PORTS_X;
|
|
||||||
|
|
||||||
HDD_DATA = DFF((HDD_ENA & DFF((MEM.q[11..8] == 0),CLK42,,) & PORTS_X),CLK42,,);
|
|
||||||
HDD_ENA = (MEM.q[7..5] == B"101");
|
|
||||||
|
|
||||||
HDD_FLIP.clk = /IOM;
|
|
||||||
HDD_FLIP.ena = HDD_ENA & DFF((DCPP[] == B"0010XXXX"),CLK42,,);
|
|
||||||
HDD_FLIP.d = !HDD_FLIP & (MEM.q[11..8] == 0);
|
|
||||||
HDD_FLIP.clrn = /RESET & DFF(GND,!DOUBLE_CAS,,HDD_FLIP);
|
|
||||||
|
|
||||||
/IOM.clk = CLK42;
|
|
||||||
-- /IOM.ena = CT0 xor CT2;
|
|
||||||
/IOM.ena = CLK21;
|
|
||||||
/IOM.d = (/IOMX & /IOM);
|
|
||||||
/IOM.prn = !/IO & /M1;
|
|
||||||
|
|
||||||
-- /IO_WAIT = LCELL(/IO or !/M1 or DFF(DFFE((WT_CT[] == 0),CLK42,,,CLK21),CLK42,,NO_IO_WAIT));
|
|
||||||
|
|
||||||
/IO_WAIT = LCELL(IO_RWM or DFF(DFFE((WT_CT[] == 0),CLK42,,,CLK21),CLK42,,NO_IO_WAIT));
|
|
||||||
|
|
||||||
NO_IO_WAIT = !DFF(((A[7..0] == B"111XX1XX") & !TURBO & DOS),CLK42,,);
|
|
||||||
-- NO_IO_WAIT = TURBO;
|
|
||||||
|
|
||||||
WT_CT[].clk = CLK42;
|
|
||||||
-- WT_CT[].ena = (CT2 xor CT0);
|
|
||||||
WT_CT[].ena = CLK21;
|
|
||||||
-- WT_CT[].ena = CT1;
|
|
||||||
WT_CT[].prn = MC_END;
|
|
||||||
|
|
||||||
CASE (/IOM,DFF((WT_CT[] == 0),CLK42,,)) IS
|
|
||||||
WHEN B"1X" => WT_CT[].d = W_TAB[];
|
|
||||||
WHEN B"00" => WT_CT[].d = WT_CT[]-1;
|
|
||||||
WHEN B"01" => WT_CT[].d = GND;
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
CASE (TURBO,MEM.q[14..12]) IS
|
|
||||||
WHEN 0 => W_TAB[] = 2; WHEN 8 => W_TAB[] = 2;
|
|
||||||
WHEN 1 => W_TAB[] = 2; WHEN 9 => W_TAB[] = 2;
|
|
||||||
WHEN 2 => W_TAB[] = 1; WHEN 10 => W_TAB[] = 4;
|
|
||||||
WHEN 3 => W_TAB[] = 1; WHEN 11 => W_TAB[] = 4;
|
|
||||||
WHEN 4 => W_TAB[] = 1; WHEN 12 => W_TAB[] = 7;
|
|
||||||
WHEN 5 => W_TAB[] = 2; WHEN 13 => W_TAB[] = 7;
|
|
||||||
-- WHEN 6 => W_TAB[] = 10; WHEN 14 => W_TAB[] = 10;
|
|
||||||
WHEN 6 => W_TAB[] = 7; WHEN 14 => W_TAB[] = 7;
|
|
||||||
-- WHEN 6 => W_TAB[] = 13; WHEN 14 => W_TAB[] = 13;
|
|
||||||
WHEN 7 => W_TAB[] = 10; WHEN 15 => W_TAB[] = 10;
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
CASE LCELL(MEM.q[11..8] == 0) IS
|
|
||||||
WHEN 0 => HDD_W[] = 10; -- registers wait
|
|
||||||
WHEN 1 => HDD_W[] = 4; -- datas wait
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
/WAIT = (/IO_WAIT & /MR_WAIT);
|
|
||||||
|
|
||||||
|
|
||||||
-- === Other Devicese CASHE, ISA, ROM... ===
|
|
||||||
|
|
||||||
V_RAM = PN2; -- for ORIGINAL Waits
|
|
||||||
|
|
||||||
IF UPDATE == 1 GENERATE
|
|
||||||
-- all ROM/RAM switches in main .tdf
|
|
||||||
BLK_R = SC4;
|
|
||||||
-- all cashes in main .tdf
|
|
||||||
/CASH = GND;
|
|
||||||
-- cashe dir in main .tdf
|
|
||||||
CASH_ON = GND;
|
|
||||||
ELSE GENERATE
|
|
||||||
-- for blk wait
|
|
||||||
/CASH = DFF((MEM.q[7..4] == 15),!CLK42,BLK_R,);
|
|
||||||
-- when BLK_R = 1 => Other Devices stay Active!
|
|
||||||
BLK_R = DFF( (LCELL((MEM.q7 & MEM.q6 & RAM) or
|
|
||||||
(MEM.q7 & LCELL(A14 & A15 & SC4))) &
|
|
||||||
!DFF(DFF(MC_RQ,CLK42,,!/MR),CLK42,,!/MR)),!CLK42,!/MR,);
|
|
||||||
CASH_ON = DFFE(A7,(/IO or /RD),/RESET,,DFF((DCPP[] == H"88"),CLK42,,));
|
|
||||||
END GENERATE;
|
|
||||||
|
|
||||||
RAM = !LCELL(A14 or A15 or (SC0 & SYS));
|
|
||||||
|
|
||||||
CS_ROM = LCELL(/MR or !RAM or !/RF);
|
|
||||||
CS_RAM = LCELL(/MR or RAM or !/RF);
|
|
||||||
|
|
||||||
-- ==============================================
|
|
||||||
|
|
||||||
-- graf screen enable for pages
|
|
||||||
|
|
||||||
GRAF_X = LCELL(MEM.q[7..4] == B"0101");
|
|
||||||
|
|
||||||
GRAF.clk = CLK42;
|
|
||||||
GRAF.ena = (CT0 & CT2);
|
|
||||||
GRAF.d = GRAF_X;
|
|
||||||
|
|
||||||
BLK_C = LCELL((GRAF_X xor GRAF) & !MC_TYPE);
|
|
||||||
|
|
||||||
-----------------------------------------
|
|
||||||
|
|
||||||
SCR128 = PN3;
|
|
||||||
|
|
||||||
D[] = DI[];
|
|
||||||
-- when not IO - reset DCPP!
|
|
||||||
|
|
||||||
DCP_RES = DFF((STARTING & !/IO & /M1),CLK42,,);
|
|
||||||
|
|
||||||
DCPP[].clk = CLK42;
|
|
||||||
DCPP[].ena = !DFF(MC_END,CLK42,,);
|
|
||||||
DCPP[].clrn = MC_END & DCP_RES; -- not in/out when START
|
|
||||||
DCPP[].d = MD[];
|
|
||||||
|
|
||||||
-- DD[].clk = !CLK42;
|
|
||||||
-- DD[].ena = !DFF(MC_END,!CLK42,,);
|
|
||||||
|
|
||||||
DD[].clk = CLK42;
|
|
||||||
DD[].ena = !DFF(MC_END,CLK42,,);
|
|
||||||
DD[].clrn = MC_END & DCP_RES;
|
|
||||||
|
|
||||||
CASE LCELL(MD[7..4] == 15) IS
|
|
||||||
WHEN 0 => DD[].d = MD[];
|
|
||||||
WHEN 1 => DD[].d = (VCC,VCC,PG3[]);
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
-- === Port Decoder =============================================
|
|
||||||
|
|
||||||
DCP_CX = (DCPP[] == B"1100XXXX");
|
|
||||||
SYS_ENA = DFF((DCP_CX & (DCPP[] == B"XXXXX110")),CLK42,,);
|
|
||||||
|
|
||||||
-- /IOWR = DFF((/WR or /IO),CLK42,,!/IO);
|
|
||||||
/IOWR = LCELL(/IO or /WR or !/M1);
|
|
||||||
|
|
||||||
CNF[].ena = SYS_ENA; CNF[].d = (DI[] & DI2) or (CNF[] & !DI2);
|
|
||||||
AROM16.ena = SYS_ENA; AROM16.d = (DI0 & !DI1) or (AROM16 & DI1);
|
|
||||||
TB_SW.ena = SYS_ENA; TB_SW.d = (DI0 & DI1) or (TB_SW & !DI1);
|
|
||||||
SYS.ena = SYS_ENA; SYS.d = !A6;
|
|
||||||
|
|
||||||
SC[].ena = DFF((DCP_CX & (DCPP[] == B"XXXXX000")),CLK42,,) ;SC[].d = DI[];
|
|
||||||
PN[].ena = DFF((DCP_CX & (DCPP[] == B"XXXXX001")),CLK42,,) ;PN[].d = DI[];
|
|
||||||
|
|
||||||
TB_SW.clk = /IOWR;
|
|
||||||
AROM16.clk = /IOWR;
|
|
||||||
PN[].clk = /IOWR;
|
|
||||||
SC[].clk = /IOWR;
|
|
||||||
SYS.clk = /IOWR;
|
|
||||||
CNF[].clk = /IOWR;
|
|
||||||
|
|
||||||
AROM16.clrn = /RESET;
|
|
||||||
TB_SW.prn = /RESET;
|
|
||||||
SYS.clrn = /RESET;
|
|
||||||
CNF[].clrn = /RESET;
|
|
||||||
|
|
||||||
SC[].clrn = /RESET & !CNF6; -- Scorpion-OFF
|
|
||||||
|
|
||||||
PN[5..0].clrn = /RESET & !CNF5; -- reset PN5
|
|
||||||
PN[7..6].clrn = /RESET & CNF7; -- set Pentagon-512
|
|
||||||
|
|
||||||
PN4Q = PN4;
|
|
||||||
|
|
||||||
-- ====================================
|
|
||||||
|
|
||||||
-- ********** Pages decoder ***********
|
|
||||||
|
|
||||||
-- ====================================
|
|
||||||
|
|
||||||
PG3[] = (!PN7,VCC,LCELL((SC4 & !CNF7) or (CNF7 & PN6)),PN[2..0]);
|
|
||||||
|
|
||||||
-- SC0,SC1,SYS,DOS,PN4,AROM16,CASH_ON,NMI_ENA
|
|
||||||
PG0[] = (VCC,GND,
|
|
||||||
LCELL(SC0 or !SYS or CASH_ON or !NMI_ENA),
|
|
||||||
LCELL(((AROM16 & !(SC0 & SYS)) or (CASH_ON & NMI_ENA))),
|
|
||||||
LCELL((SPR_1 & SC_LCELL) or !SYS or !NMI_ENA),
|
|
||||||
LCELL((SPR_0 & SC_LCELL) or !SYS or !NMI_ENA));
|
|
||||||
|
|
||||||
-- SC_LCELL = LCELL(!(SC0 & SYS) & !CASH_ON);
|
|
||||||
SC_LCELL = (!(SC0 & SYS) & !CASH_ON);
|
|
||||||
|
|
||||||
NMI_ENA = VCC;
|
|
||||||
|
|
||||||
SPR_[] = !SC1 & (DOS,(PN4 or !DOS)); -- expansion/dos/basic128/basic48
|
|
||||||
|
|
||||||
CASE (TEST_R,SYS) IS
|
|
||||||
WHEN B"X0" => RA[] = (!AROM16,B"000"); -- system 0/1
|
|
||||||
WHEN B"01" => RA[] = (!AROM16,GND,SPR_[]); -- expansion/dos/basic
|
|
||||||
WHEN B"11" => RA[] = (B"001",SPR_0); -- test
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
-- ====================================
|
|
||||||
|
|
||||||
CASE A[15..14] IS
|
|
||||||
WHEN 0 => MPGS[5..0] = PG0[];
|
|
||||||
WHEN 1 => MPGS[5..0] = B"101001"; %H"E9"%
|
|
||||||
WHEN 2 => MPGS[5..0] = B"101010"; %H"EA"%
|
|
||||||
WHEN 3 => MPGS[5..0] = PG3[];
|
|
||||||
END CASE;
|
|
||||||
MPGS[7..6] = VCC;
|
|
||||||
|
|
||||||
-- STARTING = DFF(GND,VCC,/RESET,(/IO or /RD));
|
|
||||||
STARTING = LCELL(/RESET & (STARTING or !(/IO or /RD)));
|
|
||||||
|
|
||||||
PGS[].clk = !CLK42;
|
|
||||||
CASE (LCELL(/IO & !(A14 & A15 & !STARTING)),MC_END) IS
|
|
||||||
WHEN B"1X" => PGS[] = (VCC,VCC,MPGS[5..0]);
|
|
||||||
WHEN B"01" => PGS[] = DD[];
|
|
||||||
WHEN B"00" => PGS[] = GND;
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
MEM_WR = DFFE((DCPP[7] & DCPP[6] & STARTING & DFF(DFF((MC_END & !/WR),CLK42,,),CLK42,,)),CLK42,!/IO,,CT1);
|
|
||||||
|
|
||||||
ADR8_MEM = GND;
|
|
||||||
|
|
||||||
CASE ADR8_MEM IS
|
|
||||||
WHEN 1 => MEM_D[] = (DI[],MEM.q[7..0]); DO[] = MEM.q[15..8];
|
|
||||||
WHEN 0 => MEM_D[] = (MEM.q[15..8],DI[]); DO[] = MEM.q[7..0];
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
MEM.wren = MEM_WR;
|
|
||||||
MEM.data[] = MEM_D[];
|
|
||||||
MEM.wraddress[] = PGS[];
|
|
||||||
MEM.wrclock = CLK42;
|
|
||||||
MEM.wrclken = VCC;
|
|
||||||
MEM.rden = VCC;
|
|
||||||
MEM.rdaddress[] = PGS[];
|
|
||||||
MEM.rdclock = CLK42;
|
|
||||||
MEM.rdclken = VCC;
|
|
||||||
-- = MEM.q[];
|
|
||||||
|
|
||||||
PAGE[] = MEM.q[11..0];
|
|
||||||
TYPE[] = MEM.q[15..12];
|
|
||||||
|
|
||||||
|
|
||||||
PORT = !(MEM.q[15..12] == 0) or /IO or (/RD & /WR);
|
|
||||||
|
|
||||||
END;
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,568 +0,0 @@
|
|||||||
--
|
|
||||||
-- Copyright (C) 1988-2000 Altera Corporation
|
|
||||||
-- Any megafunction design, and related net list (encrypted or decrypted),
|
|
||||||
-- support information, device programming or simulation file, and any other
|
|
||||||
-- associated documentation or information provided by Altera or a partner
|
|
||||||
-- under Altera's Megafunction Partnership Program may be used only to
|
|
||||||
-- program PLD devices (but not masked PLD devices) from Altera. Any other
|
|
||||||
-- use of such megafunction design, net list, support information, device
|
|
||||||
-- programming or simulation file, or any other related documentation or
|
|
||||||
-- information is prohibited for any other purpose, including, but not
|
|
||||||
-- limited to modification, reverse engineering, de-compiling, or use with
|
|
||||||
-- any other silicon devices, unless such use is explicitly licensed under
|
|
||||||
-- a separate agreement with Altera or a megafunction partner. Title to
|
|
||||||
-- the intellectual property, including patents, copyrights, trademarks,
|
|
||||||
-- trade secrets, or maskworks, embodied in any such megafunction design,
|
|
||||||
-- net list, support information, device programming or simulation file, or
|
|
||||||
-- any other related documentation or information provided by Altera or a
|
|
||||||
-- megafunction partner, remains with Altera, the megafunction partner, or
|
|
||||||
-- their respective licensors. No other licenses, including any licenses
|
|
||||||
-- needed under any third party's intellectual property, are provided herein.
|
|
||||||
--
|
|
||||||
CHIP kbd
|
|
||||||
BEGIN
|
|
||||||
DEVICE = EP1K30QC208-3;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFAULT_DEVICES
|
|
||||||
BEGIN
|
|
||||||
AUTO_DEVICE = EP1K100FC484-1;
|
|
||||||
AUTO_DEVICE = EP1K100FC256-1;
|
|
||||||
AUTO_DEVICE = EP1K100QC208-1;
|
|
||||||
AUTO_DEVICE = EP1K50FC484-1;
|
|
||||||
AUTO_DEVICE = EP1K50FC256-1;
|
|
||||||
AUTO_DEVICE = EP1K50QC208-1;
|
|
||||||
AUTO_DEVICE = EP1K50TC144-1;
|
|
||||||
AUTO_DEVICE = EP1K30FC256-1;
|
|
||||||
AUTO_DEVICE = EP1K30QC208-1;
|
|
||||||
AUTO_DEVICE = EP1K30TC144-1;
|
|
||||||
ASK_BEFORE_ADDING_EXTRA_DEVICES = ON;
|
|
||||||
END;
|
|
||||||
|
|
||||||
TIMING_POINT
|
|
||||||
BEGIN
|
|
||||||
DEVICE_FOR_TIMING_SYNTHESIS = EP1K30QC208-3;
|
|
||||||
FREQUENCY = 100MHz;
|
|
||||||
MAINTAIN_STABLE_SYNTHESIS = OFF;
|
|
||||||
CUT_ALL_CLEAR_PRESET = ON;
|
|
||||||
CUT_ALL_BIDIR = ON;
|
|
||||||
END;
|
|
||||||
|
|
||||||
IGNORED_ASSIGNMENTS
|
|
||||||
BEGIN
|
|
||||||
FIT_IGNORE_TIMING = OFF;
|
|
||||||
DEMOTE_SPECIFIC_LCELL_ASSIGNMENTS_TO_LAB_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_LOCAL_ROUTING_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_DEVICE_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_LC_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_PIN_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_CHIP_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_TIMING_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_LOGIC_OPTION_ASSIGNMENTS = OFF;
|
|
||||||
IGNORE_CLIQUE_ASSIGNMENTS = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
GLOBAL_PROJECT_DEVICE_OPTIONS
|
|
||||||
BEGIN
|
|
||||||
MAX7000B_ENABLE_VREFB = OFF;
|
|
||||||
MAX7000B_ENABLE_VREFA = OFF;
|
|
||||||
MAX7000B_VCCIO_IOBANK2 = 3.3V;
|
|
||||||
MAX7000B_VCCIO_IOBANK1 = 3.3V;
|
|
||||||
CONFIG_EPROM_PULLUP_RESISTOR = ON;
|
|
||||||
CONFIG_EPROM_USER_CODE = FFFFFFFF;
|
|
||||||
FLEX_CONFIGURATION_EPROM = AUTO;
|
|
||||||
MAX7000AE_ENABLE_JTAG = ON;
|
|
||||||
MAX7000AE_USER_CODE = FFFFFFFF;
|
|
||||||
FLEX6000_USE_LOW_VOLTAGE_CONFIGURATION_EPROM = OFF;
|
|
||||||
FLEX10KA_USE_LOW_VOLTAGE_CONFIGURATION_EPROM = ON;
|
|
||||||
FLEX10K_USE_LOW_VOLTAGE_CONFIGURATION_EPROM = OFF;
|
|
||||||
FLEX6000_ENABLE_JTAG = OFF;
|
|
||||||
CONFIG_SCHEME_FLEX_6000 = PASSIVE_SERIAL;
|
|
||||||
MULTIVOLT_IO = OFF;
|
|
||||||
MAX7000S_ENABLE_JTAG = ON;
|
|
||||||
FLEX10K_ENABLE_LOCK_OUTPUT = OFF;
|
|
||||||
MAX7000S_USER_CODE = FFFF;
|
|
||||||
CONFIG_SCHEME_10K = PASSIVE_SERIAL;
|
|
||||||
FLEX10K_JTAG_USER_CODE = 7F;
|
|
||||||
ENABLE_INIT_DONE_OUTPUT = OFF;
|
|
||||||
ENABLE_CHIP_WIDE_OE = OFF;
|
|
||||||
ENABLE_CHIP_WIDE_RESET = OFF;
|
|
||||||
nCEO = UNRESERVED;
|
|
||||||
CLKUSR = UNRESERVED;
|
|
||||||
ADD17 = UNRESERVED;
|
|
||||||
ADD16 = UNRESERVED;
|
|
||||||
ADD15 = UNRESERVED;
|
|
||||||
ADD14 = UNRESERVED;
|
|
||||||
ADD13 = UNRESERVED;
|
|
||||||
ADD0_TO_ADD12 = UNRESERVED;
|
|
||||||
SDOUT = RESERVED_DRIVES_OUT;
|
|
||||||
RDCLK = UNRESERVED;
|
|
||||||
RDYnBUSY = UNRESERVED;
|
|
||||||
nWS_nRS_nCS_CS = UNRESERVED;
|
|
||||||
DATA1_TO_DATA7 = UNRESERVED;
|
|
||||||
DATA0 = RESERVED_TRI_STATED;
|
|
||||||
FLEX8000_ENABLE_JTAG = OFF;
|
|
||||||
CONFIG_SCHEME = ACTIVE_SERIAL;
|
|
||||||
DISABLE_TIME_OUT = OFF;
|
|
||||||
ENABLE_DCLK_OUTPUT = OFF;
|
|
||||||
RELEASE_CLEARS = OFF;
|
|
||||||
AUTO_RESTART = OFF;
|
|
||||||
USER_CLOCK = OFF;
|
|
||||||
SECURITY_BIT = OFF;
|
|
||||||
RESERVED_PINS_PERCENT = 0;
|
|
||||||
RESERVED_LCELLS_PERCENT = 0;
|
|
||||||
END;
|
|
||||||
|
|
||||||
GLOBAL_PROJECT_SYNTHESIS_ASSIGNMENT_OPTIONS
|
|
||||||
BEGIN
|
|
||||||
STYLE = FAST;
|
|
||||||
MULTI_LEVEL_SYNTHESIS_MAX9000 = ON;
|
|
||||||
AUTO_IMPLEMENT_IN_EAB = OFF;
|
|
||||||
AUTO_OPEN_DRAIN_PINS = ON;
|
|
||||||
ONE_HOT_STATE_MACHINE_ENCODING = OFF;
|
|
||||||
AUTO_REGISTER_PACKING = OFF;
|
|
||||||
DEVICE_FAMILY = ACEX1K;
|
|
||||||
AUTO_FAST_IO = OFF;
|
|
||||||
AUTO_GLOBAL_OE = ON;
|
|
||||||
AUTO_GLOBAL_PRESET = ON;
|
|
||||||
AUTO_GLOBAL_CLEAR = ON;
|
|
||||||
AUTO_GLOBAL_CLOCK = ON;
|
|
||||||
MULTI_LEVEL_SYNTHESIS_MAX5000_7000 = OFF;
|
|
||||||
OPTIMIZE_FOR_SPEED = 5;
|
|
||||||
END;
|
|
||||||
|
|
||||||
COMPILER_PROCESSING_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
USE_QUARTUS_FITTER = ON;
|
|
||||||
PRESERVE_ALL_NODE_NAME_SYNONYMS = OFF;
|
|
||||||
FITTER_SETTINGS = NORMAL;
|
|
||||||
SMART_RECOMPILE = OFF;
|
|
||||||
GENERATE_AHDL_TDO_FILE = OFF;
|
|
||||||
RPT_FILE_USER_ASSIGNMENTS = ON;
|
|
||||||
RPT_FILE_LCELL_INTERCONNECT = ON;
|
|
||||||
RPT_FILE_HIERARCHY = ON;
|
|
||||||
RPT_FILE_EQUATIONS = ON;
|
|
||||||
LINKED_SNF_EXTRACTOR = OFF;
|
|
||||||
OPTIMIZE_TIMING_SNF = OFF;
|
|
||||||
TIMING_SNF_EXTRACTOR = ON;
|
|
||||||
FUNCTIONAL_SNF_EXTRACTOR = OFF;
|
|
||||||
DESIGN_DOCTOR_RULES = EPLD;
|
|
||||||
DESIGN_DOCTOR = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
COMPILER_INTERFACES_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
NETLIST_OUTPUT_TIME_SCALE = 0.1ns;
|
|
||||||
EDIF_INPUT_SHOW_LMF_MAPPING_MESSAGES = OFF;
|
|
||||||
EDIF_BUS_DELIMITERS = [];
|
|
||||||
EDIF_FLATTEN_BUS = OFF;
|
|
||||||
EDIF_OUTPUT_FORCE_0NS_DELAYS = OFF;
|
|
||||||
EDIF_OUTPUT_INCLUDE_SPECIAL_PRIM = OFF;
|
|
||||||
EDIF_OUTPUT_MAP_ILLEGAL_CHAR = OFF;
|
|
||||||
EDIF_OUTPUT_DELAY_CONSTRUCTS = EDO_FILE;
|
|
||||||
EDIF_OUTPUT_USE_EDC = OFF;
|
|
||||||
EDIF_INPUT_USE_LMF2 = OFF;
|
|
||||||
EDIF_INPUT_USE_LMF1 = OFF;
|
|
||||||
EDIF_OUTPUT_GND = GND;
|
|
||||||
EDIF_OUTPUT_VCC = VCC;
|
|
||||||
EDIF_INPUT_GND = GND;
|
|
||||||
EDIF_INPUT_VCC = VCC;
|
|
||||||
EDIF_OUTPUT_EDC_FILE = *.edc;
|
|
||||||
EDIF_INPUT_LMF2 = *.lmf;
|
|
||||||
EDIF_INPUT_LMF1 = *.lmf;
|
|
||||||
VHDL_GENERATE_CONFIGURATION_DECLARATION = OFF;
|
|
||||||
VHDL_OUTPUT_DELAY_CONSTRUCTS = VHO_FILE;
|
|
||||||
VERILOG_OUTPUT_DELAY_CONSTRUCTS = VO_FILE;
|
|
||||||
VHDL_FLATTEN_BUS = OFF;
|
|
||||||
VERILOG_FLATTEN_BUS = OFF;
|
|
||||||
EDIF_TRUNCATE_HIERARCHY_PATH = OFF;
|
|
||||||
VHDL_TRUNCATE_HIERARCHY_PATH = OFF;
|
|
||||||
VERILOG_TRUNCATE_HIERARCHY_PATH = OFF;
|
|
||||||
VERILOG_OUTPUT_MAP_ILLEGAL_CHAR = OFF;
|
|
||||||
VHDL_WRITER_VERSION = VHDL87;
|
|
||||||
VHDL_READER_VERSION = VHDL87;
|
|
||||||
SYNOPSYS_MAPPING_EFFORT = MEDIUM;
|
|
||||||
SYNOPSYS_BOUNDARY_OPTIMIZATION = OFF;
|
|
||||||
SYNOPSYS_HIERARCHICAL_COMPILATION = ON;
|
|
||||||
SYNOPSYS_DESIGNWARE = OFF;
|
|
||||||
SYNOPSYS_COMPILER = DESIGN;
|
|
||||||
USE_SYNOPSYS_SYNTHESIS = OFF;
|
|
||||||
VHDL_NETLIST_WRITER = OFF;
|
|
||||||
VERILOG_NETLIST_WRITER = OFF;
|
|
||||||
XNF_GENERATE_AHDL_TDX_FILE = ON;
|
|
||||||
XNF_TRANSLATE_INTERNAL_NODE_NAMES = ON;
|
|
||||||
XNF_EMULATE_TRI_STATE_BUSES = INTERNAL_LOGIC;
|
|
||||||
EDIF_OUTPUT_VERSION = 200;
|
|
||||||
EDIF_NETLIST_WRITER = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
CUSTOM_DESIGN_DOCTOR_RULES
|
|
||||||
BEGIN
|
|
||||||
MASTER_RESET = OFF;
|
|
||||||
EXPANDER_NETWORKS = ON;
|
|
||||||
RACE_CONDITIONS = ON;
|
|
||||||
DELAY_CHAINS = ON;
|
|
||||||
ASYNCHRONOUS_INPUTS = ON;
|
|
||||||
PRESET_CLEAR_NETWORKS = ON;
|
|
||||||
STATIC_HAZARDS_AFTER_SYNTHESIS = OFF;
|
|
||||||
STATIC_HAZARDS_BEFORE_SYNTHESIS = ON;
|
|
||||||
MULTI_CLOCK_NETWORKS = ON;
|
|
||||||
MULTI_LEVEL_CLOCKS = ON;
|
|
||||||
GATED_CLOCKS = ON;
|
|
||||||
RIPPLE_CLOCKS = ON;
|
|
||||||
END;
|
|
||||||
|
|
||||||
SIMULATOR_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
BIDIR_PIN = STRONG;
|
|
||||||
END_TIME = 0.0ns;
|
|
||||||
START_TIME = 0.0ns;
|
|
||||||
GLITCH_TIME = 0.0ns;
|
|
||||||
GLITCH = OFF;
|
|
||||||
OSCILLATION_TIME = 0.0ns;
|
|
||||||
OSCILLATION = OFF;
|
|
||||||
CHECK_OUTPUTS = OFF;
|
|
||||||
SETUP_HOLD = OFF;
|
|
||||||
USE_DEVICE = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
TIMING_ANALYZER_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
ANALYSIS_MODE = REGISTERED_PERFORMANCE;
|
|
||||||
CUT_OFF_RAM_REGISTERED_WE_PATHS = OFF;
|
|
||||||
LIST_PATH_FREQUENCY = 10MHz;
|
|
||||||
LIST_PATH_COUNT = 10;
|
|
||||||
REGISTERED_PERFORMANCE_OPTIONS = NUMBER_OF_PATHS;
|
|
||||||
INCLUDE_PATHS_LESS_THAN_VALUE = 214.7483647ms;
|
|
||||||
INCLUDE_PATHS_LESS_THAN = OFF;
|
|
||||||
INCLUDE_PATHS_GREATER_THAN_VALUE = 0.0ns;
|
|
||||||
INCLUDE_PATHS_GREATER_THAN = OFF;
|
|
||||||
DELAY_MATRIX_OPTIONS = SHOW_ALL_PATHS;
|
|
||||||
CELL_WIDTH = 18;
|
|
||||||
LIST_ONLY_LONGEST_PATH = ON;
|
|
||||||
CUT_OFF_CLEAR_AND_PRESET_PATHS = ON;
|
|
||||||
CUT_OFF_IO_PIN_FEEDBACK = ON;
|
|
||||||
AUTO_RECALCULATE = OFF;
|
|
||||||
END;
|
|
||||||
|
|
||||||
OTHER_CONFIGURATION
|
|
||||||
BEGIN
|
|
||||||
LAST_MAXPLUS2_VERSION = 10.0;
|
|
||||||
EXPLICIT_FAMILY = 1;
|
|
||||||
ROW_PINS_LCELL_INSERT = ON;
|
|
||||||
CARRY_OUT_PINS_LCELL_INSERT = OFF;
|
|
||||||
NORMAL_LCELL_INSERT = ON;
|
|
||||||
FLEX_10K_52_COLUMNS = 40;
|
|
||||||
DEFAULT_9K_EXP_PER_LCELL = 1/2;
|
|
||||||
LOCAL_INTERCONNECT_PER_LAB_PERCENT = 100;
|
|
||||||
LCELLS_PER_ROW_PERCENT = 100;
|
|
||||||
FAN_IN_PER_LCELL_PERCENT = 100;
|
|
||||||
EXP_PER_LCELL_PERCENT = 100;
|
|
||||||
ROW_PINS_PERCENT = 50;
|
|
||||||
ORIGINAL_MAXPLUS2_VERSION = 9.6;
|
|
||||||
COMPILER_DATA = "1,1,0,1,0,0,0,1,1,1,1,0,1,1,1";
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.MAX5000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = ON;
|
|
||||||
REFACTORIZATION = ON;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.MAX7000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = ON;
|
|
||||||
REFACTORIZATION = ON;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.CLASSIC
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.FLEX8000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = ON;
|
|
||||||
REFACTORIZATION = ON;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
IGNORE_SOFT_BUFFERS = ON;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = 32;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = 2;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.MAX5000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.MAX7000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = ON;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = ON;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.CLASSIC
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.FLEX8000
|
|
||||||
BEGIN
|
|
||||||
SUBFACTOR_EXTRACTION = ON;
|
|
||||||
REFACTORIZATION = ON;
|
|
||||||
REGISTER_OPTIMIZATION = ON;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = ON;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = ON;
|
|
||||||
REDUCE_LOGIC = ON;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
IGNORE_SOFT_BUFFERS = ON;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = FULL;
|
|
||||||
CARRY_CHAIN_LENGTH = 32;
|
|
||||||
CARRY_CHAIN = AUTO;
|
|
||||||
CASCADE_CHAIN_LENGTH = 2;
|
|
||||||
CASCADE_CHAIN = AUTO;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.MAX5000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = OFF;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = OFF;
|
|
||||||
SOFT_BUFFER_INSERTION = OFF;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.MAX7000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = OFF;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = OFF;
|
|
||||||
SOFT_BUFFER_INSERTION = OFF;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.CLASSIC
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = ON;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = ON;
|
|
||||||
SOFT_BUFFER_INSERTION = OFF;
|
|
||||||
FAST_IO = OFF;
|
|
||||||
IGNORE_SOFT_BUFFERS = OFF;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = ON;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = -1;
|
|
||||||
CARRY_CHAIN = IGNORE;
|
|
||||||
CASCADE_CHAIN_LENGTH = -1;
|
|
||||||
CASCADE_CHAIN = IGNORE;
|
|
||||||
END;
|
|
||||||
|
|
||||||
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.FLEX8000
|
|
||||||
BEGIN
|
|
||||||
REGISTER_OPTIMIZATION = OFF;
|
|
||||||
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
|
||||||
RESYNTHESIZE_NETWORK = OFF;
|
|
||||||
MULTI_LEVEL_FACTORING = OFF;
|
|
||||||
SUBFACTOR_EXTRACTION = OFF;
|
|
||||||
REFACTORIZATION = OFF;
|
|
||||||
NOT_GATE_PUSH_BACK = ON;
|
|
||||||
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
|
||||||
REDUCE_LOGIC = OFF;
|
|
||||||
DECOMPOSE_GATES = OFF;
|
|
||||||
SOFT_BUFFER_INSERTION = ON;
|
|
||||||
IGNORE_SOFT_BUFFERS = ON;
|
|
||||||
PARALLEL_EXPANDERS = OFF;
|
|
||||||
TURBO_BIT = OFF;
|
|
||||||
XOR_SYNTHESIS = OFF;
|
|
||||||
SLOW_SLEW_RATE = OFF;
|
|
||||||
MINIMIZATION = PARTIAL;
|
|
||||||
CARRY_CHAIN_LENGTH = 32;
|
|
||||||
CARRY_CHAIN = MANUAL;
|
|
||||||
CASCADE_CHAIN_LENGTH = 2;
|
|
||||||
CASCADE_CHAIN = MANUAL;
|
|
||||||
END;
|
|
||||||
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
-- Copyright (C) 1988-2000 Altera Corporation
|
|
||||||
-- Any megafunction design, and related net list (encrypted or decrypted),
|
|
||||||
-- support information, device programming or simulation file, and any other
|
|
||||||
-- associated documentation or information provided by Altera or a partner
|
|
||||||
-- under Altera's Megafunction Partnership Program may be used only to
|
|
||||||
-- program PLD devices (but not masked PLD devices) from Altera. Any other
|
|
||||||
-- use of such megafunction design, net list, support information, device
|
|
||||||
-- programming or simulation file, or any other related documentation or
|
|
||||||
-- information is prohibited for any other purpose, including, but not
|
|
||||||
-- limited to modification, reverse engineering, de-compiling, or use with
|
|
||||||
-- any other silicon devices, unless such use is explicitly licensed under
|
|
||||||
-- a separate agreement with Altera or a megafunction partner. Title to
|
|
||||||
-- the intellectual property, including patents, copyrights, trademarks,
|
|
||||||
-- trade secrets, or maskworks, embodied in any such megafunction design,
|
|
||||||
-- net list, support information, device programming or simulation file, or
|
|
||||||
-- any other related documentation or information provided by Altera or a
|
|
||||||
-- megafunction partner, remains with Altera, the megafunction partner, or
|
|
||||||
-- their respective licensors. No other licenses, including any licenses
|
|
||||||
-- needed under any third party's intellectual property, are provided herein.
|
|
||||||
|
|
||||||
-- MAX+plus II Include File
|
|
||||||
-- Version 10.0 9/14/2000
|
|
||||||
-- Created: Thu May 03 21:43:31 2001
|
|
||||||
|
|
||||||
FUNCTION kbd (clk42, clk_k, kbd_cc, kbd_dd, /rf, /io, /iom, /m1, a[15..8], ena, int_ena)
|
|
||||||
RETURNS (kbo[7..0], kb_reset, kb_f12, kb_ctrl, kb_alt, kb_sh, int);
|
|
||||||
@ -1,180 +0,0 @@
|
|||||||
|
|
||||||
TITLE "ZX-Keyboard";
|
|
||||||
|
|
||||||
INCLUDE "lpm_ram_dq";
|
|
||||||
|
|
||||||
SUBDESIGN kbd
|
|
||||||
(
|
|
||||||
CLK42 : INPUT; -- full sinc 42MHz
|
|
||||||
CLK_K : INPUT; -- sinc input 15KHz
|
|
||||||
KBD_CC : INPUT; -- sinc KBD
|
|
||||||
KBD_DD : INPUT; -- data KBD
|
|
||||||
|
|
||||||
/RF : INPUT; -- /rfsh
|
|
||||||
/IO : INPUT; -- /iorq
|
|
||||||
/IOM : INPUT;
|
|
||||||
/M1 : INPUT;
|
|
||||||
|
|
||||||
A[15..8] : INPUT;
|
|
||||||
|
|
||||||
KBO[7..0] : OUTPUT; -- output
|
|
||||||
|
|
||||||
KB_RESET : OUTPUT;
|
|
||||||
|
|
||||||
KB_F12 : OUTPUT;
|
|
||||||
KB_CTRL : OUTPUT;
|
|
||||||
KB_ALT : OUTPUT;
|
|
||||||
KB_SH : OUTPUT;
|
|
||||||
|
|
||||||
ENA : INPUT;
|
|
||||||
INT_ENA : INPUT;
|
|
||||||
INT : OUTPUT;
|
|
||||||
)
|
|
||||||
VARIABLE
|
|
||||||
|
|
||||||
KB_CT[2..0] : DFF;
|
|
||||||
KB_D[10..0] : DFF;
|
|
||||||
KB_OFF : DFFE;
|
|
||||||
|
|
||||||
KB_EXT : DFF;
|
|
||||||
KB_ALT : DFF;
|
|
||||||
KB_CTRL : DFF;
|
|
||||||
KB_SH : DFF;
|
|
||||||
|
|
||||||
KB_CTRL_X : NODE;
|
|
||||||
KB_ALT_X : NODE;
|
|
||||||
KB_SH_X : NODE;
|
|
||||||
KB_XXX : NODE;
|
|
||||||
KB_RESET : DFF;
|
|
||||||
RXA[1..0] : DFFE;
|
|
||||||
|
|
||||||
K_CLK : NODE;
|
|
||||||
KA[15..0] : NODE;
|
|
||||||
KB_MA[2..0] : DFF;
|
|
||||||
KB_MXA : NODE;
|
|
||||||
KDCA[2..0] : LCELL;
|
|
||||||
|
|
||||||
KDD[7..0] : DFF;
|
|
||||||
KBD[5..0] : DFF;
|
|
||||||
KD[7..0] : NODE;
|
|
||||||
KDX[5..0] : DFF;
|
|
||||||
KDXX[5..0] : DFF;
|
|
||||||
WR_KBD : NODE;
|
|
||||||
KB_OFL : NODE;
|
|
||||||
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
INT = DFF((KB_CT[] == 0),CLK42,,INT_ENA);
|
|
||||||
|
|
||||||
-- KB_CT[].clk = DFF(CLK_K,CLK42,,);
|
|
||||||
KB_CT[].clk = CLK_K;
|
|
||||||
KB_CT[].prn = DFF(KBD_CC,CLK42,,);
|
|
||||||
|
|
||||||
CASE KB_CT[] IS
|
|
||||||
WHEN 0 => KB_CT[].d = GND;
|
|
||||||
WHEN 1,2,3,4,5,6,7 => KB_CT[].d = KB_CT[] - 1;
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
KB_D[].clk = DFF(!KBD_CC,CLK42,,);
|
|
||||||
KB_D[].d = (KBD_DD,KB_D[10..1]);
|
|
||||||
|
|
||||||
KB_OFF.ena = !KB_EXT;
|
|
||||||
KB_OFF.clk = DFF((KB_CT[] == 0),CLK42,,);
|
|
||||||
KB_OFF.d = KB_D[] == B"XX11110000X";
|
|
||||||
|
|
||||||
KB_EXT.clk = DFF((KB_CT[] == 1),CLK42,,);
|
|
||||||
KB_EXT.d = KB_D[] == B"XX11100000X";
|
|
||||||
|
|
||||||
KB_CTRL.clk = !KB_CT2;
|
|
||||||
KB_ALT.clk = !KB_CT2;
|
|
||||||
KB_SH.clk = !KB_CT2;
|
|
||||||
|
|
||||||
KB_CTRL_X = LCELL(KB_D[] == B"XXXXX1X100X");
|
|
||||||
KB_ALT_X = LCELL(KB_D[] == B"XXXXX1X001X");
|
|
||||||
KB_SH_X = LCELL(KB_D[] == B"XX0X01X0XXX") &
|
|
||||||
CASCADE((KB_D[] == B"XXX1XX1X01X") or (KB_D[] == B"XXX0XX0X10X"));
|
|
||||||
KB_XXX = LCELL(KB_D[] == B"XX000X0XXXX");
|
|
||||||
|
|
||||||
CASE KB_OFF IS
|
|
||||||
WHEN 0 =>
|
|
||||||
KB_CTRL.d = (KB_CTRL_X & KB_XXX) or KB_CTRL;
|
|
||||||
KB_ALT.d = (KB_ALT_X & KB_XXX) or KB_ALT;
|
|
||||||
KB_SH.d = (KB_SH_X) or KB_SH;
|
|
||||||
WHEN 1 =>
|
|
||||||
KB_CTRL.d = !(KB_CTRL_X & KB_XXX) & KB_CTRL;
|
|
||||||
KB_ALT.d = !(KB_ALT_X & KB_XXX) & KB_ALT;
|
|
||||||
KB_SH.d = !(KB_SH_X) & KB_SH;
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
KB_F12 = DFF(!((KB_XXX & LCELL(KB_D[] == B"XXXXX0X111X")) & !KB_OFF),
|
|
||||||
!KB_CT2,,!(KB_CT[] == 1));
|
|
||||||
|
|
||||||
KB_RESET.clk = !KB_CT2;
|
|
||||||
KB_RESET.d = !(KB_ALT_X & (KB_D[] == B"XX011X0XXXX") & !KB_OFF & KB_CTRL & KB_ALT);
|
|
||||||
KB_RESET.prn = !DFF((KB_CT[] == 1),CLK42,,);
|
|
||||||
|
|
||||||
K_CLK = DFF(/RF,CLK42,,);
|
|
||||||
|
|
||||||
RXA[].ena = VCC;
|
|
||||||
RXA[].clk = K_CLK;
|
|
||||||
|
|
||||||
CASE DFF((!(KB_CT[] == B"01X") & (RXA[] == 0)),CLK42,,) IS
|
|
||||||
WHEN B"1" => RXA[] = GND;
|
|
||||||
WHEN B"0" => RXA[] = (RXA0,!RXA1);
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
CASE (DFF((/IO & (RXA[] == 0),CLK42,,)),LCELL(KDD7 & KDD6)) IS
|
|
||||||
WHEN B"0X" => KA[15..8] = (B"101",KDCA[],B"11");
|
|
||||||
WHEN B"10" => KA[15..8] = (B"110000",KDD7,KDD6);
|
|
||||||
WHEN B"11" => KA[15..8] = KB_D[8..1];
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
KB_MA[].clk = CLK42;
|
|
||||||
KB_MA[].d = KB_MA[] + 1;
|
|
||||||
KB_MA[].clrn = !DFF(/IO,CLK42,,);
|
|
||||||
|
|
||||||
KB_MXA = DFF(( (((KB_MA[] == 7) & A15) or ((KB_MA[] == 6) & A14))
|
|
||||||
or (((KB_MA[] == 5) & A13) or ((KB_MA[] == 4) & A12))
|
|
||||||
or (((KB_MA[] == 3) & A11) or ((KB_MA[] == 2) & A10))
|
|
||||||
or (((KB_MA[] == 1) & A9 ) or ((KB_MA[] == 0) & A8 ))),CLK42,,);
|
|
||||||
|
|
||||||
IF !DFF(/IO,CLK42,,) THEN
|
|
||||||
KDCA[] = KB_MA[];
|
|
||||||
ELSE
|
|
||||||
KDCA[] = KDD[5..3];
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
KDD[].clk = RXA0;
|
|
||||||
KDD[].d = KD[];
|
|
||||||
KDD[7..6].prn = !KB_CT2;
|
|
||||||
|
|
||||||
KDXX[].clk = RXA0;
|
|
||||||
KDXX[].d = !((KD[2..0] == 5),(KD[2..0] == 4),
|
|
||||||
(KD[2..0] == 3),(KD[2..0] == 2),
|
|
||||||
(KD[2..0] == 1),(KD[2..0] == 0));
|
|
||||||
|
|
||||||
KDX[].clk = RXA1;
|
|
||||||
|
|
||||||
CASE KB_OFF IS
|
|
||||||
WHEN B"0" => KDX[].d = (KD[5..0] & KDXX[]);
|
|
||||||
WHEN B"1" => KDX[].d = (KD[5..0] or !KDXX[]);
|
|
||||||
END CASE;
|
|
||||||
|
|
||||||
-- ==============================
|
|
||||||
|
|
||||||
WR_KBD = K_CLK or !DFF((KB_CT[] == 2),CLK42,,) or !(RXA[] == 3);
|
|
||||||
|
|
||||||
KD[] = lpm_ram_dq((B"11",KDX[5..0]),KA[15..8],!WR_KBD,CLK42,)
|
|
||||||
WITH (lpm_width=8,lpm_widthad=8,lpm_file="KBD_INI2.MIF",
|
|
||||||
lpm_outdata="UNREGISTERED");
|
|
||||||
|
|
||||||
KBD[].clk = CLK42;
|
|
||||||
KBD[].prn = DFF(VCC,KB_MA2,(!/IO & ENA),);
|
|
||||||
|
|
||||||
-- KBD[].prn = DFF(!/IOM,CLK42,,);
|
|
||||||
KBD[].d = KBD[] & (KD[5..0] or KB_MXA);
|
|
||||||
|
|
||||||
KBO[] = (VCC,VCC,KBD[]);
|
|
||||||
|
|
||||||
END;
|
|
||||||
|
|
||||||
@ -1,167 +0,0 @@
|
|||||||
DEPTH = 256; % Memory depth and width are required %
|
|
||||||
WIDTH = 8; % Enter a decimal number %
|
|
||||||
|
|
||||||
ADDRESS_RADIX = HEX; % Address and value radixes are optional %
|
|
||||||
DATA_RADIX = BIN; % Enter BIN, DEC, HEX, or OCT; unless %
|
|
||||||
% otherwise specified, radixes = HEX %
|
|
||||||
|
|
||||||
-- Specify values for addresses, which can be single address or range
|
|
||||||
|
|
||||||
CONTENT
|
|
||||||
BEGIN
|
|
||||||
[0..FF] : 11111111;
|
|
||||||
0 :
|
|
||||||
11111111 % .. %
|
|
||||||
00100001 % F9 %
|
|
||||||
11111111 % .. %
|
|
||||||
00011100 % F5 %
|
|
||||||
00011010 % F3 %
|
|
||||||
00011000 % F1 %
|
|
||||||
00011001 % F2 %
|
|
||||||
11111111 % F12 %
|
|
||||||
11111111 % .. %
|
|
||||||
00100000 % F10 %
|
|
||||||
|
|
||||||
00100010 % F8 %
|
|
||||||
00100100 % F6 %
|
|
||||||
00011011 % F4 %
|
|
||||||
01011000 % Tab %
|
|
||||||
10001000 % ~` %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
01111001 % Alt %
|
|
||||||
11000000 % Left Shift %
|
|
||||||
11111111 % .. %
|
|
||||||
|
|
||||||
11111001 % Ctrl %
|
|
||||||
11010000 % 'Q' %
|
|
||||||
11011000 % '1' %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
11000001 % 'Z' %
|
|
||||||
11001001 % 'S' %
|
|
||||||
11001000 % 'A' %
|
|
||||||
11010001 % 'W' %
|
|
||||||
|
|
||||||
11011001 % '2' %
|
|
||||||
01110000 % left WIN %
|
|
||||||
11111111 % .. %
|
|
||||||
11000011 % 'C' %
|
|
||||||
11000010 % 'X' %
|
|
||||||
11001010 % 'D' %
|
|
||||||
11010010 % 'E' %
|
|
||||||
11011011 % '4' %
|
|
||||||
11011010 % '3' %
|
|
||||||
10110000 % Right WIN %
|
|
||||||
|
|
||||||
11111111 % .. %
|
|
||||||
11111000 % ' ' %
|
|
||||||
11000100 % 'V' %
|
|
||||||
11001011 % 'F' %
|
|
||||||
11010100 % 'T' %
|
|
||||||
11010011 % 'R' %
|
|
||||||
11011100 % '5' %
|
|
||||||
10111000 % Right Mouse %
|
|
||||||
11111111 % .. %
|
|
||||||
11111011 % 'N' %
|
|
||||||
|
|
||||||
11111100 % 'B' %
|
|
||||||
11110100 % 'H' %
|
|
||||||
11001100 % 'G' %
|
|
||||||
11101100 % 'Y' %
|
|
||||||
11100100 % '6' %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
11111010 % 'M' %
|
|
||||||
11110011 % 'J' %
|
|
||||||
|
|
||||||
11101011 % 'U' %
|
|
||||||
11100011 % '7' %
|
|
||||||
11100010 % '8' %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
10111011 % ',' %
|
|
||||||
11110010 % 'K' %
|
|
||||||
11101010 % 'I' %
|
|
||||||
11101001 % 'O' %
|
|
||||||
11100000 % '0' %
|
|
||||||
|
|
||||||
11100001 % '9' %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
10111010 % '.' %
|
|
||||||
10000100 % '/' %
|
|
||||||
11110001 % 'L' %
|
|
||||||
10101001 % ';' %
|
|
||||||
11101000 % 'P' %
|
|
||||||
10110011 % '-' %
|
|
||||||
11111111 % .. %
|
|
||||||
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
10101000 % "'" %
|
|
||||||
11111111 % .. %
|
|
||||||
10101100 % '[' %
|
|
||||||
10110001 % '=' %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
01011001 % Caps Lock %
|
|
||||||
11000000 % Right SHIFT %
|
|
||||||
|
|
||||||
11110000 % ENTER %
|
|
||||||
10101011 % ']' %
|
|
||||||
11111111 % .. %
|
|
||||||
10001010 % '\' %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
01100000 % Back %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
10010010 % End %
|
|
||||||
11111111 % .. %
|
|
||||||
01011100 % <- %
|
|
||||||
10010000 % Home %
|
|
||||||
11111111 % .. %
|
|
||||||
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
10010001 % ins %
|
|
||||||
01100001 % DEL %
|
|
||||||
01100100 % Dn %
|
|
||||||
10101010 % grey 5 ; ctrl + I %
|
|
||||||
01100010 % -> %
|
|
||||||
01100011 % Up %
|
|
||||||
01111000 % ESC %
|
|
||||||
00111111 % Num %
|
|
||||||
|
|
||||||
11111111 % F11 %
|
|
||||||
10110010 % G+ %
|
|
||||||
01011011 % PDn ; caps + 4 %
|
|
||||||
10110011 % G- %
|
|
||||||
10111100 % G* %
|
|
||||||
01011010 % PUp ; caps + 3 %
|
|
||||||
00000000 % Scrol Lock %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
11111111 % .. %
|
|
||||||
|
|
||||||
11111111 % .. %
|
|
||||||
00100011 % F7 % ;
|
|
||||||
% !! DATA FOR CAPS !! %
|
|
||||||
C0 :
|
|
||||||
11111101 % Function shift %
|
|
||||||
11000000 % Left Shift %
|
|
||||||
11111001 % Ctrl %
|
|
||||||
11111111 ; % no shift %
|
|
||||||
END ;
|
|
||||||
|
|
||||||
|
|
||||||