K30 and MAX src updated
This commit is contained in:
parent
0c166ec49d
commit
f82f646f88
@ -1 +1 @@
|
|||||||
Subproject commit cc23cc96bb8bb12432622cc688b2e1afe39c6105
|
Subproject commit 9a65a386bfb6aaccc7fb476a3e159a684af65743
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,28 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
del *.txt
|
|
||||||
del *.bak
|
|
||||||
del *.cnf
|
|
||||||
del *.db?
|
|
||||||
|
|
||||||
del *.hif
|
|
||||||
del *.mmf
|
|
||||||
del *.mtf
|
|
||||||
del *.mtb
|
|
||||||
del *.hex
|
|
||||||
del *.ndb
|
|
||||||
del *.pin
|
|
||||||
del *.pof
|
|
||||||
del *.snf
|
|
||||||
del *.fit
|
|
||||||
|
|
||||||
del *.SCF
|
|
||||||
del *.ACF
|
|
||||||
del *.TDF
|
|
||||||
del *.INC
|
|
||||||
del *.MIF
|
|
||||||
|
|
||||||
del *.log
|
|
||||||
del *.rpt
|
|
||||||
del *.sof
|
|
||||||
del *.bin
|
|
||||||
@ -1,4 +1,665 @@
|
|||||||
06.07.2022 05:20: [1/2] ALTERA ACEX-K30 STREAM
|
07.09.2022 00:28: [1/2] ALTERA ACEX-K30 STREAM
|
||||||
|
K30\ACCELER.ACF
|
||||||
|
K30\ACCELER.INC
|
||||||
|
K30\ACCELER.TDF
|
||||||
|
K30\AY.ACF
|
||||||
|
K30\AY.INC
|
||||||
|
K30\AY.MIF
|
||||||
|
K30\AY.TDF
|
||||||
|
K30\DCP.ACF
|
||||||
|
K30\DCP.INC
|
||||||
|
K30\DCP.MIF
|
||||||
|
K30\DCP.TDF
|
||||||
|
K30\KBD.ACF
|
||||||
|
K30\KBD.INC
|
||||||
|
K30\KBD.TDF
|
||||||
|
K30\KBD_INI2.MIF
|
||||||
|
K30\MOUSE.ACF
|
||||||
|
K30\MOUSE.INC
|
||||||
|
K30\MOUSE.MIF
|
||||||
|
K30\MOUSE.TDF
|
||||||
|
K30\SP2_ACEX.ACF
|
||||||
|
K30\SP2_ACEX.TDF
|
||||||
|
K30\VIDEO2.ACF
|
||||||
|
K30\VIDEO2.INC
|
||||||
|
K30\VIDEO2.TDF
|
||||||
|
K30\VIDEO2_T1.TDF
|
||||||
|
K30\VIDEO2_T2.TDF
|
||||||
|
K30\VIDEO2_T2_51mhz.TDF
|
||||||
|
K30\VIDEO2_T2_dip_stable.TDF
|
||||||
|
‘ª®¯¨à®¢ ® ä ©«®¢: 28.
|
||||||
|
|
||||||
|
**********************************************************************
|
||||||
|
MAX+plus II
|
||||||
|
Version 10.0 9/14/2000
|
||||||
|
Copyright (c) 1988-2000 Altera Corporation. All rights reserved.
|
||||||
|
|
||||||
|
This material is made available for use under a license from Altera
|
||||||
|
and its use is subject to all conditions and restrictions provided
|
||||||
|
by the license agreement. U.S. and foreign patents apply to the
|
||||||
|
software program and the semiconductor components which are programmed
|
||||||
|
using the software program.
|
||||||
|
|
||||||
|
This program, these components, and the system comprising both
|
||||||
|
are covered by one or more of the following U.S. patents:
|
||||||
|
|
||||||
|
6,097,211; 6,094,064; 6,091,258; 6,091,102; 6,085,317; 6,084,427;
|
||||||
|
6,081,449; 6,080,204; 6,078,521; 6,076,179; 6,075,380; 6,072,358;
|
||||||
|
6,072,332; 6,069,487; 6,066,960; 6,064,599; 6,060,903; 6,058,452;
|
||||||
|
6,057,707; 6,052,755; 6,052,309; 6,052,327; 6,049,223; 6,049,225;
|
||||||
|
6,045,252; 6,043,676; 6,040,712; 6,038,171; 6,037,829; 6,034,857;
|
||||||
|
6,034,540; 6,034,536; 6,032,159; 6,031,763; 6,031,391; 6,029,236;
|
||||||
|
6,028,809; 6,028,808; 6,028,787; 6,026,226; 6,025,737; 6,023,439;
|
||||||
|
6,020,760; 6,020,759; 6,020,758; 6,018,490; 6,018,476; 6,014,334;
|
||||||
|
6,011,744; 6,011,730; 6,011,406; 6,005,379; 5,999,016; 5,999,015;
|
||||||
|
5,998,295; 5,996,039; 5,986,470; 5,986,465; 5,983,277; 5,982,195;
|
||||||
|
5,978,476; 5,977,793; 5,977,791; 5,968,161; 5,970,255; 5,966,597;
|
||||||
|
5,963,565; 5,969,051; 5,963,069; 5,963,049; 5,959,891; 5,953;537;
|
||||||
|
5,949,991; 5,949,710; 5,949,250; 5,949,239; 5,954,751; 5,943,267;
|
||||||
|
5,942,914; 5,940,852; 5,939,790; 5,936,425; 5,926,036; 5,925,904;
|
||||||
|
5,923,567; 5,915,756; 5,915,017; 5,909,450; 5,909,375; 5,909,126;
|
||||||
|
5,905,675; 5,904,524; 5,900,743; 5,898,628; 5,898,318; 5,894,228;
|
||||||
|
5,893,088; 5,892,683; 5,883,526; 5,880,725; 5,880,597; 5,880,596;
|
||||||
|
5,878,250; 5,875,112; 5,873,113; 5,872,529; 5,872,463; 5,870,410;
|
||||||
|
5,869,980; 5,869,979; 5,861,760; 5,859,544; 5,859,542; 5,850,365;
|
||||||
|
5,850,152; 5,850,151; 5,848,005; 5,847,617; 5,845,385; 5,844,854;
|
||||||
|
RE35,977; 5,838,628; 5,838,584; 5,835,998; 5,834,849; 5,828,229;
|
||||||
|
5,825,197; 5,821,787: 5,821,773; 5,821,771; 5,815,726; 5,815,024;
|
||||||
|
5,815,003; 5,812,479; 5,812,450; 5,809,281; 5,809,034; 5,805,516;
|
||||||
|
5,802,540; 5,801,541; 5,796,267; 5,793,246; 5,790,469; 5,787,009;
|
||||||
|
5,771,264; 5,768,562; 5,768,372; 5,767,734; 5,764,583; 5,764,569;
|
||||||
|
5,764,080; 5,764,079; 5,761,099; 5,760,624; 5,757,207; 5,757,070;
|
||||||
|
5,744,991; 5,744,383; 5,740,110; 5,732,020; 5,729,495; 5,717,901;
|
||||||
|
5,705,939; 5,699,020; 5,699,312; 5,696,455; 5,693,540; 5,694,058;
|
||||||
|
5,691,653; 5,689,195; 5,668,771; 5,680,061; 5,672,985; 5,670,895;
|
||||||
|
5,659,717; 5,650,734; 5,649,163; 5,642,262; 5,642,082; 5,633,830;
|
||||||
|
5,631,576; 5,621,312; 5,614,840; 5,612,642; 5,608,337; 5,606,276;
|
||||||
|
5,606,266; 5,604,453; 5,598,109; 5,598,108; 5,592,106; 5,592,102;
|
||||||
|
5,590,305; 5,583,749; 5,581,501; 5,574,893; 5,572,717; 5,572,148;
|
||||||
|
5,572,067; 5,570,040; 5,567,177; 5,565,793; 5,563,592; 5,561,757;
|
||||||
|
5,557,217; 5,555,214; 5,550,842; 5,550,782; 5,548,552; 5,548,228;
|
||||||
|
5,543,732; 5,543,730; 5,541,530; 5,537,295; 5,537,057; 5,525,917;
|
||||||
|
5,525,827; 5,523,706; 5,523,247; 5,517,186; 5,498,975; 5,495,182;
|
||||||
|
5,493,526; 5,493,519; 5,490,266; 5,488,586; 5,487,143; 5,486,775;
|
||||||
|
5,485,103; 5,485,102; 5,483,178; 5,477,474; 5,473,266; 5,463,328,
|
||||||
|
5,444,394; 5,438,295; 5,436,575; 5,436,574; 5,434,514; 5,432,467;
|
||||||
|
5,414,312; 5,399,922; 5,384,499; 5,376,844; 5,371,422; 5,369,314;
|
||||||
|
5,359,243; 5,359,242; 5,353,248; 5,352,940; 5,309,046; 5,350,954;
|
||||||
|
5,349,255; 5,341,308; 5,341,048; 5,341,044; 5,329,487; 5,317,210;
|
||||||
|
5,315,172; 5,301,416; 5,294,975; 5,285,153; 5,280,203; 5,274,581;
|
||||||
|
5,272,368; 5,268,598; 5,266,037; 5,260,611; 5,260,610; 5,258,668;
|
||||||
|
5,247,478; 5,247,477; 5,243,233; 5,241,224; 5,237,219; 5,220,533;
|
||||||
|
5,220,214; 5,200,920; 5,187,392; 5,166,604; 5,162,680; 5,144,167;
|
||||||
|
5,138,576; 5,128,565; 5,121,006; 5,111,423; 5,097,208; 5,091,661;
|
||||||
|
5,066,873; 5,045,772; 4,969,121; 4,930,107; 4,930,098; 4,930,097;
|
||||||
|
4,912,342; 4,903,223; 4,899,070; 4,899,067; 4,871,930; 4,864,161;
|
||||||
|
4,831,573; 4,785,423; 4,774,421; 4,713,792; 4,677,318; 4,617,479;
|
||||||
|
4,609,986; 4,020,469; Additional patents are pending.
|
||||||
|
|
||||||
|
Altera Corporation acknowledges the trademarks of other organizations
|
||||||
|
for their respective products or services mentioned in this software.
|
||||||
|
|
||||||
|
**********************************************************************
|
||||||
|
Compiling project f:\sprinter\src\altera\acex\sp2_acex ....
|
||||||
|
|
||||||
|
**** Compiler Netlist Extractor ****
|
||||||
|
|
||||||
|
Processing . -- 0% done
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD10" was declared but never used
|
||||||
|
Warning: Line 179, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "RGMOD4" was declared but never used
|
||||||
|
Warning: Line 92, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "cth4" was declared but never used
|
||||||
|
Warning: Line 160, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "RED1" was declared but never used
|
||||||
|
Warning: Line 162, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "BLUE4" was declared but never used
|
||||||
|
Warning: Line 161, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "GREEN0" was declared but never used
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD5" was declared but never used
|
||||||
|
Warning: Line 179, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "RGMOD5" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ctv0" was declared but never used
|
||||||
|
Warning: Line 160, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "RED0" was declared but never used
|
||||||
|
Warning: Line 162, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "BLUE5" was declared but never used
|
||||||
|
Warning: Line 161, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "GREEN3" was declared but never used
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD2" was declared but never used
|
||||||
|
Warning: Line 179, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "RGMOD6" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ctv1" was declared but never used
|
||||||
|
Warning: Line 222, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ISA_CASH" was declared but never used
|
||||||
|
Warning: Line 160, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "RED3" was declared but never used
|
||||||
|
Warning: Line 261, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "V_WRXX0" was declared but never used
|
||||||
|
Warning: Line 250, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ALL_MODE1" was declared but never used
|
||||||
|
Warning: Line 162, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "BLUE2" was declared but never used
|
||||||
|
Warning: Line 161, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "GREEN2" was declared but never used
|
||||||
|
Warning: Line 214, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "SYS_ENA" was declared but never used
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD3" was declared but never used
|
||||||
|
Warning: Line 147, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "T_SIGNAL" was declared but never used
|
||||||
|
Warning: Line 204, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "CBL_R0" was declared but never used
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD15" was declared but never used
|
||||||
|
Warning: Line 179, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "RGMOD7" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ctv2" was declared but never used
|
||||||
|
Warning: Line 160, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "RED2" was declared but never used
|
||||||
|
Warning: Line 261, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "V_WRXX1" was declared but never used
|
||||||
|
Warning: Line 162, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "BLUE3" was declared but never used
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD0" was declared but never used
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD14" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ctv3" was declared but never used
|
||||||
|
Warning: Line 170, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "MDR7" was declared but never used
|
||||||
|
Warning: Line 36, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "/HALT" was declared but never used
|
||||||
|
Warning: Line 261, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "V_WRXX2" was declared but never used
|
||||||
|
Warning: Line 162, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "BLUE0" was declared but never used
|
||||||
|
Warning: Line 117, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "blank" was declared but never used
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD1" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ctv4" was declared but never used
|
||||||
|
Warning: Line 241, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ROM_WRITE_MODE" was declared but never used
|
||||||
|
Warning: Line 170, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "MDR6" was declared but never used
|
||||||
|
Warning: Line 261, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "V_WRXX3" was declared but never used
|
||||||
|
Warning: Line 250, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ALL_MODE4" was declared but never used
|
||||||
|
Warning: Line 162, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "BLUE1" was declared but never used
|
||||||
|
Warning: Line 164, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "BORDER7" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ctv5" was declared but never used
|
||||||
|
Warning: Line 170, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "MDR5" was declared but never used
|
||||||
|
Warning: Line 250, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ALL_MODE5" was declared but never used
|
||||||
|
Warning: Line 240, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ROM_RG7" was declared but never used
|
||||||
|
Warning: Line 164, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "BORDER6" was declared but never used
|
||||||
|
Warning: Line 135, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "FDD_CH" was declared but never used
|
||||||
|
Warning: Line 154, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "KEY_D0" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ctv6" was declared but never used
|
||||||
|
Warning: Line 94, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ctf2" was declared but never used
|
||||||
|
Warning: Line 240, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ROM_RG6" was declared but never used
|
||||||
|
Warning: Line 170, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "MDR4" was declared but never used
|
||||||
|
Warning: Line 250, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ALL_MODE6" was declared but never used
|
||||||
|
Warning: Line 92, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "cth3" was declared but never used
|
||||||
|
Warning: Line 164, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "BORDER5" was declared but never used
|
||||||
|
Warning: Line 161, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "GREEN5" was declared but never used
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD8" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ctv7" was declared but never used
|
||||||
|
Warning: Line 94, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ctf3" was declared but never used
|
||||||
|
Warning: Line 170, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "MDR3" was declared but never used
|
||||||
|
Warning: Line 250, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ALL_MODE7" was declared but never used
|
||||||
|
Warning: Line 240, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ROM_RG5" was declared but never used
|
||||||
|
Warning: Line 160, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "RED5" was declared but never used
|
||||||
|
Warning: Line 161, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "GREEN4" was declared but never used
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD9" was declared but never used
|
||||||
|
Warning: Line 94, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "ctf0" was declared but never used
|
||||||
|
Warning: Line 170, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "MDR2" was declared but never used
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD13" was declared but never used
|
||||||
|
Warning: Line 179, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "RGMOD1" was declared but never used
|
||||||
|
Warning: Line 160, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "RED4" was declared but never used
|
||||||
|
Warning: Line 161, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "GREEN7" was declared but never used
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD6" was declared but never used
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD12" was declared but never used
|
||||||
|
Warning: Line 179, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "RGMOD2" was declared but never used
|
||||||
|
Warning: Line 170, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "MDR1" was declared but never used
|
||||||
|
Warning: Line 136, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "FDD_W" was declared but never used
|
||||||
|
Warning: Line 160, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "RED7" was declared but never used
|
||||||
|
Warning: Line 162, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "BLUE6" was declared but never used
|
||||||
|
Warning: Line 161, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "GREEN6" was declared but never used
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD7" was declared but never used
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD11" was declared but never used
|
||||||
|
Warning: Line 170, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "MDR0" was declared but never used
|
||||||
|
Warning: Line 179, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "RGMOD3" was declared but never used
|
||||||
|
Warning: Line 160, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "RED6" was declared but never used
|
||||||
|
Warning: Line 115, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "start_up" was declared but never used
|
||||||
|
Warning: Line 162, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "BLUE7" was declared but never used
|
||||||
|
Warning: Line 161, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "GREEN1" was declared but never used
|
||||||
|
Warning: Line 109, File f:\sprinter\src\altera\acex\sp2_acex.tdf:
|
||||||
|
Symbolic name "DMD4" was declared but never used
|
||||||
|
Warning: Line 57, File f:\sprinter\src\altera\acex\kbd.tdf:
|
||||||
|
Symbolic name "KDD1" was declared but never used
|
||||||
|
Warning: Line 57, File f:\sprinter\src\altera\acex\kbd.tdf:
|
||||||
|
Symbolic name "KDD0" was declared but never used
|
||||||
|
Warning: Line 52, File f:\sprinter\src\altera\acex\kbd.tdf:
|
||||||
|
Symbolic name "KA4" was declared but never used
|
||||||
|
Warning: Line 52, File f:\sprinter\src\altera\acex\kbd.tdf:
|
||||||
|
Symbolic name "KA5" was declared but never used
|
||||||
|
Warning: Line 57, File f:\sprinter\src\altera\acex\kbd.tdf:
|
||||||
|
Symbolic name "KDD2" was declared but never used
|
||||||
|
Warning: Line 52, File f:\sprinter\src\altera\acex\kbd.tdf:
|
||||||
|
Symbolic name "KA6" was declared but never used
|
||||||
|
Warning: Line 52, File f:\sprinter\src\altera\acex\kbd.tdf:
|
||||||
|
Symbolic name "KA7" was declared but never used
|
||||||
|
Warning: Line 52, File f:\sprinter\src\altera\acex\kbd.tdf:
|
||||||
|
Symbolic name "KA0" was declared but never used
|
||||||
|
Warning: Line 15, File f:\sprinter\src\altera\acex\kbd.tdf:
|
||||||
|
Symbolic name "/IOM" was declared but never used
|
||||||
|
Warning: Line 52, File f:\sprinter\src\altera\acex\kbd.tdf:
|
||||||
|
Symbolic name "KA1" was declared but never used
|
||||||
|
Warning: Line 52, File f:\sprinter\src\altera\acex\kbd.tdf:
|
||||||
|
Symbolic name "KA2" was declared but never used
|
||||||
|
Warning: Line 52, File f:\sprinter\src\altera\acex\kbd.tdf:
|
||||||
|
Symbolic name "KA3" was declared but never used
|
||||||
|
Warning: Line 16, File f:\sprinter\src\altera\acex\kbd.tdf:
|
||||||
|
Symbolic name "/M1" was declared but never used
|
||||||
|
Warning: Line 63, File f:\sprinter\src\altera\acex\kbd.tdf:
|
||||||
|
Symbolic name "KB_OFL" was declared but never used
|
||||||
|
Warning: Line 35, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "D6" was declared but never used
|
||||||
|
Warning: Line 57, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "DIR_PORT1" was declared but never used
|
||||||
|
Warning: Line 165, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "MXL" was declared but never used
|
||||||
|
Warning: Line 137, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEMMT" was declared but never used
|
||||||
|
Warning: Line 147, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WET3" was declared but never used
|
||||||
|
Warning: Line 138, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEMMU" was declared but never used
|
||||||
|
Warning: Line 147, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WET2" was declared but never used
|
||||||
|
Warning: Line 91, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "VXA19" was declared but never used
|
||||||
|
Warning: Line 139, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEMMV" was declared but never used
|
||||||
|
Warning: Line 147, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WET1" was declared but never used
|
||||||
|
Warning: Line 131, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEMMN" was declared but never used
|
||||||
|
Warning: Line 140, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEMMW" was declared but never used
|
||||||
|
Warning: Line 147, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WET0" was declared but never used
|
||||||
|
Warning: Line 132, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEMMO" was declared but never used
|
||||||
|
Warning: Line 113, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_CST1" was declared but never used
|
||||||
|
Warning: Line 133, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEMMP" was declared but never used
|
||||||
|
Warning: Line 134, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEMMQ" was declared but never used
|
||||||
|
Warning: Line 122, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WRM2" was declared but never used
|
||||||
|
Warning: Line 119, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEM" was declared but never used
|
||||||
|
Warning: Line 35, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "D1" was declared but never used
|
||||||
|
Warning: Line 220, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_CSX3" was declared but never used
|
||||||
|
Warning: Line 210, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "MS_PNT" was declared but never used
|
||||||
|
Warning: Line 135, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEMMR" was declared but never used
|
||||||
|
Warning: Line 35, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "D0" was declared but never used
|
||||||
|
Warning: Line 117, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEX" was declared but never used
|
||||||
|
Warning: Line 166, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "MXR" was declared but never used
|
||||||
|
Warning: Line 129, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEMM" was declared but never used
|
||||||
|
Warning: Line 136, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEMMS" was declared but never used
|
||||||
|
Warning: Line 120, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEM2" was declared but never used
|
||||||
|
Warning: Line 35, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "D3" was declared but never used
|
||||||
|
Warning: Line 35, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "D2" was declared but never used
|
||||||
|
Warning: Line 141, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEMMX" was declared but never used
|
||||||
|
Warning: Line 84, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "ZX_COLOR1" was declared but never used
|
||||||
|
Warning: Line 193, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "X_MODE5" was declared but never used
|
||||||
|
Warning: Line 35, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "D5" was declared but never used
|
||||||
|
Warning: Line 74, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "MOUSE_Y9" was declared but never used
|
||||||
|
Warning: Line 142, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEMMY" was declared but never used
|
||||||
|
Warning: Line 57, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "DIR_PORT2" was declared but never used
|
||||||
|
Warning: Line 84, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "ZX_COLOR0" was declared but never used
|
||||||
|
Warning: Line 182, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "ZXS5" was declared but never used
|
||||||
|
Warning: Line 175, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "AX128" was declared but never used
|
||||||
|
Warning: Line 35, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "D4" was declared but never used
|
||||||
|
Warning: Line 214, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "SCR_ENA" was declared but never used
|
||||||
|
Warning: Line 143, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "V_WEMMZ" was declared but never used
|
||||||
|
Warning: Line 84, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "ZX_COLOR3" was declared but never used
|
||||||
|
Warning: Line 212, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "MS_DAT" was declared but never used
|
||||||
|
Warning: Line 35, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "D7" was declared but never used
|
||||||
|
Warning: Line 84, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "ZX_COLOR2" was declared but never used
|
||||||
|
Warning: Line 25, File f:\sprinter\src\altera\acex\video2.tdf:
|
||||||
|
Symbolic name "START_UP" was declared but never used
|
||||||
|
Warning: Line 113, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "D6" was declared but never used
|
||||||
|
Warning: Line 72, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "G_LINE9" was declared but never used
|
||||||
|
Warning: Line 207, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "X_MA_2" was declared but never used
|
||||||
|
Warning: Line 128, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "SC5" was declared but never used
|
||||||
|
Warning: Line 207, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "X_MA_3" was declared but never used
|
||||||
|
Warning: Line 204, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "HDD_A3" was declared but never used
|
||||||
|
Warning: Line 123, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "MPGS7" was declared but never used
|
||||||
|
Warning: Line 128, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "SC6" was declared but never used
|
||||||
|
Warning: Line 207, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "X_MA_11" was declared but never used
|
||||||
|
Warning: Line 207, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "X_MA_0" was declared but never used
|
||||||
|
Warning: Line 123, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "MPGS6" was declared but never used
|
||||||
|
Warning: Line 128, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "SC7" was declared but never used
|
||||||
|
Warning: Line 207, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "X_MA_10" was declared but never used
|
||||||
|
Warning: Line 207, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "X_MA_1" was declared but never used
|
||||||
|
Warning: Line 113, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "D1" was declared but never used
|
||||||
|
Warning: Line 128, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "SC2" was declared but never used
|
||||||
|
Warning: Line 113, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "D0" was declared but never used
|
||||||
|
Warning: Line 207, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "X_MA_8" was declared but never used
|
||||||
|
Warning: Line 128, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "SC3" was declared but never used
|
||||||
|
Warning: Line 113, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "D3" was declared but never used
|
||||||
|
Warning: Line 207, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "X_MA_9" was declared but never used
|
||||||
|
Warning: Line 162, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "HDD_W3" was declared but never used
|
||||||
|
Warning: Line 113, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "D2" was declared but never used
|
||||||
|
Warning: Line 207, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "X_MA_6" was declared but never used
|
||||||
|
Warning: Line 162, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "HDD_W2" was declared but never used
|
||||||
|
Warning: Line 113, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "D5" was declared but never used
|
||||||
|
Warning: Line 207, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "X_MA_7" was declared but never used
|
||||||
|
Warning: Line 162, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "HDD_W1" was declared but never used
|
||||||
|
Warning: Line 113, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "D4" was declared but never used
|
||||||
|
Warning: Line 207, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "X_MA_4" was declared but never used
|
||||||
|
Warning: Line 162, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "HDD_W0" was declared but never used
|
||||||
|
Warning: Line 113, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "D7" was declared but never used
|
||||||
|
Warning: Line 207, File f:\sprinter\src\altera\acex\dcp.tdf:
|
||||||
|
Symbolic name "X_MA_5" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "XMDH5" was declared but never used
|
||||||
|
Warning: Line 88, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "FN_ACC2" was declared but never used
|
||||||
|
Warning: Line 124, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "ACC_TIME" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "XMDH6" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "XMDH7" was declared but never used
|
||||||
|
Warning: Line 78, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "RETN" was declared but never used
|
||||||
|
Warning: Line 69, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "CB_CMD" was declared but never used
|
||||||
|
Warning: Line 70, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "ID_CMD" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "XMDH0" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "XMDH1" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "XMDH2" was declared but never used
|
||||||
|
Warning: Line 12, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "RAS" was declared but never used
|
||||||
|
Warning: Line 104, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "STATE_EI" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "XMDH3" was declared but never used
|
||||||
|
Warning: Line 21, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "MC_WRITE" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "XMDH4" was declared but never used
|
||||||
|
Warning: Line 19, File f:\sprinter\src\altera\acex\acceler.tdf:
|
||||||
|
Symbolic name "MC_BEGIN" was declared but never used
|
||||||
|
Warning: Line 294, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Group "AY_GF" is missing brackets []
|
||||||
|
Warning: Line 98, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_CH_DIR7" was declared but never used
|
||||||
|
Warning: Line 61, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_ADRX3" was declared but never used
|
||||||
|
Warning: Line 98, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_CH_DIR6" was declared but never used
|
||||||
|
Warning: Line 61, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_ADRX2" was declared but never used
|
||||||
|
Warning: Line 61, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_ADRX5" was declared but never used
|
||||||
|
Warning: Line 61, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_ADRX4" was declared but never used
|
||||||
|
Warning: Line 61, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_ADRX7" was declared but never used
|
||||||
|
Warning: Line 61, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_ADRX6" was declared but never used
|
||||||
|
Warning: Line 98, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_CH_DIR1" was declared but never used
|
||||||
|
Warning: Line 98, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_CH_DIR0" was declared but never used
|
||||||
|
Warning: Line 51, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_CLK1" was declared but never used
|
||||||
|
Warning: Line 98, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_CH_DIR3" was declared but never used
|
||||||
|
Warning: Line 34, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AWR" was declared but never used
|
||||||
|
Warning: Line 43, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_AAX1" was declared but never used
|
||||||
|
Warning: Line 98, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_CH_DIR2" was declared but never used
|
||||||
|
Warning: Line 98, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_CH_DIR5" was declared but never used
|
||||||
|
Warning: Line 62, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_CCC8" was declared but never used
|
||||||
|
Warning: Line 98, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_CH_DIR4" was declared but never used
|
||||||
|
Warning: Line 61, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_ADRX1" was declared but never used
|
||||||
|
Warning: Line 61, File f:\sprinter\src\altera\acex\ay.tdf:
|
||||||
|
Symbolic name "AY_ADRX0" was declared but never used
|
||||||
|
Processing .. -- 100% done
|
||||||
|
Info: Compiling project with user-specified timing assignments
|
||||||
|
|
||||||
|
**** Database Builder ****
|
||||||
|
|
||||||
|
Processing . -- 0% done
|
||||||
|
Processing .. -- 100% done
|
||||||
|
|
||||||
|
**** Logic Synthesizer ****
|
||||||
|
|
||||||
|
Processing . -- 0% done
|
||||||
|
Warning: Flipflop 'AY_FULL0' stuck at GND
|
||||||
|
Warning: TRI or OPNDRN buffer ':1446' is permanently disabled
|
||||||
|
Warning: TRI or OPNDRN buffer ':1446' is permanently disabled
|
||||||
|
Info: Presettable registers will power up high
|
||||||
|
Info: DEV_CLRn will set presettable registers due to NOT Gate Push-Back
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_15' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_14' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_13' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_12' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_11' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_10' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_9' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_8' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_7' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_6' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_5' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_4' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_3' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_2' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_1' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|video2:SVIDEO|lpm_ram_dp:MS_DAT|altdpram:sram|segment0_0' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_15' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_14' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_13' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_12' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_11' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_10' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_9' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_8' -- no project outputs depend on it
|
||||||
|
Info: Ignored unnecessary memory segment '|lpm_ram_dp:CBL|altdpram:sram|segment0_0' -- no project outputs depend on it
|
||||||
|
Processing .. -- 100% done
|
||||||
|
|
||||||
|
**** Partitioner ****
|
||||||
|
|
||||||
|
Processing . -- 0% done
|
||||||
|
Warning: Project has user pin or logic cell assignments, but has never been compiled before. For best fitting results, let the Compiler choose the first set of assignments instead.
|
||||||
|
Info: Reserved unused input pin '/HALT' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Warning: Ignored Increase Input Delay logic option on pin '/wr' -- pin is either a global pin or is assigned to a dedicated input pin
|
||||||
|
Warning: Ignored Increase Input Delay logic option on pin '/io' -- pin is either a global pin or is assigned to a dedicated input pin
|
||||||
|
Warning: Ignored Increase Input Delay logic option on pin '/rd' -- pin is either a global pin or is assigned to a dedicated input pin
|
||||||
|
Warning: Ignored Increase Input Delay logic option on pin '/mr' -- pin is either a global pin or is assigned to a dedicated input pin
|
||||||
|
Warning: Ignored Increase Input Delay logic option on pin '/HALT' -- pin is either a global pin or is assigned to a dedicated input pin
|
||||||
|
Processing .. -- 100% done
|
||||||
|
|
||||||
|
**** Fitter ****
|
||||||
|
|
||||||
|
Processing . -- 0% done
|
||||||
|
Processing .. -- 50% done
|
||||||
|
Processing ... -- 80% done
|
||||||
|
|
||||||
|
**** Fitter ****
|
||||||
|
|
||||||
|
Processing . -- 50% done
|
||||||
|
Processing .. -- 80% done
|
||||||
|
|
||||||
|
**** Fitter ****
|
||||||
|
|
||||||
|
Processing . -- 50% done
|
||||||
|
Processing .. -- 80% done
|
||||||
|
Info: Chip 'SP2_ACEX' in device 'EP1K30QC208-3' has less than 20% of logic cells available for future logic changes -- if your project is likely to change, Altera recommends using a larger device
|
||||||
|
Info: Chip 'SP2_ACEX' in device 'EP1K30QC208-3' has less than 20% of pins available for future logic changes -- if your project is likely to change, Altera recommends using a larger device
|
||||||
|
Processing ... -- 90% done
|
||||||
|
Processing .... -- 100% done
|
||||||
|
Warning: Node '|dcp:DECODE|:285' has assignments but doesn't exist or is a primitive array -- edit the project's ACF to fix the problem
|
||||||
|
Warning: Node '|video2:SVIDEO|V_WEM' has assignments but doesn't exist or is a primitive array -- edit the project's ACF to fix the problem
|
||||||
|
Warning: Node '|video2:SVIDEO|V_WEM2' has assignments but doesn't exist or is a primitive array -- edit the project's ACF to fix the problem
|
||||||
|
Warning: Node '|video2:SVIDEO|V_WEMM' has assignments but doesn't exist or is a primitive array -- edit the project's ACF to fix the problem
|
||||||
|
Warning: Node '|video2:SVIDEO|V_WEMMN' has assignments but doesn't exist or is a primitive array -- edit the project's ACF to fix the problem
|
||||||
|
Warning: Node '|video2:SVIDEO|V_WEMMO' has assignments but doesn't exist or is a primitive array -- edit the project's ACF to fix the problem
|
||||||
|
Warning: Node '|video2:SVIDEO|V_WRM2' has assignments but doesn't exist or is a primitive array -- edit the project's ACF to fix the problem
|
||||||
|
|
||||||
|
**** Timing SNF Extractor ****
|
||||||
|
|
||||||
|
Processing . -- 0% done
|
||||||
|
Warning: Timing characteristics of device EP1K30QC208-3 are preliminary
|
||||||
|
Processing .. -- 100% done
|
||||||
|
Info: One or more paths have been found between registers controlled by different clocks -- can't calculate fmax for those paths
|
||||||
|
Warning: Found ripple clock -- warning messages and Report File information on tco, tsu, and fmax may be inaccurate
|
||||||
|
Info: Delay path is controlled by inverted clocks -- assuming 50% duty cycle
|
||||||
|
Warning: Can't provide fmax of 100.00 MHz on Clock pin "TG42". Current fmax is 44.24 MHz.
|
||||||
|
Info: Found a total of 1 timing assignments that were not implemented
|
||||||
|
Project compilation was successful
|
||||||
|
0 errors
|
||||||
|
247 warnings
|
||||||
|
<EFBFBD>¥ 㤠¥âáï ©â¨ F:\Sprinter\src\altera\acex\*.bak
|
||||||
|
<EFBFBD>¥ 㤠¥âáï ©â¨ F:\Sprinter\src\altera\acex\*.db?
|
||||||
|
<EFBFBD>¥ 㤠¥âáï ©â¨ F:\Sprinter\src\altera\acex\*.mtb
|
||||||
|
<EFBFBD>¥ 㤠¥âáï ©â¨ F:\Sprinter\src\altera\acex\*.SCF
|
||||||
transform ttf-file to binary
|
transform ttf-file to binary
|
||||||
Copyright (c) 2021 Sprinter Team
|
Copyright (c) 2021 Sprinter Team
|
||||||
transform done.
|
transform done.
|
||||||
|
|||||||
3
src/altera/acex/k30/.vscode/settings.json
vendored
3
src/altera/acex/k30/.vscode/settings.json
vendored
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"search.useIgnoreFiles": false
|
|
||||||
}
|
|
||||||
Binary file not shown.
@ -14,7 +14,7 @@ BEGIN
|
|||||||
0 : 1040 % DCP PAGE %;
|
0 : 1040 % DCP PAGE %;
|
||||||
|
|
||||||
%
|
%
|
||||||
MA[11..0] bit0 - WG_A5
|
MA[11..0] bit0 - WG_A5
|
||||||
bit1 - WG_A6
|
bit1 - WG_A6
|
||||||
|
|
||||||
bit2 - MUX_KP11, 0 - WG,CMOS 1 - KMPS,TM9
|
bit2 - MUX_KP11, 0 - WG,CMOS 1 - KMPS,TM9
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -320,7 +320,8 @@ BEGIN
|
|||||||
-- NEW 30.06.2022
|
-- NEW 30.06.2022
|
||||||
-- KEYS.int_ena = ALL_MODE0; -- int in all keys
|
-- KEYS.int_ena = ALL_MODE0; -- int in all keys
|
||||||
-- KEYS.ena = !ALL_MODE0; -- ZX-Keyboard
|
-- KEYS.ena = !ALL_MODE0; -- ZX-Keyboard
|
||||||
KEYS.int_ena = LCELL(ALL_MODE0 & ALL_MODE3); -- new bit3 in ALL_MODE, disables keyboard interruptions w/o accellerator affected
|
-- new bit3 in ALL_MODE, disables keyboard interruptions w/o accellerator affected
|
||||||
|
KEYS.int_ena = LCELL(ALL_MODE0 & ALL_MODE3);
|
||||||
KEYS.ena = VCC; -- ZX-Keyboard always enabled
|
KEYS.ena = VCC; -- ZX-Keyboard always enabled
|
||||||
-- ========================================
|
-- ========================================
|
||||||
|
|
||||||
@ -1011,7 +1012,11 @@ END GENERATE;
|
|||||||
-- ZX_COLOR[3..0]
|
-- ZX_COLOR[3..0]
|
||||||
|
|
||||||
SVIDEO.ZX_PORT[5..0] = (ACC.G_LINE[5..0]);
|
SVIDEO.ZX_PORT[5..0] = (ACC.G_LINE[5..0]);
|
||||||
SVIDEO.ZX_PORT[7..6] = (DECODE.SP_SA,LCELL(DECODE.SP_SCR & !(A13 & !ACC.G_LINE7) & !ACC.G_LINE6));
|
-- SVIDEO.ZX_PORT[7..6] = (DECODE.SP_SA,LCELL(DECODE.SP_SCR & !(A13 & !ACC.G_LINE7) & !ACC.G_LINE6));
|
||||||
|
|
||||||
|
-- NEW 25.08.2022
|
||||||
|
-- disable zx adressing due accelerator is on
|
||||||
|
SVIDEO.ZX_PORT[7..6] = (DECODE.SP_SA,LCELL(DECODE.SP_SCR & !(A13 & !ACC.G_LINE7) & !ACC.G_LINE6 & !ALL_MODE0));
|
||||||
|
|
||||||
SVIDEO.DIR_PORT[0] = DECODE.SCR128;
|
SVIDEO.DIR_PORT[0] = DECODE.SCR128;
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@ -77,9 +77,9 @@ SUBDESIGN video2
|
|||||||
)
|
)
|
||||||
VARIABLE
|
VARIABLE
|
||||||
|
|
||||||
CLK84 : NODE;
|
-- CLK84 : NODE;
|
||||||
CLK84_X : NODE;
|
-- CLK84_X : NODE;
|
||||||
CLK84_Y : NODE;
|
-- CLK84_Y : NODE;
|
||||||
|
|
||||||
ZX_COLOR[3..0] : NODE;
|
ZX_COLOR[3..0] : NODE;
|
||||||
|
|
||||||
@ -120,11 +120,30 @@ VARIABLE
|
|||||||
V_WEM2 : NODE;
|
V_WEM2 : NODE;
|
||||||
V_WRM : NODE;
|
V_WRM : NODE;
|
||||||
V_WRM2 : NODE;
|
V_WRM2 : NODE;
|
||||||
|
%
|
||||||
V_WEMM : NODE;
|
V_WEMM : NODE;
|
||||||
V_WEMMM : NODE;
|
V_WEMMM : NODE;
|
||||||
V_WEMMN : NODE;
|
V_WEMMN : NODE;
|
||||||
V_WEMMO : NODE;
|
V_WEMMO : NODE;
|
||||||
|
%
|
||||||
|
V_WEMM : NODE;
|
||||||
|
V_WEMMM : NODE;
|
||||||
|
V_WEMMN : NODE;
|
||||||
|
V_WEMMO : NODE;
|
||||||
|
V_WEMMP : NODE;
|
||||||
|
V_WEMMQ : NODE;
|
||||||
|
V_WEMMR : NODE;
|
||||||
|
V_WEMMS : NODE;
|
||||||
|
V_WEMMT : NODE;
|
||||||
|
V_WEMMU : NODE;
|
||||||
|
V_WEMMV : NODE;
|
||||||
|
V_WEMMW : NODE;
|
||||||
|
V_WEMMX : NODE;
|
||||||
|
V_WEMMY : NODE;
|
||||||
|
V_WEMMZ : NODE;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
V_WET[3..0] : DFF;
|
V_WET[3..0] : DFF;
|
||||||
|
|
||||||
D_PIC0[7..0] : DFFE;
|
D_PIC0[7..0] : DFFE;
|
||||||
@ -143,6 +162,8 @@ VARIABLE
|
|||||||
WR_PIC : DFF;
|
WR_PIC : DFF;
|
||||||
WR_COL : DFF;
|
WR_COL : DFF;
|
||||||
LD_PIC : NODE;
|
LD_PIC : NODE;
|
||||||
|
MXL: NODE;
|
||||||
|
MXR: NODE;
|
||||||
|
|
||||||
RBRVA[10..8]: DFF;
|
RBRVA[10..8]: DFF;
|
||||||
BRVA[7..0] : DFF;
|
BRVA[7..0] : DFF;
|
||||||
@ -282,6 +303,7 @@ BEGIN
|
|||||||
CTV[8..0].clk = CLK42;
|
CTV[8..0].clk = CLK42;
|
||||||
|
|
||||||
CT[2..0].ena = VCC;
|
CT[2..0].ena = VCC;
|
||||||
|
|
||||||
CASE CT[2..0] IS
|
CASE CT[2..0] IS
|
||||||
WHEN 0 => CT[2..0] = 1;
|
WHEN 0 => CT[2..0] = 1;
|
||||||
WHEN 1 => CT[2..0] = 2;
|
WHEN 1 => CT[2..0] = 2;
|
||||||
@ -292,10 +314,11 @@ BEGIN
|
|||||||
WHEN 6 => CT[2..0] = 0;
|
WHEN 6 => CT[2..0] = 0;
|
||||||
WHEN 7 => CT[2..0] = 0;
|
WHEN 7 => CT[2..0] = 0;
|
||||||
END CASE;
|
END CASE;
|
||||||
|
|
||||||
-- for remove sinc jitter
|
-- for remove sinc jitter
|
||||||
-- CT[5..3].ena = DFF(((CT0 & CT2) or (COPY_SINC_H & !CT4)),CLK42,,);
|
-- CT[5..3].ena = DFF(((CT0 & CT2) or (COPY_SINC_H & !CT4)),CLK42,,);
|
||||||
CT[5..3].ena = DFF((CT0 & CT2),CLK42,,);
|
CT[5..3].ena = DFF((CT0 & CT2),CLK42,,);
|
||||||
CT[5..3] = CT[5..3]+1;
|
CT[5..3] = CT[5..3]+1;
|
||||||
%
|
%
|
||||||
CASE CT[4..3] IS
|
CASE CT[4..3] IS
|
||||||
WHEN 0 => CT[5..3] = CT[5..3]+1;
|
WHEN 0 => CT[5..3] = CT[5..3]+1;
|
||||||
@ -331,7 +354,7 @@ BEGIN
|
|||||||
SCR128 = DIR_PORT0;
|
SCR128 = DIR_PORT0;
|
||||||
|
|
||||||
-- WR_PIX = LCELL(TSN_W3);
|
-- WR_PIX = LCELL(TSN_W3);
|
||||||
WR_PIX = (TSN_W3);
|
WR_PIX = TSN_W3;
|
||||||
|
|
||||||
DOUBLE.clk = CLK42; DOUBLE.ena = !E_WR; DOUBLE = DOUBLE_CAS;
|
DOUBLE.clk = CLK42; DOUBLE.ena = !E_WR; DOUBLE = DOUBLE_CAS;
|
||||||
VXA[].clk = CLK42; VXA[].ena = !E_WR;
|
VXA[].clk = CLK42; VXA[].ena = !E_WR;
|
||||||
@ -397,12 +420,12 @@ IF MODE == "SPRINTER" GENERATE
|
|||||||
-- INTT = DFF(!(BLANK & (CTV[2..0] == 7)),CLK42,,MODE0[0]);
|
-- INTT = DFF(!(BLANK & (CTV[2..0] == 7)),CLK42,,MODE0[0]);
|
||||||
|
|
||||||
CASE CT[2..0] IS
|
CASE CT[2..0] IS
|
||||||
WHEN B"110" => VCM[2..0].d = 5; -- 101
|
WHEN B"110" => VCM[2..0].d = 5; -- 110 -> 101 6 -> 5
|
||||||
WHEN B"000" => VCM[2..0].d = 1; -- 001
|
WHEN B"000" => VCM[2..0].d = 1; -- 000 -> 001 0 -> 1
|
||||||
WHEN B"001" => VCM[2..0].d = 4; -- 100
|
WHEN B"001" => VCM[2..0].d = 4; -- 001 -> 100 1 -> 4
|
||||||
WHEN B"010" => VCM[2..0].d = 3; -- 011
|
WHEN B"010" => VCM[2..0].d = 3; -- 010 -> 011 2 -> 3
|
||||||
WHEN B"100" => VCM[2..0].d = 2; -- 010
|
WHEN B"100" => VCM[2..0].d = 2; -- 100 -> 010 4 -> 2
|
||||||
WHEN B"101" => VCM[2..0].d = 0; -- 000
|
WHEN B"101" => VCM[2..0].d = 0; -- 101 -> 000 5 -> 0
|
||||||
END CASE;
|
END CASE;
|
||||||
|
|
||||||
CASE VCM[1..0] IS
|
CASE VCM[1..0] IS
|
||||||
@ -411,6 +434,9 @@ IF MODE == "SPRINTER" GENERATE
|
|||||||
V_CST[].d = (VCC,GND);
|
V_CST[].d = (VCC,GND);
|
||||||
V_WE.d = VCC;
|
V_WE.d = VCC;
|
||||||
V_WEX.d = VCC;
|
V_WEX.d = VCC;
|
||||||
|
|
||||||
|
TSN_W3.d = X_MODE_BOND;
|
||||||
|
%
|
||||||
IF VCM2 THEN
|
IF VCM2 THEN
|
||||||
-- TSN_W3.d = X_MODE5;
|
-- TSN_W3.d = X_MODE5;
|
||||||
TSN_W3.d = X_MODE_BOND;
|
TSN_W3.d = X_MODE_BOND;
|
||||||
@ -419,6 +445,8 @@ IF MODE == "SPRINTER" GENERATE
|
|||||||
TSN_W3.d = X_MODE_BOND;
|
TSN_W3.d = X_MODE_BOND;
|
||||||
-- V_CST[].d = (VCC,X_MODE_BOND);
|
-- V_CST[].d = (VCC,X_MODE_BOND);
|
||||||
END IF;
|
END IF;
|
||||||
|
%
|
||||||
|
|
||||||
WHEN 1 =>
|
WHEN 1 =>
|
||||||
WR_PIC.d = !VCM2;
|
WR_PIC.d = !VCM2;
|
||||||
WR_COL.d = VCM2;
|
WR_COL.d = VCM2;
|
||||||
@ -433,7 +461,10 @@ IF MODE == "SPRINTER" GENERATE
|
|||||||
V_WEX.d = GND;
|
V_WEX.d = GND;
|
||||||
V_WET[].d = MXWE or !((!VXA1 & !VXA0),(!VXA1 & VXA0),(VXA1 & !VXA0),(VXA1 & VXA0));
|
V_WET[].d = MXWE or !((!VXA1 & !VXA0),(!VXA1 & VXA0),(VXA1 & !VXA0),(VXA1 & VXA0));
|
||||||
WHEN 3 =>
|
WHEN 3 =>
|
||||||
WR_PIC.d = X_MODE5;
|
-- WR_PIC.d = X_MODE5;
|
||||||
|
-- NEW 26.08.2022, fix bug with first column
|
||||||
|
-- it was reproducing when changes mode 320 -> 640, like any 320px screen squares -> text mode squares
|
||||||
|
WR_PIC.d = MODE0[5];
|
||||||
VLA[].d = (DIR_PORT3,CTH[5..0],CT5,VCC,VCC,CTV[8..3],GND,GND);
|
VLA[].d = (DIR_PORT3,CTH[5..0],CT5,VCC,VCC,CTV[8..3],GND,GND);
|
||||||
WR_MODE.d = !(CT[5..3] == B"111") & !(CT4 & CT3 & !MODE0[5]);
|
WR_MODE.d = !(CT[5..3] == B"111") & !(CT4 & CT3 & !MODE0[5]);
|
||||||
V_CST[].d = (VCC,GND);
|
V_CST[].d = (VCC,GND);
|
||||||
@ -500,6 +531,7 @@ IF MODE == "SPRINTER" GENERATE
|
|||||||
-- LD_PIC = LCELL((MODE0[5] & DFF((CT[5..3] == B"000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
-- LD_PIC = LCELL((MODE0[5] & DFF((CT[5..3] == B"000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
||||||
LD_PIC = LCELL((MODE0[5] & DFF((CT[5..3] == B"000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
LD_PIC = LCELL((MODE0[5] & DFF((CT[5..3] == B"000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
||||||
|
|
||||||
|
|
||||||
-- CASE (DFF(VLA1,!CLK42,,),DFF(VLA0,!CLK42,,)) IS
|
-- CASE (DFF(VLA1,!CLK42,,),DFF(VLA0,!CLK42,,)) IS
|
||||||
|
|
||||||
-- D_PIC0_[].clk = !CLK42;
|
-- D_PIC0_[].clk = !CLK42;
|
||||||
@ -572,6 +604,9 @@ IF MODE == "SPRINTER" GENERATE
|
|||||||
D_PIC0[].ena = !LWR_PIC;
|
D_PIC0[].ena = !LWR_PIC;
|
||||||
D_PIC0[].clk = CLK42;
|
D_PIC0[].clk = CLK42;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
IF LD_PIC THEN
|
IF LD_PIC THEN
|
||||||
-- D_PIC0[] = D_PIC0_[];
|
-- D_PIC0[] = D_PIC0_[];
|
||||||
D_PIC0[] = D_PICX_[];
|
D_PIC0[] = D_PICX_[];
|
||||||
@ -579,6 +614,7 @@ IF MODE == "SPRINTER" GENERATE
|
|||||||
D_PIC0[] = (D_PIC0[6..0],GND);
|
D_PIC0[] = (D_PIC0[6..0],GND);
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
|
|
||||||
-- DCOL[].clk = (LWR_COL);
|
-- DCOL[].clk = (LWR_COL);
|
||||||
DCOL[].ena = !LWR_COL;
|
DCOL[].ena = !LWR_COL;
|
||||||
DCOL[].clk = CLK42;
|
DCOL[].clk = CLK42;
|
||||||
@ -596,6 +632,9 @@ IF MODE == "SPRINTER" GENERATE
|
|||||||
BRVA[].clrn = !MS_POINT;
|
BRVA[].clrn = !MS_POINT;
|
||||||
BRVA[].prn = !MS_POINT2;
|
BRVA[].prn = !MS_POINT2;
|
||||||
|
|
||||||
|
-- MODE0[4] - graph / text
|
||||||
|
-- MODE0[5] - 320 / 640 resolution
|
||||||
|
|
||||||
-- CASE (LCELL(X_MODE4 or X_MODE5),CT2) IS
|
-- CASE (LCELL(X_MODE4 or X_MODE5),CT2) IS
|
||||||
CASE (DFF((MODE0[4] or MODE0[5]),LWR_COL,,),CT2) IS
|
CASE (DFF((MODE0[4] or MODE0[5]),LWR_COL,,),CT2) IS
|
||||||
WHEN B"1X" => BRVA[7..0] = DCOL[];
|
WHEN B"1X" => BRVA[7..0] = DCOL[];
|
||||||
@ -635,6 +674,69 @@ IF MODE == "SPRINTER" GENERATE
|
|||||||
-- V_WEX.prn = (DFF(GND,CLK42,,!V_WEX));
|
-- V_WEX.prn = (DFF(GND,CLK42,,!V_WEX));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
V_WEMMM = LCELL(V_WE);
|
||||||
|
-- V_WEMMN = LCELL(V_WEMMM); -- bios ok, fn ok, fnf1 failed, zx almost ok
|
||||||
|
-- V_WEMMO = LCELL(V_WEMMN); -- green arts
|
||||||
|
-- V_WEMMP = LCELL(V_WEMMO); -- blue + pink arts
|
||||||
|
-- V_WEMMR = LCELL(V_WEMMP); -- no F1 issue, but red arts (fix by finger, not enough capacity??)
|
||||||
|
-- V_WEMMS = LCELL(V_WEMMR);
|
||||||
|
-- V_WEMMT = LCELL(V_WEMMS);
|
||||||
|
-- V_WEMMU = LCELL(V_WEMMT);
|
||||||
|
-- V_WEMMV = LCELL(V_WEMMU);
|
||||||
|
-- V_WEMMW = LCELL(V_WEMMV);
|
||||||
|
-- V_WEMMX = LCELL(V_WEMMW);
|
||||||
|
-- V_WEMMY = LCELL(V_WEMMX);
|
||||||
|
-- V_WEMMZ = LCELL(V_WEMMY);
|
||||||
|
|
||||||
|
V_WRM = LCELL(V_WE or V_WEMMM);
|
||||||
|
|
||||||
|
|
||||||
|
-- V_WRM = LCELL(V_WEMMN or V_WEMMM);
|
||||||
|
-- V_WRM2 = LCELL(V_WEMMN or V_WEMMM);
|
||||||
|
-- V_WRM2 = LCELL(V_WEMMR);
|
||||||
|
-- V_WRM = LCELL(V_WEMMM or V_WEMMN);
|
||||||
|
-- V_WRM2 = LCELL(V_WEMMM or V_WEMMN);
|
||||||
|
|
||||||
|
V_WEM = (V_WE);
|
||||||
|
|
||||||
|
-- V_WEM2 = LCELL(V_WE);
|
||||||
|
-- V_WEM = LCELL(V_WEMMM & V_WEMMN);
|
||||||
|
-- V_WEM2 = LCELL(V_WEMMM & V_WEMMO);
|
||||||
|
|
||||||
|
--- LWR_COL = DFF(WR_COL,CLK42,,);
|
||||||
|
F_WR = ((LCELL(LCELL(LCELL(DFF(VCC,V_WE,,))))));
|
||||||
|
--- F_WR = DFF(V_WE,CLK42,,);
|
||||||
|
-- V_WEMMZ = LCELL(CLK42);
|
||||||
|
V_EN3 = (DFF(!(!VXA1 & (!VXA0 or DOUBLE)), CLK42, F_WR,));
|
||||||
|
V_EN2 = (DFF(!(!VXA1 & (VXA0 or DOUBLE)), CLK42, F_WR,));
|
||||||
|
V_EN1 = (DFF(!(VXA1 & (!VXA0 or DOUBLE)), CLK42, F_WR,));
|
||||||
|
V_EN0 = (DFF(!(VXA1 & (VXA0 or DOUBLE)), CLK42, F_WR,));
|
||||||
|
|
||||||
|
|
||||||
|
-- V_WR_3 = LCELL(V_WRM or V_EN3);
|
||||||
|
-- V_WR_2 = LCELL(V_WRM or V_EN2);
|
||||||
|
-- V_WR_1 = LCELL(V_WRM or V_EN1);
|
||||||
|
-- V_WR_0 = LCELL(V_WRM or V_EN0);
|
||||||
|
V_WR_3 = (LCELL(LCELL(LCELL(V_WRM or V_EN3))));
|
||||||
|
V_WR_2 = (LCELL(LCELL(LCELL(V_WRM or V_EN2))));
|
||||||
|
V_WR_1 = (LCELL(LCELL(LCELL(V_WRM or V_EN1))));
|
||||||
|
V_WR_0 = (LCELL(LCELL(LCELL(V_WRM or V_EN0))));
|
||||||
|
|
||||||
|
V_WEY3 = LCELL(V_WE or V_EN3);
|
||||||
|
V_WEY2 = LCELL(V_WE or V_EN2);
|
||||||
|
V_WEY1 = LCELL(V_WE or V_EN1);
|
||||||
|
V_WEY0 = LCELL(V_WE or V_EN0);
|
||||||
|
|
||||||
|
V_WR[] = V_WR_[]; -- V_WR0-3
|
||||||
|
V_WEN[] = V_WEY[]; -- VD0-3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%
|
||||||
V_WEMMM = LCELL(V_WE);
|
V_WEMMM = LCELL(V_WE);
|
||||||
V_WEMMN = LCELL(V_WEMMM);
|
V_WEMMN = LCELL(V_WEMMM);
|
||||||
V_WEMMO = LCELL(V_WEMMN);
|
V_WEMMO = LCELL(V_WEMMN);
|
||||||
@ -665,10 +767,15 @@ IF MODE == "SPRINTER" GENERATE
|
|||||||
|
|
||||||
V_WR[] = V_WR_[];
|
V_WR[] = V_WR_[];
|
||||||
V_WEN[] = V_WEY[];
|
V_WEN[] = V_WEY[];
|
||||||
|
%
|
||||||
|
|
||||||
CLK84 = LCELL(CLK42 xor CLK84_X);
|
|
||||||
CLK84_X = DFF(!CLK84_X,CLK84,,);
|
|
||||||
CLK84_Y = CLK84;
|
|
||||||
|
|
||||||
|
-- CLK84 = LCELL(CLK42 xor CLK84_X);
|
||||||
|
-- CLK84_X = DFF(!CLK84_X,CLK84,,);
|
||||||
|
-- CLK84_Y = CLK84;
|
||||||
|
|
||||||
END GENERATE; -- end "sprinter" mode
|
END GENERATE; -- end "sprinter" mode
|
||||||
|
|
||||||
|
|||||||
708
src/altera/acex/k30/VIDEO2_T1.TDF
Normal file
708
src/altera/acex/k30/VIDEO2_T1.TDF
Normal file
@ -0,0 +1,708 @@
|
|||||||
|
|
||||||
|
TITLE "Video-controller";
|
||||||
|
|
||||||
|
INCLUDE "lpm_ram_dp";
|
||||||
|
|
||||||
|
PARAMETERS
|
||||||
|
(
|
||||||
|
MODE = "SPRINTER",
|
||||||
|
MOUSE = "NO",
|
||||||
|
HOR_PLACE = H"50",
|
||||||
|
VER_PLACE = H"91" -- 122h/2
|
||||||
|
);
|
||||||
|
|
||||||
|
SUBDESIGN video2
|
||||||
|
(
|
||||||
|
CLK42 : INPUT;
|
||||||
|
|
||||||
|
CT[5..0] : OUTPUT;
|
||||||
|
CTH[5..0] : OUTPUT;
|
||||||
|
CTV[8..0] : OUTPUT;
|
||||||
|
CTF[6..0] : OUTPUT;
|
||||||
|
|
||||||
|
BLANK : OUTPUT;
|
||||||
|
|
||||||
|
START_UP : INPUT;
|
||||||
|
COPY_SINC_H : INPUT;
|
||||||
|
COPY_SINC_V : INPUT;
|
||||||
|
|
||||||
|
WR : INPUT;
|
||||||
|
|
||||||
|
VAI[19..0] : INPUT; -- input screen adress
|
||||||
|
|
||||||
|
VAO[15..0] : OUTPUT;
|
||||||
|
|
||||||
|
D[7..0] : INPUT;
|
||||||
|
MDI[15..0] : INPUT;
|
||||||
|
|
||||||
|
VDO0[7..0] : OUTPUT;
|
||||||
|
VDO1[7..0] : OUTPUT;
|
||||||
|
VDO2[7..0] : OUTPUT;
|
||||||
|
VDO3[7..0] : OUTPUT;
|
||||||
|
|
||||||
|
VDM0[7..0] : INPUT;
|
||||||
|
VDM1[7..0] : INPUT;
|
||||||
|
VDM2[7..0] : INPUT;
|
||||||
|
VDM3[7..0] : INPUT;
|
||||||
|
|
||||||
|
V_WR[3..0] : OUTPUT;
|
||||||
|
V_WEN[3..0] : OUTPUT;
|
||||||
|
|
||||||
|
V_CS[1..0] : OUTPUT;
|
||||||
|
WR_PIX : OUTPUT;
|
||||||
|
|
||||||
|
-- ZX_COLOR[3..0] : OUTPUT;
|
||||||
|
|
||||||
|
ZX_PORT[7..0] : INPUT;
|
||||||
|
DIR_PORT[7..0] : INPUT;
|
||||||
|
|
||||||
|
%
|
||||||
|
bit0 - Spectrum SCREEN Switch
|
||||||
|
bit1 - Spectrum Adress MODE
|
||||||
|
bit2 - Write to Spectrum Screen OFF
|
||||||
|
bit3 - MODE page 0/1
|
||||||
|
bit4 - MODE on/off screen
|
||||||
|
|
||||||
|
bit7..5 - Border
|
||||||
|
%
|
||||||
|
|
||||||
|
INTT : OUTPUT;
|
||||||
|
|
||||||
|
DOUBLE_CAS : INPUT;
|
||||||
|
|
||||||
|
MOUSE_X[9..0] : INPUT;
|
||||||
|
MOUSE_Y[9..0] : INPUT;
|
||||||
|
|
||||||
|
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
|
||||||
|
CLK84 : NODE;
|
||||||
|
CLK84_X : NODE;
|
||||||
|
CLK84_Y : NODE;
|
||||||
|
|
||||||
|
ZX_COLOR[3..0] : NODE;
|
||||||
|
|
||||||
|
CT[5..0] : DFFE;
|
||||||
|
CTH[5..0] : DFFE;
|
||||||
|
CTV[8..0] : DFFE;
|
||||||
|
CTF[6..0] : DFF;
|
||||||
|
|
||||||
|
VXA[19..0] : DFFE;
|
||||||
|
|
||||||
|
VXD0[7..0] : DFFE;
|
||||||
|
VXD1[7..0] : DFFE;
|
||||||
|
VXD2[7..0] : DFFE;
|
||||||
|
VXD3[7..0] : DFFE;
|
||||||
|
|
||||||
|
E_WR : NODE;
|
||||||
|
E_WRD : NODE;
|
||||||
|
|
||||||
|
BLANK : NODE;
|
||||||
|
BORD : NODE;
|
||||||
|
-- INTT_T : NODE;
|
||||||
|
INTTX : NODE;
|
||||||
|
|
||||||
|
VLA[17..0] : DFF;
|
||||||
|
-- SVA[17..0] : NODE;
|
||||||
|
SVA[17..0] : DFF;
|
||||||
|
-- RSVA[8..0] : LCELL;
|
||||||
|
RSVA[8..0] : NODE;
|
||||||
|
-- RSVA[8..0] : DFF;
|
||||||
|
|
||||||
|
V_CST[1..0] : DFF;
|
||||||
|
VCM[2..0] : DFF;
|
||||||
|
TSN_W3 : DFF;
|
||||||
|
V_WE : DFF;
|
||||||
|
V_WEX : DFF;
|
||||||
|
|
||||||
|
V_WEM : NODE;
|
||||||
|
V_WEM1 : NODE;
|
||||||
|
V_WEM2 : NODE;
|
||||||
|
V_WEM3 : NODE;
|
||||||
|
V_WRM : NODE;
|
||||||
|
V_WRM1 : NODE;
|
||||||
|
V_WRM2 : NODE;
|
||||||
|
V_WRM3 : NODE;
|
||||||
|
|
||||||
|
V_WEMM : NODE;
|
||||||
|
V_WEMMM : NODE;
|
||||||
|
V_WEMMN : NODE;
|
||||||
|
V_WEMMO : NODE;
|
||||||
|
V_WEMMP : NODE;
|
||||||
|
V_WEMMQ : NODE;
|
||||||
|
V_WEMMR : NODE;
|
||||||
|
V_WEMMS : NODE;
|
||||||
|
V_WEMMT : NODE;
|
||||||
|
V_WEMMU : NODE;
|
||||||
|
V_WEMMV : NODE;
|
||||||
|
V_WEMMW : NODE;
|
||||||
|
V_WEMMX : NODE;
|
||||||
|
V_WEMMY : NODE;
|
||||||
|
V_WEMMZ : NODE;
|
||||||
|
|
||||||
|
V_WET[3..0] : DFF;
|
||||||
|
|
||||||
|
D_PIC0[7..0] : DFFE;
|
||||||
|
-- D_PIC0_[7..0] : LCELL;
|
||||||
|
|
||||||
|
D_PIC0_[7..0] : DFFE;
|
||||||
|
D_PIC1_[7..0] : DFFE;
|
||||||
|
D_PIC2_[7..0] : DFFE;
|
||||||
|
D_PIC3_[7..0] : DFFE;
|
||||||
|
|
||||||
|
D_PICX_[7..0] : NODE;
|
||||||
|
|
||||||
|
LWR_PIC : NODE;
|
||||||
|
LWR_COL : NODE;
|
||||||
|
|
||||||
|
WR_PIC : DFF;
|
||||||
|
WR_COL : DFF;
|
||||||
|
LD_PIC : NODE;
|
||||||
|
|
||||||
|
RBRVA[10..8]: DFF;
|
||||||
|
BRVA[7..0] : DFF;
|
||||||
|
DCOL[7..0] : DFFE;
|
||||||
|
|
||||||
|
MXWE : NODE;
|
||||||
|
-- MXCE : NODE;
|
||||||
|
|
||||||
|
AX128 : NODE;
|
||||||
|
|
||||||
|
BRD[2..0] : NODE;
|
||||||
|
|
||||||
|
ZX_COL[3..0] : LCELL;
|
||||||
|
|
||||||
|
ZXA15 : NODE;
|
||||||
|
ZXS[5..0] : NODE;
|
||||||
|
ZX_SCREEN : NODE;
|
||||||
|
SCR128 : NODE;
|
||||||
|
|
||||||
|
MODE0[7..0] : DFFE;
|
||||||
|
MODE1[7..0] : DFFE;
|
||||||
|
MODE2[7..0] : DFFE;
|
||||||
|
-- MODE3[7..0] : DFF;
|
||||||
|
|
||||||
|
WR_MODE : DFF;
|
||||||
|
LWR_MODE : NODE;
|
||||||
|
X_MODE[7..4]: NODE;
|
||||||
|
X_MODE_BOND : NODE;
|
||||||
|
|
||||||
|
-- M_CTV[2..0] : DFF;
|
||||||
|
-- M_CT[5..3] : DFF;
|
||||||
|
M_CTV[2..0] : LCELL;
|
||||||
|
M_CT[5..3] : LCELL;
|
||||||
|
|
||||||
|
DOUBLE : DFFE;
|
||||||
|
|
||||||
|
PIC_CLK : NODE;
|
||||||
|
|
||||||
|
MS_X[9..0] : DFF;
|
||||||
|
MS_Y[9..0] : DFF;
|
||||||
|
|
||||||
|
MS_POINT : NODE;
|
||||||
|
MS_POINT2 : NODE;
|
||||||
|
MS_PNT : NODE;
|
||||||
|
|
||||||
|
MS_DAT : LPM_RAM_DP WITH (LPM_WIDTH=16,LPM_WIDTHAD=8,LPM_FILE="MOUSE.MIF");
|
||||||
|
|
||||||
|
SCR_ENA : DFFE;
|
||||||
|
V_WR_[3..0] : LCELL;
|
||||||
|
V_WEY[3..0] : LCELL;
|
||||||
|
|
||||||
|
V_WE_R : NODE;
|
||||||
|
|
||||||
|
V_CSX[3..0] : NODE;
|
||||||
|
|
||||||
|
V_EN[3..0] : NODE;
|
||||||
|
|
||||||
|
F_WR : NODE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
DEFAULTS
|
||||||
|
WR_MODE.d = VCC; -- WR_MODE2.d = VCC; -- WR_MODE2X.d = VCC;
|
||||||
|
V_CST[].d = VCC; V_WR[] = VCC; TSN_W3.d = VCC;
|
||||||
|
V_WE.d = VCC; WR_COL.d = VCC; WR_PIC.d = VCC;
|
||||||
|
V_WET[].d = VCC;
|
||||||
|
END DEFAULTS;
|
||||||
|
|
||||||
|
ZX_COLOR[] = ZX_COL[];
|
||||||
|
|
||||||
|
-- === MOUSE counters ========
|
||||||
|
|
||||||
|
MS_X[].clk = !CT1;
|
||||||
|
CASE LCELL(CTH[5..2] == 12) IS
|
||||||
|
WHEN 0 => MS_X[] = MS_X[] + 1;
|
||||||
|
WHEN 1 => MS_X[] = (!MOUSE_X[9..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
MS_Y[].clk = !CTH5;
|
||||||
|
CASE LCELL(CTV8 & !CTV5 & CTV4) IS
|
||||||
|
WHEN 0 => MS_Y[] = MS_Y[] + 1;
|
||||||
|
WHEN 1 => MS_Y[] = (GND,!MOUSE_Y[8..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
MS_PNT = DFF(((MS_X[] == B"100000XXXX") & (MS_Y[] == B"100000XXXX")),CLK42,,);
|
||||||
|
|
||||||
|
MS_DAT.wren = GND;
|
||||||
|
MS_DAT.data[] = GND;
|
||||||
|
MS_DAT.wraddress[] = GND;
|
||||||
|
MS_DAT.wrclock = CLK42;
|
||||||
|
MS_DAT.wrclken = GND;
|
||||||
|
MS_DAT.rden = VCC;
|
||||||
|
MS_DAT.rdaddress[] = (MS_Y[3..0],MS_X[3..0]);
|
||||||
|
MS_DAT.rdclock = CLK42;
|
||||||
|
MS_DAT.rdclken = VCC;
|
||||||
|
|
||||||
|
IF MOUSE == "NO" GENERATE
|
||||||
|
MS_POINT = GND;
|
||||||
|
MS_POINT2 = GND;
|
||||||
|
ELSE GENERATE
|
||||||
|
MS_POINT = DFF((MS_PNT & MS_DAT.q0),CLK42,,);
|
||||||
|
MS_POINT2 = DFF((MS_PNT & MS_DAT.q1),CLK42,,);
|
||||||
|
END GENERATE;
|
||||||
|
|
||||||
|
-- === Sinc-counts GENERATOR ============================================
|
||||||
|
|
||||||
|
-- CT[].clrn = START_UP;
|
||||||
|
|
||||||
|
-- (,CTH[5..0].clrn,CT[5].clrn) = !COPY_SINC_H or HOR_PLACE;
|
||||||
|
-- (,CTH[5..0].prn ,CT[5].prn ) = !COPY_SINC_H or !HOR_PLACE;
|
||||||
|
|
||||||
|
-- CTV[].clrn = !COPY_SINC_V or VER_PLACE;
|
||||||
|
-- CTV[].prn = !COPY_SINC_V or !VER_PLACE;
|
||||||
|
|
||||||
|
CT[5].clrn = !COPY_SINC_H;
|
||||||
|
|
||||||
|
-- set CTH to 50 (32h)
|
||||||
|
CTH[0].clrn = !COPY_SINC_H;
|
||||||
|
CTH[1].prn = !COPY_SINC_H;
|
||||||
|
CTH[2].clrn = !COPY_SINC_H;
|
||||||
|
CTH[3].clrn = !COPY_SINC_H;
|
||||||
|
CTH[4].prn = !COPY_SINC_H;
|
||||||
|
CTH[5].prn = !COPY_SINC_H;
|
||||||
|
|
||||||
|
-- set CTV to 122h
|
||||||
|
CTV[0].clrn = !COPY_SINC_V;
|
||||||
|
CTV[1].prn = !COPY_SINC_V;
|
||||||
|
CTV[3..2].clrn = !COPY_SINC_V;
|
||||||
|
|
||||||
|
CTV[4].clrn = !COPY_SINC_V;
|
||||||
|
CTV[5].prn = !COPY_SINC_V;
|
||||||
|
CTV[7..6].clrn = !COPY_SINC_V;
|
||||||
|
CTV[8].prn = !COPY_SINC_V;
|
||||||
|
|
||||||
|
CT[5..0].clk = CLK42;
|
||||||
|
CTH[5..0].clk = CLK42;
|
||||||
|
CTV[8..0].clk = CLK42;
|
||||||
|
|
||||||
|
CT[2..0].ena = VCC;
|
||||||
|
CASE CT[2..0] IS
|
||||||
|
WHEN 0 => CT[2..0] = 1;
|
||||||
|
WHEN 1 => CT[2..0] = 2;
|
||||||
|
WHEN 2 => CT[2..0] = 4;
|
||||||
|
WHEN 3 => CT[2..0] = 4;
|
||||||
|
WHEN 4 => CT[2..0] = 5;
|
||||||
|
WHEN 5 => CT[2..0] = 6;
|
||||||
|
WHEN 6 => CT[2..0] = 0;
|
||||||
|
WHEN 7 => CT[2..0] = 0;
|
||||||
|
END CASE;
|
||||||
|
-- for remove sinc jitter
|
||||||
|
-- CT[5..3].ena = DFF(((CT0 & CT2) or (COPY_SINC_H & !CT4)),CLK42,,);
|
||||||
|
CT[5..3].ena = DFF((CT0 & CT2),CLK42,,);
|
||||||
|
CT[5..3] = CT[5..3]+1;
|
||||||
|
%
|
||||||
|
CASE CT[4..3] IS
|
||||||
|
WHEN 0 => CT[5..3] = CT[5..3]+1;
|
||||||
|
WHEN 1 => CT[5..3] = CT[5..3]+1;
|
||||||
|
WHEN 2 => CT[5..3] = CT[5..3]+1;
|
||||||
|
WHEN 3 => CT[5..3] = CT[5..3]+1;
|
||||||
|
END CASE;
|
||||||
|
%
|
||||||
|
CTH[].ena = DFF(((CT[5..2] == 15) & CT0),CLK42,,);
|
||||||
|
CTV[].ena = DFF(((CT[5..2] == 15) & CT0 & (CTH[] == 48)),CLK42,,);
|
||||||
|
|
||||||
|
IF CTH[] == 55 THEN
|
||||||
|
CTH[] = GND;
|
||||||
|
ELSE
|
||||||
|
CTH[] = CTH[] + 1;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF CTV[] == 319 THEN
|
||||||
|
CTV[] = GND;
|
||||||
|
ELSE
|
||||||
|
CTV[] = CTV[] + 1;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
CTF[].clk = CTV8;
|
||||||
|
CTF[] = CTF[]+1;
|
||||||
|
|
||||||
|
-- ==== Video ==========================================================
|
||||||
|
|
||||||
|
ZXS[] = ZX_PORT[5..0]; -- pages ZX Screens
|
||||||
|
ZX_SCREEN = ZX_PORT6; -- enable ZX Screen write
|
||||||
|
ZXA15 = ZX_PORT7; -- ZX A15' line
|
||||||
|
|
||||||
|
SCR128 = DIR_PORT0;
|
||||||
|
|
||||||
|
-- WR_PIX = LCELL(TSN_W3);
|
||||||
|
WR_PIX = (TSN_W3);
|
||||||
|
|
||||||
|
DOUBLE.clk = CLK42; DOUBLE.ena = !E_WR; DOUBLE = DOUBLE_CAS;
|
||||||
|
VXA[].clk = CLK42; VXA[].ena = !E_WR;
|
||||||
|
|
||||||
|
VXD0[].clk = CLK42; VXD0[].ena = !E_WRD; VDO0[] = VXD0[];
|
||||||
|
VXD1[].clk = CLK42; VXD1[].ena = !E_WRD; VDO1[] = VXD1[];
|
||||||
|
VXD2[].clk = CLK42; VXD2[].ena = !E_WRD; VDO2[] = VXD2[];
|
||||||
|
VXD3[].clk = CLK42; VXD3[].ena = !E_WRD; VDO3[] = VXD3[];
|
||||||
|
|
||||||
|
-- VXD0[] = D[];
|
||||||
|
-- VXD1[] = D[];
|
||||||
|
-- VXD2[] = D[];
|
||||||
|
-- VXD3[] = D[];
|
||||||
|
|
||||||
|
(VXD0[],VXD1[]) = MDI[];
|
||||||
|
(VXD2[],VXD3[]) = MDI[];
|
||||||
|
|
||||||
|
BRD[] = DIR_PORT[7..5];
|
||||||
|
|
||||||
|
VCM[].clk = CLK42;
|
||||||
|
TSN_W3.clk = CLK42;
|
||||||
|
V_CST[].clk = CLK42;
|
||||||
|
V_WE.clk = CLK42;
|
||||||
|
V_WET[].clk = CLK42;
|
||||||
|
VLA[].clk = CLK42;
|
||||||
|
|
||||||
|
SCR_ENA.clk = CLK42;
|
||||||
|
SCR_ENA.ena = !E_WR;
|
||||||
|
SCR_ENA.d = !(VAI19 or ZX_SCREEN);
|
||||||
|
|
||||||
|
E_WRD = DFF(E_WR,CLK42,,);
|
||||||
|
E_WR = LCELL(WR or !(VAI19 or ZX_SCREEN) or !DFF(WR,CLK42,,));
|
||||||
|
-- E_WR = LCELL(WR or !DFF(WR,CLK42,,));
|
||||||
|
|
||||||
|
-- ****************************************************
|
||||||
|
|
||||||
|
IF MODE == "SPRINTER" GENERATE
|
||||||
|
|
||||||
|
-- VAI[19] - switch adress mode 1 - graf mode, 0 - spectrum mode
|
||||||
|
|
||||||
|
-- MXWE = DFF(((DFF(E_WR,CLK42,,) or SCR_ENA) & MXWE),CLK42,,V_WE);
|
||||||
|
MXWE = DFF(MXWE,CLK42,E_WR,V_WE);
|
||||||
|
|
||||||
|
IF VAI[19] THEN
|
||||||
|
-- in graf mode all 256k(512k) range
|
||||||
|
VXA[] = VAI[];
|
||||||
|
ELSE
|
||||||
|
-- in spectrum mode 8k/16k range pages
|
||||||
|
VXA[] = (GND,GND,VAI[7..0],ZXS[4..1],LCELL(ZXS0 xor ZXA15 xor VAI13),VAI[12..8]);
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
-- BORD = DFF((MODE0[7..4] == 15),WR_PIC,,);
|
||||||
|
-- BLANK = DFF((BORD & MODE03 & MODE02),WR_PIC,,);
|
||||||
|
-- INTTX = DFF((BORD & MODE03 & MODE02 & MODE00),WR_PIC,,);
|
||||||
|
|
||||||
|
BORD = DFF((MODE0[7..4] == 15),LWR_COL,,);
|
||||||
|
BLANK = DFF(((BORD & MODE03 & MODE02) or DIR_PORT4),LWR_COL,,);
|
||||||
|
INTTX = DFF((BORD & MODE03 & MODE02 & MODE00),LWR_COL,,);
|
||||||
|
|
||||||
|
INTT = DFF(!(INTTX & (CTV[2..0] == 7)),CT5,,);
|
||||||
|
|
||||||
|
-- INTT = DFF((INTTX or DFF(INTTX,CT5,,)),CT5,,);
|
||||||
|
-- INTT = DFF(!(BLANK & (CTV[2..0] == 7)),CLK42,,MODE0[0]);
|
||||||
|
|
||||||
|
CASE CT[2..0] IS
|
||||||
|
WHEN B"110" => VCM[2..0].d = 5; -- 101
|
||||||
|
WHEN B"000" => VCM[2..0].d = 1; -- 001
|
||||||
|
WHEN B"001" => VCM[2..0].d = 4; -- 100
|
||||||
|
WHEN B"010" => VCM[2..0].d = 3; -- 011
|
||||||
|
WHEN B"100" => VCM[2..0].d = 2; -- 010
|
||||||
|
WHEN B"101" => VCM[2..0].d = 0; -- 000
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
CASE VCM[1..0] IS
|
||||||
|
WHEN 0 =>
|
||||||
|
VLA[].d = (BRVA[7..0],VCC,VCC,VCC,VCC,VCC,RBRVA[10..8],GND,GND);
|
||||||
|
V_CST[].d = (VCC,GND);
|
||||||
|
V_WE.d = VCC;
|
||||||
|
V_WEX.d = VCC;
|
||||||
|
IF VCM2 THEN
|
||||||
|
-- TSN_W3.d = X_MODE5;
|
||||||
|
TSN_W3.d = X_MODE_BOND;
|
||||||
|
-- V_CST[].d = (VCC,X_MODE5);
|
||||||
|
ELSE
|
||||||
|
TSN_W3.d = X_MODE_BOND;
|
||||||
|
-- V_CST[].d = (VCC,X_MODE_BOND);
|
||||||
|
END IF;
|
||||||
|
WHEN 1 =>
|
||||||
|
WR_PIC.d = !VCM2;
|
||||||
|
WR_COL.d = VCM2;
|
||||||
|
VLA[].d = SVA[];
|
||||||
|
V_CST[].d = (VCC,GND);
|
||||||
|
V_WE.d = VCC;
|
||||||
|
V_WEX.d = VCC;
|
||||||
|
WHEN 2 =>
|
||||||
|
VLA[].d = VXA[17..0];
|
||||||
|
V_CST[].d = (!VXA18,VXA18) or MXWE;
|
||||||
|
V_WE.d = MXWE;
|
||||||
|
V_WEX.d = GND;
|
||||||
|
V_WET[].d = MXWE or !((!VXA1 & !VXA0),(!VXA1 & VXA0),(VXA1 & !VXA0),(VXA1 & VXA0));
|
||||||
|
WHEN 3 =>
|
||||||
|
WR_PIC.d = X_MODE5;
|
||||||
|
VLA[].d = (DIR_PORT3,CTH[5..0],CT5,VCC,VCC,CTV[8..3],GND,GND);
|
||||||
|
WR_MODE.d = !(CT[5..3] == B"111") & !(CT4 & CT3 & !MODE0[5]);
|
||||||
|
V_CST[].d = (VCC,GND);
|
||||||
|
V_WE.d = VCC;
|
||||||
|
V_WEX.d = VCC;
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- choose V-RAM komplect
|
||||||
|
|
||||||
|
V_CST1.prn = GND;
|
||||||
|
-- V_CS0.clrn = GND;
|
||||||
|
V_CST0.prn = (LCELL(DFF(GND,!CLK42,,!V_CST0)));
|
||||||
|
V_CS1 = VCC;
|
||||||
|
-- V_CS0 = LCELL(V_CST0);
|
||||||
|
|
||||||
|
V_CSX0 = LCELL(!CLK42);
|
||||||
|
V_CSX1 = LCELL(V_CSX0);
|
||||||
|
V_CSX2 = LCELL(V_CSX1 & V_CSX0);
|
||||||
|
V_CSX3 = LCELL(V_CSX2);
|
||||||
|
|
||||||
|
-- V_CS0 = V_CSX3;
|
||||||
|
V_CS0 = GND;
|
||||||
|
|
||||||
|
-- =====================
|
||||||
|
|
||||||
|
SVA[].clk = CLK42;
|
||||||
|
SVA[9..6] = MODE0[3..0];
|
||||||
|
-- RSVA[].clk = CLK42;
|
||||||
|
(SVA[12..10],SVA[5..0]) = RSVA[];
|
||||||
|
|
||||||
|
-- M_CTV[2..0].clk = CLK42;
|
||||||
|
-- M_CT[5..3].clk = CLK42;
|
||||||
|
M_CTV[2..0] = (!MODE2[2] & CTV[2..0]) or MODE2[2] & (MODE2[1],CTV[2..1]);
|
||||||
|
M_CT[5..3] = (!MODE2[2] & (CT[5],!CT[4..3])) or MODE2[2] & (MODE2[0],!CT[5..4]);
|
||||||
|
|
||||||
|
CASE (!VCM2,MODE0[4]) IS
|
||||||
|
-- CASE (!VCM1,MODE0[4]) IS
|
||||||
|
WHEN B"X0" =>
|
||||||
|
-- Graf adress --
|
||||||
|
RSVA[] = (M_CTV[2..0],MODE1[2..0],M_CT[5..3]);
|
||||||
|
SVA[17..13] = MODE1[7..3];
|
||||||
|
|
||||||
|
-- SVA[12..10] = CTV[2..0];
|
||||||
|
-- SVA[5..0] = (MODE1[2..0],CT5,!CT[4..3]);
|
||||||
|
WHEN B"01" =>
|
||||||
|
-- ZX-atr adress --
|
||||||
|
RSVA[] = (MODE2[2..0],SCR128,VCC,VCC,GND,!MODE0[7..6]);
|
||||||
|
SVA[17..13] = MODE2[7..3];
|
||||||
|
|
||||||
|
-- SVA[12..10] = MODE2[2..0];
|
||||||
|
-- SVA[5..0] = (SCR128,VCC,VCC,GND,!MODE0[7..6]);
|
||||||
|
WHEN B"11" =>
|
||||||
|
-- ZX-pic adress --
|
||||||
|
RSVA[] = (MODE1[2..0],SCR128,MODE0[7..6],CTV2,!CTV1,!CTV0);
|
||||||
|
SVA[17..13] = MODE1[7..3];
|
||||||
|
|
||||||
|
-- SVA[12..10] = MODE1[2..0];
|
||||||
|
-- SVA[5..0] = (SCR128,MODE0[7..6],CTV2,!CTV1,!CTV0);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- X_MODE_BOND = LCELL(LCELL(DCOL[7..4] == 15) & LCELL(DCOL[3..0] == 15) & DFF((MODE0[7] & MODE0[5] & !MODE0[4]),LWR_COL,VCC,VCC));
|
||||||
|
X_MODE_BOND = GND;
|
||||||
|
|
||||||
|
-- LD_PIC = LCELL((MODE0[5] & DFF((CT[5..3] == B"000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
||||||
|
LD_PIC = LCELL((MODE0[5] & DFF((CT[5..3] == B"000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
||||||
|
|
||||||
|
-- CASE (DFF(VLA1,!CLK42,,),DFF(VLA0,!CLK42,,)) IS
|
||||||
|
|
||||||
|
-- D_PIC0_[].clk = !CLK42;
|
||||||
|
-- D_PIC1_[].clk = !CLK42;
|
||||||
|
-- D_PIC2_[].clk = !CLK42;
|
||||||
|
-- D_PIC3_[].clk = !CLK42;
|
||||||
|
|
||||||
|
-- PIC_CLK = LCELL(LCELL(CLK42));
|
||||||
|
PIC_CLK = !CLK42;
|
||||||
|
|
||||||
|
D_PIC0_[].clk = PIC_CLK;
|
||||||
|
D_PIC1_[].clk = PIC_CLK;
|
||||||
|
D_PIC2_[].clk = PIC_CLK;
|
||||||
|
D_PIC3_[].clk = PIC_CLK;
|
||||||
|
|
||||||
|
D_PIC0_[] = VDM0[];
|
||||||
|
D_PIC1_[] = VDM1[];
|
||||||
|
D_PIC2_[] = VDM2[];
|
||||||
|
D_PIC3_[] = VDM3[];
|
||||||
|
|
||||||
|
CASE (DFF(VLA1,CLK42,,),DFF(VLA0,CLK42,,)) IS
|
||||||
|
WHEN 0 => D_PICX_[] = D_PIC0_[];
|
||||||
|
WHEN 1 => D_PICX_[] = D_PIC1_[];
|
||||||
|
WHEN 2 => D_PICX_[] = D_PIC2_[];
|
||||||
|
WHEN 3 => D_PICX_[] = D_PIC3_[];
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
MODE0[].ena = VCC;
|
||||||
|
MODE1[].ena = VCC;
|
||||||
|
MODE2[].ena = VCC;
|
||||||
|
MODE0[].clk = LWR_MODE;
|
||||||
|
MODE1[].clk = LWR_MODE;
|
||||||
|
MODE2[].clk = LWR_MODE;
|
||||||
|
MODE0[].d = VDM3[];
|
||||||
|
MODE1[].d = VDM2[];
|
||||||
|
MODE2[].d = VDM1[];
|
||||||
|
LWR_MODE = LCELL(LCELL(WR_MODE));
|
||||||
|
%
|
||||||
|
MODE0[].ena = LWR_MODE;
|
||||||
|
MODE1[].ena = LWR_MODE;
|
||||||
|
MODE2[].ena = LWR_MODE;
|
||||||
|
MODE0[].clk = CLK42;
|
||||||
|
MODE1[].clk = CLK42;
|
||||||
|
MODE2[].clk = CLK42;
|
||||||
|
MODE0[].d = D_PIC3_[];
|
||||||
|
MODE1[].d = D_PIC2_[];
|
||||||
|
MODE2[].d = D_PIC1_[];
|
||||||
|
LWR_MODE = DFF(!WR_MODE,CLK42,,);
|
||||||
|
%
|
||||||
|
X_MODE7 = DFF(MODE0[7],LWR_COL,,);
|
||||||
|
X_MODE6 = DFF(MODE0[6],LWR_COL,,);
|
||||||
|
X_MODE5 = DFF(MODE0[5],LWR_COL,,);
|
||||||
|
X_MODE4 = DFF(MODE0[4],LWR_COL,,);
|
||||||
|
|
||||||
|
VAO[] = VLA[17..2];
|
||||||
|
|
||||||
|
WR_PIC.clk = CLK42;
|
||||||
|
WR_COL.clk = CLK42;
|
||||||
|
WR_MODE.clk = CLK42;
|
||||||
|
|
||||||
|
-- LWR_PIC = LCELL(LCELL(WR_PIC));
|
||||||
|
-- LWR_COL = LCELL(LCELL(WR_COL));
|
||||||
|
-- LWR_PIC = LCELL(WR_PIC);
|
||||||
|
-- LWR_COL = LCELL(WR_COL);
|
||||||
|
LWR_PIC = DFF(WR_PIC,CLK42,,);
|
||||||
|
LWR_COL = DFF(WR_COL,CLK42,,);
|
||||||
|
|
||||||
|
-- D_PIC0[].ena = VCC;
|
||||||
|
-- D_PIC0[].clk = (LWR_PIC);
|
||||||
|
D_PIC0[].ena = !LWR_PIC;
|
||||||
|
D_PIC0[].clk = CLK42;
|
||||||
|
|
||||||
|
IF LD_PIC THEN
|
||||||
|
-- D_PIC0[] = D_PIC0_[];
|
||||||
|
D_PIC0[] = D_PICX_[];
|
||||||
|
ELSE
|
||||||
|
D_PIC0[] = (D_PIC0[6..0],GND);
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
-- DCOL[].clk = (LWR_COL);
|
||||||
|
DCOL[].ena = !LWR_COL;
|
||||||
|
DCOL[].clk = CLK42;
|
||||||
|
|
||||||
|
IF DFF((MODE0[7..4] == 15),WR_PIC,,) THEN
|
||||||
|
DCOL[].d = (B"00",BRD[2..0],BRD[2..0]);
|
||||||
|
ELSE
|
||||||
|
-- DCOL[].d = D_PIC0_[];
|
||||||
|
DCOL[].d = D_PICX_[];
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
DCOL[].clrn = !BLANK;
|
||||||
|
|
||||||
|
BRVA[].clk = CLK42;
|
||||||
|
BRVA[].clrn = !MS_POINT;
|
||||||
|
BRVA[].prn = !MS_POINT2;
|
||||||
|
|
||||||
|
-- CASE (LCELL(X_MODE4 or X_MODE5),CT2) IS
|
||||||
|
CASE (DFF((MODE0[4] or MODE0[5]),LWR_COL,,),CT2) IS
|
||||||
|
WHEN B"1X" => BRVA[7..0] = DCOL[];
|
||||||
|
WHEN B"01" => BRVA[7..0] = (B"0000",DCOL[7..4]);
|
||||||
|
WHEN B"00" => BRVA[7..0] = (B"0000",DCOL[3..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- BRVA[10..8] = (x_mode4,RBRVA[9..8]);
|
||||||
|
RBRVA[].clk = CLK42;
|
||||||
|
|
||||||
|
CASE (BORD,X_MODE4) IS
|
||||||
|
WHEN B"X0" => RBRVA[10..8].d = (GND,X_MODE[7..6]);
|
||||||
|
WHEN B"X1" => RBRVA[10..8].d = (VCC,(CTF4 & !BLANK),D_PIC0[7]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
RBRVA[9..8].clrn = !BORD;
|
||||||
|
RBRVA[10].prn = !BORD;
|
||||||
|
|
||||||
|
CASE (RBRVA[9..8],BRVA7) IS
|
||||||
|
WHEN 0,1,4,7 => ZX_COL[] = (BRVA[6],BRVA[5..3]);
|
||||||
|
WHEN 2,3,6,5 => ZX_COL[] = (BRVA[6],BRVA[2..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- V_WET[].prn = LCELL(DFF(GND,!CLK42,,!V_WE));
|
||||||
|
-- V_WE.prn = LCELL(DFF(GND,!CLK42,,!V_WE));
|
||||||
|
|
||||||
|
V_WE_R = DFF(GND,!CLK42,,!V_WE);
|
||||||
|
V_WE.prn = V_WE_R;
|
||||||
|
V_WET[].prn = V_WE_R;
|
||||||
|
|
||||||
|
-- V_WR[] = LCELL(V_WE) or !((!VXA1 & !VXA0),(!VXA1 & VXA0),(VXA1 & !VXA0),(VXA1 & VXA0));
|
||||||
|
|
||||||
|
-- V_WR[] = (V_WE) or !(
|
||||||
|
|
||||||
|
V_WEX.clk = CLK42;
|
||||||
|
-- V_WEX.d = V_WE;
|
||||||
|
-- V_WEX.prn = (DFF(GND,CLK42,,!V_WEX));
|
||||||
|
|
||||||
|
|
||||||
|
-- V_WE_R1 = LCELL(V_WE);
|
||||||
|
-- V_WEMMM = LCELL(V_WE_R1);
|
||||||
|
|
||||||
|
V_WEMMM = LCELL(V_WE);
|
||||||
|
V_WEMMN = LCELL(V_WEMMM); -- bios ok, fn ok, fnf1 failed, zx almost ok
|
||||||
|
V_WEMMO = LCELL(V_WEMMN); -- green arts
|
||||||
|
V_WEMMP = LCELL(V_WEMMO); -- blue + pink arts
|
||||||
|
V_WEMMR = LCELL(V_WEMMP); -- no F1 issue, but red arts (fix by finger, not enough capacity??)
|
||||||
|
V_WEMMS = LCELL(V_WEMMR);
|
||||||
|
-- V_WEMMT = LCELL(V_WEMMS);
|
||||||
|
-- V_WEMMU = LCELL(V_WEMMT);
|
||||||
|
-- V_WEMMV = LCELL(V_WEMMU);
|
||||||
|
-- V_WEMMW = LCELL(V_WEMMV);
|
||||||
|
-- V_WEMMX = LCELL(V_WEMMW);
|
||||||
|
-- V_WEMMY = LCELL(V_WEMMX);
|
||||||
|
-- V_WEMMZ = LCELL(V_WEMMY);
|
||||||
|
|
||||||
|
V_WRM = LCELL(V_WEMMN or V_WEMMM);
|
||||||
|
-- V_WRM2 = LCELL(V_WEMMR);
|
||||||
|
-- V_WRM = LCELL(V_WEMMM or V_WEMMN);
|
||||||
|
-- V_WRM2 = LCELL(V_WEMMM or V_WEMMN);
|
||||||
|
|
||||||
|
V_WEM = LCELL(V_WE);
|
||||||
|
-- V_WEM2 = LCELL(V_WE);
|
||||||
|
-- V_WEM = LCELL(V_WEMMM & V_WEMMN);
|
||||||
|
-- V_WEM2 = LCELL(V_WEMMM & V_WEMMO);
|
||||||
|
|
||||||
|
F_WR = DFF(VCC,V_WE,,);
|
||||||
|
V_EN3 = DFF(!(!VXA1 & (!VXA0 or DOUBLE)), CLK42, F_WR,);
|
||||||
|
V_EN2 = DFF(!(!VXA1 & (VXA0 or DOUBLE)), CLK42, F_WR,);
|
||||||
|
V_EN1 = DFF(!(VXA1 & (!VXA0 or DOUBLE)), CLK42, F_WR,);
|
||||||
|
V_EN0 = DFF(!(VXA1 & (VXA0 or DOUBLE)), CLK42, F_WR,);
|
||||||
|
|
||||||
|
|
||||||
|
V_WR_3 = (V_WRM or V_EN3);
|
||||||
|
V_WR_2 = (V_WRM or V_EN2);
|
||||||
|
V_WR_1 = (V_WRM or V_EN1);
|
||||||
|
V_WR_0 = (V_WRM or V_EN0);
|
||||||
|
|
||||||
|
V_WEY3 = V_WEM or V_EN3;
|
||||||
|
V_WEY2 = V_WEM or V_EN2;
|
||||||
|
V_WEY1 = V_WEM or V_EN1;
|
||||||
|
V_WEY0 = V_WEM or V_EN0;
|
||||||
|
|
||||||
|
V_WR[] = V_WR_[];
|
||||||
|
V_WEN[] = V_WEY[];
|
||||||
|
|
||||||
|
-- CLK84 = LCELL(CLK42 xor CLK84_X);
|
||||||
|
-- CLK84_X = DFF(!CLK84_X,CLK84,,);
|
||||||
|
-- CLK84_Y = CLK84;
|
||||||
|
|
||||||
|
END GENERATE; -- end "sprinter" mode
|
||||||
|
|
||||||
|
|
||||||
|
END;
|
||||||
773
src/altera/acex/k30/VIDEO2_T2.TDF
Normal file
773
src/altera/acex/k30/VIDEO2_T2.TDF
Normal file
@ -0,0 +1,773 @@
|
|||||||
|
|
||||||
|
TITLE "Video-controller";
|
||||||
|
|
||||||
|
INCLUDE "lpm_ram_dp";
|
||||||
|
|
||||||
|
PARAMETERS
|
||||||
|
(
|
||||||
|
MODE = "SPRINTER",
|
||||||
|
MOUSE = "NO",
|
||||||
|
HOR_PLACE = H"50",
|
||||||
|
VER_PLACE = H"91" -- 122h/2
|
||||||
|
);
|
||||||
|
|
||||||
|
SUBDESIGN video2
|
||||||
|
(
|
||||||
|
CLK42 : INPUT;
|
||||||
|
|
||||||
|
CT[5..0] : OUTPUT;
|
||||||
|
CTH[5..0] : OUTPUT;
|
||||||
|
CTV[8..0] : OUTPUT;
|
||||||
|
CTF[6..0] : OUTPUT;
|
||||||
|
|
||||||
|
BLANK : OUTPUT;
|
||||||
|
|
||||||
|
START_UP : INPUT;
|
||||||
|
COPY_SINC_H : INPUT;
|
||||||
|
COPY_SINC_V : INPUT;
|
||||||
|
|
||||||
|
WR : INPUT;
|
||||||
|
|
||||||
|
VAI[19..0] : INPUT; -- input screen adress
|
||||||
|
|
||||||
|
VAO[15..0] : OUTPUT;
|
||||||
|
|
||||||
|
D[7..0] : INPUT;
|
||||||
|
MDI[15..0] : INPUT;
|
||||||
|
|
||||||
|
VDO0[7..0] : OUTPUT;
|
||||||
|
VDO1[7..0] : OUTPUT;
|
||||||
|
VDO2[7..0] : OUTPUT;
|
||||||
|
VDO3[7..0] : OUTPUT;
|
||||||
|
|
||||||
|
VDM0[7..0] : INPUT;
|
||||||
|
VDM1[7..0] : INPUT;
|
||||||
|
VDM2[7..0] : INPUT;
|
||||||
|
VDM3[7..0] : INPUT;
|
||||||
|
|
||||||
|
V_WR[3..0] : OUTPUT;
|
||||||
|
V_WEN[3..0] : OUTPUT;
|
||||||
|
|
||||||
|
V_CS[1..0] : OUTPUT;
|
||||||
|
WR_PIX : OUTPUT;
|
||||||
|
|
||||||
|
-- ZX_COLOR[3..0] : OUTPUT;
|
||||||
|
|
||||||
|
ZX_PORT[7..0] : INPUT;
|
||||||
|
DIR_PORT[7..0] : INPUT;
|
||||||
|
|
||||||
|
%
|
||||||
|
bit0 - Spectrum SCREEN Switch
|
||||||
|
bit1 - Spectrum Adress MODE
|
||||||
|
bit2 - Write to Spectrum Screen OFF
|
||||||
|
bit3 - MODE page 0/1
|
||||||
|
bit4 - MODE on/off screen
|
||||||
|
|
||||||
|
bit7..5 - Border
|
||||||
|
%
|
||||||
|
|
||||||
|
INTT : OUTPUT;
|
||||||
|
|
||||||
|
DOUBLE_CAS : INPUT;
|
||||||
|
|
||||||
|
MOUSE_X[9..0] : INPUT;
|
||||||
|
MOUSE_Y[9..0] : INPUT;
|
||||||
|
|
||||||
|
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
|
||||||
|
-- CLK84 : NODE;
|
||||||
|
-- CLK84_X : NODE;
|
||||||
|
-- CLK84_Y : NODE;
|
||||||
|
|
||||||
|
ZX_COLOR[3..0] : NODE;
|
||||||
|
|
||||||
|
CT[5..0] : DFFE;
|
||||||
|
CTH[5..0] : DFFE;
|
||||||
|
CTV[8..0] : DFFE;
|
||||||
|
CTF[6..0] : DFF;
|
||||||
|
|
||||||
|
VXA[19..0] : DFFE;
|
||||||
|
|
||||||
|
VXD0[7..0] : DFFE;
|
||||||
|
VXD1[7..0] : DFFE;
|
||||||
|
VXD2[7..0] : DFFE;
|
||||||
|
VXD3[7..0] : DFFE;
|
||||||
|
|
||||||
|
E_WR : NODE;
|
||||||
|
E_WRD : NODE;
|
||||||
|
|
||||||
|
BLANK : NODE;
|
||||||
|
BORD : NODE;
|
||||||
|
-- INTT_T : NODE;
|
||||||
|
INTTX : NODE;
|
||||||
|
|
||||||
|
VLA[17..0] : DFF;
|
||||||
|
-- SVA[17..0] : NODE;
|
||||||
|
SVA[17..0] : DFF;
|
||||||
|
-- RSVA[8..0] : LCELL;
|
||||||
|
RSVA[8..0] : NODE;
|
||||||
|
-- RSVA[8..0] : DFF;
|
||||||
|
|
||||||
|
V_CST[1..0] : DFF;
|
||||||
|
VCM[2..0] : DFF;
|
||||||
|
TSN_W3 : DFF;
|
||||||
|
V_WE : DFF;
|
||||||
|
V_WEX : DFF;
|
||||||
|
|
||||||
|
V_WEM : NODE;
|
||||||
|
V_WEM2 : NODE;
|
||||||
|
V_WRM : NODE;
|
||||||
|
V_WRM2 : NODE;
|
||||||
|
%
|
||||||
|
V_WEMM : NODE;
|
||||||
|
V_WEMMM : NODE;
|
||||||
|
V_WEMMN : NODE;
|
||||||
|
V_WEMMO : NODE;
|
||||||
|
%
|
||||||
|
V_WEMM : NODE;
|
||||||
|
V_WEMMM : NODE;
|
||||||
|
V_WEMMN : NODE;
|
||||||
|
V_WEMMO : NODE;
|
||||||
|
V_WEMMP : NODE;
|
||||||
|
V_WEMMQ : NODE;
|
||||||
|
V_WEMMR : NODE;
|
||||||
|
V_WEMMS : NODE;
|
||||||
|
V_WEMMT : NODE;
|
||||||
|
V_WEMMU : NODE;
|
||||||
|
V_WEMMV : NODE;
|
||||||
|
V_WEMMW : NODE;
|
||||||
|
V_WEMMX : NODE;
|
||||||
|
V_WEMMY : NODE;
|
||||||
|
V_WEMMZ : NODE;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
V_WET[3..0] : DFF;
|
||||||
|
|
||||||
|
D_PIC0[7..0] : DFFE;
|
||||||
|
-- D_PIC0_[7..0] : LCELL;
|
||||||
|
|
||||||
|
D_PIC0_[7..0] : DFFE;
|
||||||
|
D_PIC1_[7..0] : DFFE;
|
||||||
|
D_PIC2_[7..0] : DFFE;
|
||||||
|
D_PIC3_[7..0] : DFFE;
|
||||||
|
|
||||||
|
D_PICX_[7..0] : NODE;
|
||||||
|
|
||||||
|
LWR_PIC : NODE;
|
||||||
|
LWR_COL : NODE;
|
||||||
|
|
||||||
|
WR_PIC : DFF;
|
||||||
|
WR_COL : DFF;
|
||||||
|
LD_PIC : NODE;
|
||||||
|
MXL: NODE;
|
||||||
|
MXR: NODE;
|
||||||
|
|
||||||
|
RBRVA[10..8]: DFF;
|
||||||
|
BRVA[7..0] : DFF;
|
||||||
|
DCOL[7..0] : DFFE;
|
||||||
|
|
||||||
|
MXWE : NODE;
|
||||||
|
-- MXCE : NODE;
|
||||||
|
|
||||||
|
AX128 : NODE;
|
||||||
|
|
||||||
|
BRD[2..0] : NODE;
|
||||||
|
|
||||||
|
ZX_COL[3..0] : LCELL;
|
||||||
|
|
||||||
|
ZXA15 : NODE;
|
||||||
|
ZXS[5..0] : NODE;
|
||||||
|
ZX_SCREEN : NODE;
|
||||||
|
SCR128 : NODE;
|
||||||
|
|
||||||
|
MODE0[7..0] : DFFE;
|
||||||
|
MODE1[7..0] : DFFE;
|
||||||
|
MODE2[7..0] : DFFE;
|
||||||
|
-- MODE3[7..0] : DFF;
|
||||||
|
|
||||||
|
WR_MODE : DFF;
|
||||||
|
LWR_MODE : NODE;
|
||||||
|
X_MODE[7..4]: NODE;
|
||||||
|
X_MODE_BOND : NODE;
|
||||||
|
|
||||||
|
-- M_CTV[2..0] : DFF;
|
||||||
|
-- M_CT[5..3] : DFF;
|
||||||
|
M_CTV[2..0] : LCELL;
|
||||||
|
M_CT[5..3] : LCELL;
|
||||||
|
|
||||||
|
DOUBLE : DFFE;
|
||||||
|
|
||||||
|
PIC_CLK : NODE;
|
||||||
|
|
||||||
|
MS_X[9..0] : DFF;
|
||||||
|
MS_Y[9..0] : DFF;
|
||||||
|
|
||||||
|
MS_POINT : NODE;
|
||||||
|
MS_POINT2 : NODE;
|
||||||
|
MS_PNT : NODE;
|
||||||
|
|
||||||
|
MS_DAT : LPM_RAM_DP WITH (LPM_WIDTH=16,LPM_WIDTHAD=8,LPM_FILE="MOUSE.MIF");
|
||||||
|
|
||||||
|
SCR_ENA : DFFE;
|
||||||
|
V_WR_[3..0] : LCELL;
|
||||||
|
V_WEY[3..0] : LCELL;
|
||||||
|
|
||||||
|
V_WE_R : NODE;
|
||||||
|
|
||||||
|
V_CSX[3..0] : NODE;
|
||||||
|
|
||||||
|
V_EN[3..0] : NODE;
|
||||||
|
|
||||||
|
F_WR : NODE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
DEFAULTS
|
||||||
|
WR_MODE.d = VCC; -- WR_MODE2.d = VCC; -- WR_MODE2X.d = VCC;
|
||||||
|
V_CST[].d = VCC; V_WR[] = VCC; TSN_W3.d = VCC;
|
||||||
|
V_WE.d = VCC; WR_COL.d = VCC; WR_PIC.d = VCC;
|
||||||
|
V_WET[].d = VCC;
|
||||||
|
END DEFAULTS;
|
||||||
|
|
||||||
|
ZX_COLOR[] = ZX_COL[];
|
||||||
|
|
||||||
|
-- === MOUSE counters ========
|
||||||
|
|
||||||
|
MS_X[].clk = !CT1;
|
||||||
|
CASE LCELL(CTH[5..2] == 12) IS
|
||||||
|
WHEN 0 => MS_X[] = MS_X[] + 1;
|
||||||
|
WHEN 1 => MS_X[] = (!MOUSE_X[9..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
MS_Y[].clk = !CTH5;
|
||||||
|
CASE LCELL(CTV8 & !CTV5 & CTV4) IS
|
||||||
|
WHEN 0 => MS_Y[] = MS_Y[] + 1;
|
||||||
|
WHEN 1 => MS_Y[] = (GND,!MOUSE_Y[8..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
MS_PNT = DFF(((MS_X[] == B"100000XXXX") & (MS_Y[] == B"100000XXXX")),CLK42,,);
|
||||||
|
|
||||||
|
MS_DAT.wren = GND;
|
||||||
|
MS_DAT.data[] = GND;
|
||||||
|
MS_DAT.wraddress[] = GND;
|
||||||
|
MS_DAT.wrclock = CLK42;
|
||||||
|
MS_DAT.wrclken = GND;
|
||||||
|
MS_DAT.rden = VCC;
|
||||||
|
MS_DAT.rdaddress[] = (MS_Y[3..0],MS_X[3..0]);
|
||||||
|
MS_DAT.rdclock = CLK42;
|
||||||
|
MS_DAT.rdclken = VCC;
|
||||||
|
|
||||||
|
IF MOUSE == "NO" GENERATE
|
||||||
|
MS_POINT = GND;
|
||||||
|
MS_POINT2 = GND;
|
||||||
|
ELSE GENERATE
|
||||||
|
MS_POINT = DFF((MS_PNT & MS_DAT.q0),CLK42,,);
|
||||||
|
MS_POINT2 = DFF((MS_PNT & MS_DAT.q1),CLK42,,);
|
||||||
|
END GENERATE;
|
||||||
|
|
||||||
|
-- === Sinc-counts GENERATOR ============================================
|
||||||
|
|
||||||
|
-- CT[].clrn = START_UP;
|
||||||
|
|
||||||
|
-- (,CTH[5..0].clrn,CT[5].clrn) = !COPY_SINC_H or HOR_PLACE;
|
||||||
|
-- (,CTH[5..0].prn ,CT[5].prn ) = !COPY_SINC_H or !HOR_PLACE;
|
||||||
|
|
||||||
|
-- CTV[].clrn = !COPY_SINC_V or VER_PLACE;
|
||||||
|
-- CTV[].prn = !COPY_SINC_V or !VER_PLACE;
|
||||||
|
|
||||||
|
CT[5].clrn = !COPY_SINC_H;
|
||||||
|
|
||||||
|
-- set CTH to 50 (32h)
|
||||||
|
CTH[0].clrn = !COPY_SINC_H;
|
||||||
|
CTH[1].prn = !COPY_SINC_H;
|
||||||
|
CTH[2].clrn = !COPY_SINC_H;
|
||||||
|
CTH[3].clrn = !COPY_SINC_H;
|
||||||
|
CTH[4].prn = !COPY_SINC_H;
|
||||||
|
CTH[5].prn = !COPY_SINC_H;
|
||||||
|
|
||||||
|
-- set CTV to 122h
|
||||||
|
CTV[0].clrn = !COPY_SINC_V;
|
||||||
|
CTV[1].prn = !COPY_SINC_V;
|
||||||
|
CTV[3..2].clrn = !COPY_SINC_V;
|
||||||
|
|
||||||
|
CTV[4].clrn = !COPY_SINC_V;
|
||||||
|
CTV[5].prn = !COPY_SINC_V;
|
||||||
|
CTV[7..6].clrn = !COPY_SINC_V;
|
||||||
|
CTV[8].prn = !COPY_SINC_V;
|
||||||
|
|
||||||
|
CT[5..0].clk = CLK42;
|
||||||
|
CTH[5..0].clk = CLK42;
|
||||||
|
CTV[8..0].clk = CLK42;
|
||||||
|
|
||||||
|
CT[2..0].ena = VCC;
|
||||||
|
|
||||||
|
CASE CT[2..0] IS
|
||||||
|
WHEN 0 => CT[2..0] = 1;
|
||||||
|
WHEN 1 => CT[2..0] = 2;
|
||||||
|
WHEN 2 => CT[2..0] = 4;
|
||||||
|
WHEN 3 => CT[2..0] = 4;
|
||||||
|
WHEN 4 => CT[2..0] = 5;
|
||||||
|
WHEN 5 => CT[2..0] = 6;
|
||||||
|
WHEN 6 => CT[2..0] = 0;
|
||||||
|
WHEN 7 => CT[2..0] = 0;
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- for remove sinc jitter
|
||||||
|
-- CT[5..3].ena = DFF(((CT0 & CT2) or (COPY_SINC_H & !CT4)),CLK42,,);
|
||||||
|
CT[5..3].ena = DFF((CT0 & CT2),CLK42,,);
|
||||||
|
CT[5..3] = CT[5..3]+1;
|
||||||
|
%
|
||||||
|
CASE CT[4..3] IS
|
||||||
|
WHEN 0 => CT[5..3] = CT[5..3]+1;
|
||||||
|
WHEN 1 => CT[5..3] = CT[5..3]+1;
|
||||||
|
WHEN 2 => CT[5..3] = CT[5..3]+1;
|
||||||
|
WHEN 3 => CT[5..3] = CT[5..3]+1;
|
||||||
|
END CASE;
|
||||||
|
%
|
||||||
|
CTH[].ena = DFF(((CT[5..2] == 15) & CT0),CLK42,,);
|
||||||
|
CTV[].ena = DFF(((CT[5..2] == 15) & CT0 & (CTH[] == 48)),CLK42,,);
|
||||||
|
|
||||||
|
IF CTH[] == 55 THEN
|
||||||
|
CTH[] = GND;
|
||||||
|
ELSE
|
||||||
|
CTH[] = CTH[] + 1;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF CTV[] == 319 THEN
|
||||||
|
CTV[] = GND;
|
||||||
|
ELSE
|
||||||
|
CTV[] = CTV[] + 1;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
CTF[].clk = CTV8;
|
||||||
|
CTF[] = CTF[]+1;
|
||||||
|
|
||||||
|
-- ==== Video ==========================================================
|
||||||
|
|
||||||
|
ZXS[] = ZX_PORT[5..0]; -- pages ZX Screens
|
||||||
|
ZX_SCREEN = ZX_PORT6; -- enable ZX Screen write
|
||||||
|
ZXA15 = ZX_PORT7; -- ZX A15' line
|
||||||
|
|
||||||
|
SCR128 = DIR_PORT0;
|
||||||
|
|
||||||
|
-- WR_PIX = LCELL(TSN_W3);
|
||||||
|
WR_PIX = (TSN_W3);
|
||||||
|
|
||||||
|
DOUBLE.clk = CLK42; DOUBLE.ena = !E_WR; DOUBLE = DOUBLE_CAS;
|
||||||
|
VXA[].clk = CLK42; VXA[].ena = !E_WR;
|
||||||
|
|
||||||
|
VXD0[].clk = CLK42; VXD0[].ena = !E_WRD; VDO0[] = VXD0[];
|
||||||
|
VXD1[].clk = CLK42; VXD1[].ena = !E_WRD; VDO1[] = VXD1[];
|
||||||
|
VXD2[].clk = CLK42; VXD2[].ena = !E_WRD; VDO2[] = VXD2[];
|
||||||
|
VXD3[].clk = CLK42; VXD3[].ena = !E_WRD; VDO3[] = VXD3[];
|
||||||
|
|
||||||
|
-- VXD0[] = D[];
|
||||||
|
-- VXD1[] = D[];
|
||||||
|
-- VXD2[] = D[];
|
||||||
|
-- VXD3[] = D[];
|
||||||
|
|
||||||
|
(VXD0[],VXD1[]) = MDI[];
|
||||||
|
(VXD2[],VXD3[]) = MDI[];
|
||||||
|
|
||||||
|
BRD[] = DIR_PORT[7..5];
|
||||||
|
|
||||||
|
VCM[].clk = CLK42;
|
||||||
|
TSN_W3.clk = CLK42;
|
||||||
|
V_CST[].clk = CLK42;
|
||||||
|
V_WE.clk = CLK42;
|
||||||
|
V_WET[].clk = CLK42;
|
||||||
|
VLA[].clk = CLK42;
|
||||||
|
|
||||||
|
SCR_ENA.clk = CLK42;
|
||||||
|
SCR_ENA.ena = !E_WR;
|
||||||
|
SCR_ENA.d = !(VAI19 or ZX_SCREEN);
|
||||||
|
|
||||||
|
E_WRD = DFF(E_WR,CLK42,,);
|
||||||
|
E_WR = LCELL(WR or !(VAI19 or ZX_SCREEN) or !DFF(WR,CLK42,,));
|
||||||
|
-- E_WR = LCELL(WR or !DFF(WR,CLK42,,));
|
||||||
|
|
||||||
|
-- ****************************************************
|
||||||
|
|
||||||
|
IF MODE == "SPRINTER" GENERATE
|
||||||
|
|
||||||
|
-- VAI[19] - switch adress mode 1 - graf mode, 0 - spectrum mode
|
||||||
|
|
||||||
|
-- MXWE = DFF(((DFF(E_WR,CLK42,,) or SCR_ENA) & MXWE),CLK42,,V_WE);
|
||||||
|
MXWE = DFF(MXWE,CLK42,E_WR,V_WE);
|
||||||
|
|
||||||
|
IF VAI[19] THEN
|
||||||
|
-- in graf mode all 256k(512k) range
|
||||||
|
VXA[] = VAI[];
|
||||||
|
ELSE
|
||||||
|
-- in spectrum mode 8k/16k range pages
|
||||||
|
VXA[] = (GND,GND,VAI[7..0],ZXS[4..1],LCELL(ZXS0 xor ZXA15 xor VAI13),VAI[12..8]);
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
-- BORD = DFF((MODE0[7..4] == 15),WR_PIC,,);
|
||||||
|
-- BLANK = DFF((BORD & MODE03 & MODE02),WR_PIC,,);
|
||||||
|
-- INTTX = DFF((BORD & MODE03 & MODE02 & MODE00),WR_PIC,,);
|
||||||
|
|
||||||
|
BORD = DFF((MODE0[7..4] == 15),LWR_COL,,);
|
||||||
|
BLANK = DFF(((BORD & MODE03 & MODE02) or DIR_PORT4),LWR_COL,,);
|
||||||
|
INTTX = DFF((BORD & MODE03 & MODE02 & MODE00),LWR_COL,,);
|
||||||
|
|
||||||
|
INTT = DFF(!(INTTX & (CTV[2..0] == 7)),CT5,,);
|
||||||
|
|
||||||
|
-- INTT = DFF((INTTX or DFF(INTTX,CT5,,)),CT5,,);
|
||||||
|
-- INTT = DFF(!(BLANK & (CTV[2..0] == 7)),CLK42,,MODE0[0]);
|
||||||
|
|
||||||
|
CASE CT[2..0] IS
|
||||||
|
WHEN B"110" => VCM[2..0].d = 5; -- 110 -> 101 6 -> 5
|
||||||
|
WHEN B"000" => VCM[2..0].d = 1; -- 000 -> 001 0 -> 1
|
||||||
|
WHEN B"001" => VCM[2..0].d = 4; -- 001 -> 100 1 -> 4
|
||||||
|
WHEN B"010" => VCM[2..0].d = 3; -- 010 -> 011 2 -> 3
|
||||||
|
WHEN B"100" => VCM[2..0].d = 2; -- 100 -> 010 4 -> 2
|
||||||
|
WHEN B"101" => VCM[2..0].d = 0; -- 101 -> 000 5 -> 0
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
CASE VCM[1..0] IS
|
||||||
|
WHEN 0 =>
|
||||||
|
VLA[].d = (BRVA[7..0],VCC,VCC,VCC,VCC,VCC,RBRVA[10..8],GND,GND);
|
||||||
|
V_CST[].d = (VCC,GND);
|
||||||
|
V_WE.d = VCC;
|
||||||
|
V_WEX.d = VCC;
|
||||||
|
IF VCM2 THEN
|
||||||
|
-- TSN_W3.d = X_MODE5;
|
||||||
|
TSN_W3.d = X_MODE_BOND;
|
||||||
|
-- V_CST[].d = (VCC,X_MODE5);
|
||||||
|
ELSE
|
||||||
|
TSN_W3.d = X_MODE_BOND;
|
||||||
|
-- V_CST[].d = (VCC,X_MODE_BOND);
|
||||||
|
END IF;
|
||||||
|
WHEN 1 =>
|
||||||
|
WR_PIC.d = !VCM2;
|
||||||
|
WR_COL.d = VCM2;
|
||||||
|
VLA[].d = SVA[];
|
||||||
|
V_CST[].d = (VCC,GND);
|
||||||
|
V_WE.d = VCC;
|
||||||
|
V_WEX.d = VCC;
|
||||||
|
WHEN 2 =>
|
||||||
|
VLA[].d = VXA[17..0];
|
||||||
|
V_CST[].d = (!VXA18,VXA18) or MXWE;
|
||||||
|
V_WE.d = MXWE;
|
||||||
|
V_WEX.d = GND;
|
||||||
|
V_WET[].d = MXWE or !((!VXA1 & !VXA0),(!VXA1 & VXA0),(VXA1 & !VXA0),(VXA1 & VXA0));
|
||||||
|
WHEN 3 =>
|
||||||
|
-- WR_PIC.d = X_MODE5;
|
||||||
|
-- NEW 26.08.2022, fix bug with first column
|
||||||
|
-- it was reproducing when changes mode 320 -> 640, like any 320px screen squares -> text mode squares
|
||||||
|
WR_PIC.d = MODE0[5];
|
||||||
|
VLA[].d = (DIR_PORT3,CTH[5..0],CT5,VCC,VCC,CTV[8..3],GND,GND);
|
||||||
|
WR_MODE.d = !(CT[5..3] == B"111") & !(CT4 & CT3 & !MODE0[5]);
|
||||||
|
V_CST[].d = (VCC,GND);
|
||||||
|
V_WE.d = VCC;
|
||||||
|
V_WEX.d = VCC;
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- choose V-RAM komplect
|
||||||
|
|
||||||
|
V_CST1.prn = GND;
|
||||||
|
-- V_CS0.clrn = GND;
|
||||||
|
V_CST0.prn = (LCELL(DFF(GND,!CLK42,,!V_CST0)));
|
||||||
|
V_CS1 = VCC;
|
||||||
|
-- V_CS0 = LCELL(V_CST0);
|
||||||
|
|
||||||
|
V_CSX0 = LCELL(!CLK42);
|
||||||
|
V_CSX1 = LCELL(V_CSX0);
|
||||||
|
V_CSX2 = LCELL(V_CSX1 & V_CSX0);
|
||||||
|
V_CSX3 = LCELL(V_CSX2);
|
||||||
|
|
||||||
|
-- V_CS0 = V_CSX3;
|
||||||
|
V_CS0 = GND;
|
||||||
|
|
||||||
|
-- =====================
|
||||||
|
|
||||||
|
SVA[].clk = CLK42;
|
||||||
|
SVA[9..6] = MODE0[3..0];
|
||||||
|
-- RSVA[].clk = CLK42;
|
||||||
|
(SVA[12..10],SVA[5..0]) = RSVA[];
|
||||||
|
|
||||||
|
-- M_CTV[2..0].clk = CLK42;
|
||||||
|
-- M_CT[5..3].clk = CLK42;
|
||||||
|
M_CTV[2..0] = (!MODE2[2] & CTV[2..0]) or MODE2[2] & (MODE2[1],CTV[2..1]);
|
||||||
|
M_CT[5..3] = (!MODE2[2] & (CT[5],!CT[4..3])) or MODE2[2] & (MODE2[0],!CT[5..4]);
|
||||||
|
|
||||||
|
CASE (!VCM2,MODE0[4]) IS
|
||||||
|
-- CASE (!VCM1,MODE0[4]) IS
|
||||||
|
WHEN B"X0" =>
|
||||||
|
-- Graf adress --
|
||||||
|
RSVA[] = (M_CTV[2..0],MODE1[2..0],M_CT[5..3]);
|
||||||
|
SVA[17..13] = MODE1[7..3];
|
||||||
|
|
||||||
|
-- SVA[12..10] = CTV[2..0];
|
||||||
|
-- SVA[5..0] = (MODE1[2..0],CT5,!CT[4..3]);
|
||||||
|
WHEN B"01" =>
|
||||||
|
-- ZX-atr adress --
|
||||||
|
RSVA[] = (MODE2[2..0],SCR128,VCC,VCC,GND,!MODE0[7..6]);
|
||||||
|
SVA[17..13] = MODE2[7..3];
|
||||||
|
|
||||||
|
-- SVA[12..10] = MODE2[2..0];
|
||||||
|
-- SVA[5..0] = (SCR128,VCC,VCC,GND,!MODE0[7..6]);
|
||||||
|
WHEN B"11" =>
|
||||||
|
-- ZX-pic adress --
|
||||||
|
RSVA[] = (MODE1[2..0],SCR128,MODE0[7..6],CTV2,!CTV1,!CTV0);
|
||||||
|
SVA[17..13] = MODE1[7..3];
|
||||||
|
|
||||||
|
-- SVA[12..10] = MODE1[2..0];
|
||||||
|
-- SVA[5..0] = (SCR128,MODE0[7..6],CTV2,!CTV1,!CTV0);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- X_MODE_BOND = LCELL(LCELL(DCOL[7..4] == 15) & LCELL(DCOL[3..0] == 15) & DFF((MODE0[7] & MODE0[5] & !MODE0[4]),LWR_COL,VCC,VCC));
|
||||||
|
X_MODE_BOND = GND;
|
||||||
|
|
||||||
|
-- LD_PIC = LCELL((MODE0[5] & DFF((CT[5..3] == B"000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
||||||
|
-- LD_PIC = LCELL((MODE0[5] & DFF((CT[5..3] == B"000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
||||||
|
LD_PIC = LCELL((MODE0[5] & DFF((CT[5..2] == B"0000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
||||||
|
|
||||||
|
|
||||||
|
-- CASE (DFF(VLA1,!CLK42,,),DFF(VLA0,!CLK42,,)) IS
|
||||||
|
|
||||||
|
-- D_PIC0_[].clk = !CLK42;
|
||||||
|
-- D_PIC1_[].clk = !CLK42;
|
||||||
|
-- D_PIC2_[].clk = !CLK42;
|
||||||
|
-- D_PIC3_[].clk = !CLK42;
|
||||||
|
|
||||||
|
-- PIC_CLK = LCELL(LCELL(CLK42));
|
||||||
|
PIC_CLK = !CLK42;
|
||||||
|
|
||||||
|
D_PIC0_[].clk = PIC_CLK;
|
||||||
|
D_PIC1_[].clk = PIC_CLK;
|
||||||
|
D_PIC2_[].clk = PIC_CLK;
|
||||||
|
D_PIC3_[].clk = PIC_CLK;
|
||||||
|
|
||||||
|
D_PIC0_[] = VDM0[];
|
||||||
|
D_PIC1_[] = VDM1[];
|
||||||
|
D_PIC2_[] = VDM2[];
|
||||||
|
D_PIC3_[] = VDM3[];
|
||||||
|
|
||||||
|
CASE (DFF(VLA1,CLK42,,),DFF(VLA0,CLK42,,)) IS
|
||||||
|
WHEN 0 => D_PICX_[] = D_PIC0_[];
|
||||||
|
WHEN 1 => D_PICX_[] = D_PIC1_[];
|
||||||
|
WHEN 2 => D_PICX_[] = D_PIC2_[];
|
||||||
|
WHEN 3 => D_PICX_[] = D_PIC3_[];
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
MODE0[].ena = VCC;
|
||||||
|
MODE1[].ena = VCC;
|
||||||
|
MODE2[].ena = VCC;
|
||||||
|
MODE0[].clk = LWR_MODE;
|
||||||
|
MODE1[].clk = LWR_MODE;
|
||||||
|
MODE2[].clk = LWR_MODE;
|
||||||
|
MODE0[].d = VDM3[];
|
||||||
|
MODE1[].d = VDM2[];
|
||||||
|
MODE2[].d = VDM1[];
|
||||||
|
LWR_MODE = LCELL(LCELL(WR_MODE));
|
||||||
|
%
|
||||||
|
MODE0[].ena = LWR_MODE;
|
||||||
|
MODE1[].ena = LWR_MODE;
|
||||||
|
MODE2[].ena = LWR_MODE;
|
||||||
|
MODE0[].clk = CLK42;
|
||||||
|
MODE1[].clk = CLK42;
|
||||||
|
MODE2[].clk = CLK42;
|
||||||
|
MODE0[].d = D_PIC3_[];
|
||||||
|
MODE1[].d = D_PIC2_[];
|
||||||
|
MODE2[].d = D_PIC1_[];
|
||||||
|
LWR_MODE = DFF(!WR_MODE,CLK42,,);
|
||||||
|
%
|
||||||
|
X_MODE7 = DFF(MODE0[7],LWR_COL,,);
|
||||||
|
X_MODE6 = DFF(MODE0[6],LWR_COL,,);
|
||||||
|
X_MODE5 = DFF(MODE0[5],LWR_COL,,);
|
||||||
|
X_MODE4 = DFF(MODE0[4],LWR_COL,,);
|
||||||
|
|
||||||
|
VAO[] = VLA[17..2];
|
||||||
|
|
||||||
|
WR_PIC.clk = CLK42;
|
||||||
|
WR_COL.clk = CLK42;
|
||||||
|
WR_MODE.clk = CLK42;
|
||||||
|
|
||||||
|
-- LWR_PIC = LCELL(LCELL(WR_PIC));
|
||||||
|
-- LWR_COL = LCELL(LCELL(WR_COL));
|
||||||
|
-- LWR_PIC = LCELL(WR_PIC);
|
||||||
|
-- LWR_COL = LCELL(WR_COL);
|
||||||
|
LWR_PIC = DFF(WR_PIC,CLK42,,);
|
||||||
|
LWR_COL = DFF(WR_COL,CLK42,,);
|
||||||
|
|
||||||
|
-- D_PIC0[].ena = VCC;
|
||||||
|
-- D_PIC0[].clk = (LWR_PIC);
|
||||||
|
D_PIC0[].ena = !LWR_PIC;
|
||||||
|
D_PIC0[].clk = CLK42;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
IF LD_PIC THEN
|
||||||
|
-- D_PIC0[] = D_PIC0_[];
|
||||||
|
D_PIC0[] = D_PICX_[];
|
||||||
|
ELSE
|
||||||
|
D_PIC0[] = (D_PIC0[6..0],GND);
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
|
||||||
|
-- DCOL[].clk = (LWR_COL);
|
||||||
|
DCOL[].ena = !LWR_COL;
|
||||||
|
DCOL[].clk = CLK42;
|
||||||
|
|
||||||
|
IF DFF((MODE0[7..4] == 15),WR_PIC,,) THEN
|
||||||
|
DCOL[].d = (B"00",BRD[2..0],BRD[2..0]);
|
||||||
|
ELSE
|
||||||
|
-- DCOL[].d = D_PIC0_[];
|
||||||
|
DCOL[].d = D_PICX_[];
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
DCOL[].clrn = !BLANK;
|
||||||
|
|
||||||
|
BRVA[].clk = CLK42;
|
||||||
|
BRVA[].clrn = !MS_POINT;
|
||||||
|
BRVA[].prn = !MS_POINT2;
|
||||||
|
|
||||||
|
-- MODE0[4] - graph / text
|
||||||
|
-- MODE0[5] - 320 / 640 resolution
|
||||||
|
|
||||||
|
-- CASE (LCELL(X_MODE4 or X_MODE5),CT2) IS
|
||||||
|
CASE (DFF((MODE0[4] or MODE0[5]),LWR_COL,,),CT2) IS
|
||||||
|
WHEN B"1X" => BRVA[7..0] = DCOL[];
|
||||||
|
WHEN B"01" => BRVA[7..0] = (B"0000",DCOL[7..4]);
|
||||||
|
WHEN B"00" => BRVA[7..0] = (B"0000",DCOL[3..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- BRVA[10..8] = (x_mode4,RBRVA[9..8]);
|
||||||
|
RBRVA[].clk = CLK42;
|
||||||
|
|
||||||
|
CASE (BORD,X_MODE4) IS
|
||||||
|
WHEN B"X0" => RBRVA[10..8].d = (GND,X_MODE[7..6]);
|
||||||
|
WHEN B"X1" => RBRVA[10..8].d = (VCC,(CTF4 & !BLANK),D_PIC0[7]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
RBRVA[9..8].clrn = !BORD;
|
||||||
|
RBRVA[10].prn = !BORD;
|
||||||
|
|
||||||
|
CASE (RBRVA[9..8],BRVA7) IS
|
||||||
|
WHEN 0,1,4,7 => ZX_COL[] = (BRVA[6],BRVA[5..3]);
|
||||||
|
WHEN 2,3,6,5 => ZX_COL[] = (BRVA[6],BRVA[2..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- V_WET[].prn = LCELL(DFF(GND,!CLK42,,!V_WE));
|
||||||
|
-- V_WE.prn = LCELL(DFF(GND,!CLK42,,!V_WE));
|
||||||
|
|
||||||
|
V_WE_R = DFF(GND,!CLK42,,!V_WE);
|
||||||
|
V_WE.prn = V_WE_R;
|
||||||
|
V_WET[].prn = V_WE_R;
|
||||||
|
|
||||||
|
-- V_WR[] = LCELL(V_WE) or !((!VXA1 & !VXA0),(!VXA1 & VXA0),(VXA1 & !VXA0),(VXA1 & VXA0));
|
||||||
|
|
||||||
|
-- V_WR[] = (V_WE) or !(
|
||||||
|
|
||||||
|
V_WEX.clk = CLK42;
|
||||||
|
-- V_WEX.d = V_WE;
|
||||||
|
-- V_WEX.prn = (DFF(GND,CLK42,,!V_WEX));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
V_WEMMM = LCELL(V_WE);
|
||||||
|
V_WEMMN = LCELL(V_WEMMM); -- bios ok, fn ok, fnf1 failed, zx almost ok
|
||||||
|
V_WEMMO = LCELL(V_WEMMN); -- green arts
|
||||||
|
V_WEMMP = LCELL(V_WEMMO); -- blue + pink arts
|
||||||
|
V_WEMMR = LCELL(V_WEMMP); -- no F1 issue, but red arts (fix by finger, not enough capacity??)
|
||||||
|
V_WEMMS = LCELL(V_WEMMR);
|
||||||
|
-- V_WEMMT = LCELL(V_WEMMS);
|
||||||
|
-- V_WEMMU = LCELL(V_WEMMT);
|
||||||
|
-- V_WEMMV = LCELL(V_WEMMU);
|
||||||
|
-- V_WEMMW = LCELL(V_WEMMV);
|
||||||
|
-- V_WEMMX = LCELL(V_WEMMW);
|
||||||
|
-- V_WEMMY = LCELL(V_WEMMX);
|
||||||
|
-- V_WEMMZ = LCELL(V_WEMMY);
|
||||||
|
|
||||||
|
V_WRM = LCELL(V_WE or V_WEMMM);
|
||||||
|
-- V_WRM = LCELL(V_WEMMN or V_WEMMM);
|
||||||
|
-- V_WRM2 = LCELL(V_WEMMN or V_WEMMM);
|
||||||
|
-- V_WRM2 = LCELL(V_WEMMR);
|
||||||
|
-- V_WRM = LCELL(V_WEMMM or V_WEMMN);
|
||||||
|
-- V_WRM2 = LCELL(V_WEMMM or V_WEMMN);
|
||||||
|
|
||||||
|
V_WEM = (V_WE);
|
||||||
|
-- V_WEM2 = LCELL(V_WE);
|
||||||
|
-- V_WEM = LCELL(V_WEMMM & V_WEMMN);
|
||||||
|
-- V_WEM2 = LCELL(V_WEMMM & V_WEMMO);
|
||||||
|
|
||||||
|
F_WR = DFF(VCC,V_WE,,);
|
||||||
|
V_EN3 = DFF(!(!VXA1 & (!VXA0 or DOUBLE)), CLK42, F_WR,);
|
||||||
|
V_EN2 = DFF(!(!VXA1 & (VXA0 or DOUBLE)), CLK42, F_WR,);
|
||||||
|
V_EN1 = DFF(!(VXA1 & (!VXA0 or DOUBLE)), CLK42, F_WR,);
|
||||||
|
V_EN0 = DFF(!(VXA1 & (VXA0 or DOUBLE)), CLK42, F_WR,);
|
||||||
|
|
||||||
|
|
||||||
|
-- V_WR_3 = LCELL(V_WRM or V_EN3);
|
||||||
|
-- V_WR_2 = LCELL(V_WRM or V_EN2);
|
||||||
|
-- V_WR_1 = LCELL(V_WRM or V_EN1);
|
||||||
|
-- V_WR_0 = LCELL(V_WRM or V_EN0);
|
||||||
|
V_WR_3 = LCELL(LCELL(LCELL(V_WRM or V_EN3)));
|
||||||
|
V_WR_2 = LCELL(LCELL(LCELL(V_WRM or V_EN2)));
|
||||||
|
V_WR_1 = LCELL(LCELL(LCELL(V_WRM or V_EN1)));
|
||||||
|
V_WR_0 = LCELL(LCELL(LCELL(V_WRM or V_EN0)));
|
||||||
|
|
||||||
|
V_WEY3 = LCELL(V_WEM or V_EN3);
|
||||||
|
V_WEY2 = LCELL(V_WEM or V_EN2);
|
||||||
|
V_WEY1 = LCELL(V_WEM or V_EN1);
|
||||||
|
V_WEY0 = LCELL(V_WEM or V_EN0);
|
||||||
|
|
||||||
|
V_WR[] = V_WR_[]; -- V_WR0-3
|
||||||
|
V_WEN[] = V_WEY[]; -- VD0-3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%
|
||||||
|
V_WEMMM = LCELL(V_WE);
|
||||||
|
V_WEMMN = LCELL(V_WEMMM);
|
||||||
|
V_WEMMO = LCELL(V_WEMMN);
|
||||||
|
V_WEMM = LCELL(V_WEMMO);
|
||||||
|
|
||||||
|
V_WRM = LCELL(V_WEMMN & V_WEMMM);
|
||||||
|
V_WRM2 = LCELL(V_WEMMN & V_WEMMM);
|
||||||
|
|
||||||
|
V_WEM = LCELL(V_WEMMM & V_WEMMO);
|
||||||
|
V_WEM2 = LCELL(V_WEMMM & V_WEMMO);
|
||||||
|
|
||||||
|
V_EN3 = DFF(!(!VXA1 & (!VXA0 or DOUBLE)),CLK42,F_WR,);
|
||||||
|
V_EN2 = DFF(!(!VXA1 & (VXA0 or DOUBLE)) ,CLK42,F_WR,);
|
||||||
|
V_EN1 = DFF(!(VXA1 & (!VXA0 or DOUBLE)) ,CLK42,F_WR,);
|
||||||
|
V_EN0 = DFF(!(VXA1 & (VXA0 or DOUBLE)) ,CLK42,F_WR,);
|
||||||
|
|
||||||
|
F_WR = DFF(VCC,V_WE,,);
|
||||||
|
|
||||||
|
V_WR_3 = V_WRM or V_EN3;
|
||||||
|
V_WR_2 = V_WRM2 or V_EN2;
|
||||||
|
V_WR_1 = V_WRM or V_EN1;
|
||||||
|
V_WR_0 = V_WRM or V_EN0;
|
||||||
|
|
||||||
|
V_WEY3 = V_WEM or V_EN3;
|
||||||
|
V_WEY2 = V_WEM2 or V_EN2;
|
||||||
|
V_WEY1 = V_WEM or V_EN1;
|
||||||
|
V_WEY0 = V_WEM or V_EN0;
|
||||||
|
|
||||||
|
V_WR[] = V_WR_[];
|
||||||
|
V_WEN[] = V_WEY[];
|
||||||
|
%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- CLK84 = LCELL(CLK42 xor CLK84_X);
|
||||||
|
-- CLK84_X = DFF(!CLK84_X,CLK84,,);
|
||||||
|
-- CLK84_Y = CLK84;
|
||||||
|
|
||||||
|
END GENERATE; -- end "sprinter" mode
|
||||||
|
|
||||||
|
|
||||||
|
END;
|
||||||
783
src/altera/acex/k30/VIDEO2_T2_51mhz.TDF
Normal file
783
src/altera/acex/k30/VIDEO2_T2_51mhz.TDF
Normal file
@ -0,0 +1,783 @@
|
|||||||
|
|
||||||
|
TITLE "Video-controller";
|
||||||
|
|
||||||
|
INCLUDE "lpm_ram_dp";
|
||||||
|
|
||||||
|
PARAMETERS
|
||||||
|
(
|
||||||
|
MODE = "SPRINTER",
|
||||||
|
MOUSE = "NO",
|
||||||
|
HOR_PLACE = H"50",
|
||||||
|
VER_PLACE = H"91" -- 122h/2
|
||||||
|
);
|
||||||
|
|
||||||
|
SUBDESIGN video2
|
||||||
|
(
|
||||||
|
CLK42 : INPUT;
|
||||||
|
|
||||||
|
CT[5..0] : OUTPUT;
|
||||||
|
CTH[5..0] : OUTPUT;
|
||||||
|
CTV[8..0] : OUTPUT;
|
||||||
|
CTF[6..0] : OUTPUT;
|
||||||
|
|
||||||
|
BLANK : OUTPUT;
|
||||||
|
|
||||||
|
START_UP : INPUT;
|
||||||
|
COPY_SINC_H : INPUT;
|
||||||
|
COPY_SINC_V : INPUT;
|
||||||
|
|
||||||
|
WR : INPUT;
|
||||||
|
|
||||||
|
VAI[19..0] : INPUT; -- input screen adress
|
||||||
|
|
||||||
|
VAO[15..0] : OUTPUT;
|
||||||
|
|
||||||
|
D[7..0] : INPUT;
|
||||||
|
MDI[15..0] : INPUT;
|
||||||
|
|
||||||
|
VDO0[7..0] : OUTPUT;
|
||||||
|
VDO1[7..0] : OUTPUT;
|
||||||
|
VDO2[7..0] : OUTPUT;
|
||||||
|
VDO3[7..0] : OUTPUT;
|
||||||
|
|
||||||
|
VDM0[7..0] : INPUT;
|
||||||
|
VDM1[7..0] : INPUT;
|
||||||
|
VDM2[7..0] : INPUT;
|
||||||
|
VDM3[7..0] : INPUT;
|
||||||
|
|
||||||
|
V_WR[3..0] : OUTPUT;
|
||||||
|
V_WEN[3..0] : OUTPUT;
|
||||||
|
|
||||||
|
V_CS[1..0] : OUTPUT;
|
||||||
|
WR_PIX : OUTPUT;
|
||||||
|
|
||||||
|
-- ZX_COLOR[3..0] : OUTPUT;
|
||||||
|
|
||||||
|
ZX_PORT[7..0] : INPUT;
|
||||||
|
DIR_PORT[7..0] : INPUT;
|
||||||
|
|
||||||
|
%
|
||||||
|
bit0 - Spectrum SCREEN Switch
|
||||||
|
bit1 - Spectrum Adress MODE
|
||||||
|
bit2 - Write to Spectrum Screen OFF
|
||||||
|
bit3 - MODE page 0/1
|
||||||
|
bit4 - MODE on/off screen
|
||||||
|
|
||||||
|
bit7..5 - Border
|
||||||
|
%
|
||||||
|
|
||||||
|
INTT : OUTPUT;
|
||||||
|
|
||||||
|
DOUBLE_CAS : INPUT;
|
||||||
|
|
||||||
|
MOUSE_X[9..0] : INPUT;
|
||||||
|
MOUSE_Y[9..0] : INPUT;
|
||||||
|
|
||||||
|
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
|
||||||
|
-- CLK84 : NODE;
|
||||||
|
-- CLK84_X : NODE;
|
||||||
|
-- CLK84_Y : NODE;
|
||||||
|
|
||||||
|
ZX_COLOR[3..0] : NODE;
|
||||||
|
|
||||||
|
CT[5..0] : DFFE;
|
||||||
|
CTH[5..0] : DFFE;
|
||||||
|
CTV[8..0] : DFFE;
|
||||||
|
CTF[6..0] : DFF;
|
||||||
|
|
||||||
|
VXA[19..0] : DFFE;
|
||||||
|
|
||||||
|
VXD0[7..0] : DFFE;
|
||||||
|
VXD1[7..0] : DFFE;
|
||||||
|
VXD2[7..0] : DFFE;
|
||||||
|
VXD3[7..0] : DFFE;
|
||||||
|
|
||||||
|
E_WR : NODE;
|
||||||
|
E_WRD : NODE;
|
||||||
|
|
||||||
|
BLANK : NODE;
|
||||||
|
BORD : NODE;
|
||||||
|
-- INTT_T : NODE;
|
||||||
|
INTTX : NODE;
|
||||||
|
|
||||||
|
VLA[17..0] : DFF;
|
||||||
|
-- SVA[17..0] : NODE;
|
||||||
|
SVA[17..0] : DFF;
|
||||||
|
-- RSVA[8..0] : LCELL;
|
||||||
|
RSVA[8..0] : NODE;
|
||||||
|
-- RSVA[8..0] : DFF;
|
||||||
|
|
||||||
|
V_CST[1..0] : DFF;
|
||||||
|
VCM[2..0] : DFF;
|
||||||
|
TSN_W3 : DFF;
|
||||||
|
V_WE : DFF;
|
||||||
|
V_WEX : DFF;
|
||||||
|
|
||||||
|
V_WEM : NODE;
|
||||||
|
V_WEM2 : NODE;
|
||||||
|
V_WRM : NODE;
|
||||||
|
V_WRM2 : NODE;
|
||||||
|
%
|
||||||
|
V_WEMM : NODE;
|
||||||
|
V_WEMMM : NODE;
|
||||||
|
V_WEMMN : NODE;
|
||||||
|
V_WEMMO : NODE;
|
||||||
|
%
|
||||||
|
V_WEMM : NODE;
|
||||||
|
V_WEMMM : NODE;
|
||||||
|
V_WEMMN : NODE;
|
||||||
|
V_WEMMO : NODE;
|
||||||
|
V_WEMMP : NODE;
|
||||||
|
V_WEMMQ : NODE;
|
||||||
|
V_WEMMR : NODE;
|
||||||
|
V_WEMMS : NODE;
|
||||||
|
V_WEMMT : NODE;
|
||||||
|
V_WEMMU : NODE;
|
||||||
|
V_WEMMV : NODE;
|
||||||
|
V_WEMMW : NODE;
|
||||||
|
V_WEMMX : NODE;
|
||||||
|
V_WEMMY : NODE;
|
||||||
|
V_WEMMZ : NODE;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
V_WET[3..0] : DFF;
|
||||||
|
|
||||||
|
D_PIC0[7..0] : DFFE;
|
||||||
|
-- D_PIC0_[7..0] : LCELL;
|
||||||
|
|
||||||
|
D_PIC0_[7..0] : DFFE;
|
||||||
|
D_PIC1_[7..0] : DFFE;
|
||||||
|
D_PIC2_[7..0] : DFFE;
|
||||||
|
D_PIC3_[7..0] : DFFE;
|
||||||
|
|
||||||
|
D_PICX_[7..0] : NODE;
|
||||||
|
|
||||||
|
LWR_PIC : NODE;
|
||||||
|
LWR_COL : NODE;
|
||||||
|
|
||||||
|
WR_PIC : DFF;
|
||||||
|
WR_COL : DFF;
|
||||||
|
LD_PIC : NODE;
|
||||||
|
MXL: NODE;
|
||||||
|
MXR: NODE;
|
||||||
|
|
||||||
|
RBRVA[10..8]: DFF;
|
||||||
|
BRVA[7..0] : DFF;
|
||||||
|
DCOL[7..0] : DFFE;
|
||||||
|
|
||||||
|
MXWE : NODE;
|
||||||
|
-- MXCE : NODE;
|
||||||
|
|
||||||
|
AX128 : NODE;
|
||||||
|
|
||||||
|
BRD[2..0] : NODE;
|
||||||
|
|
||||||
|
ZX_COL[3..0] : LCELL;
|
||||||
|
|
||||||
|
ZXA15 : NODE;
|
||||||
|
ZXS[5..0] : NODE;
|
||||||
|
ZX_SCREEN : NODE;
|
||||||
|
SCR128 : NODE;
|
||||||
|
|
||||||
|
MODE0[7..0] : DFFE;
|
||||||
|
MODE1[7..0] : DFFE;
|
||||||
|
MODE2[7..0] : DFFE;
|
||||||
|
-- MODE3[7..0] : DFF;
|
||||||
|
|
||||||
|
WR_MODE : DFF;
|
||||||
|
LWR_MODE : NODE;
|
||||||
|
X_MODE[7..4]: NODE;
|
||||||
|
X_MODE_BOND : NODE;
|
||||||
|
|
||||||
|
-- M_CTV[2..0] : DFF;
|
||||||
|
-- M_CT[5..3] : DFF;
|
||||||
|
M_CTV[2..0] : LCELL;
|
||||||
|
M_CT[5..3] : LCELL;
|
||||||
|
|
||||||
|
DOUBLE : DFFE;
|
||||||
|
|
||||||
|
PIC_CLK : NODE;
|
||||||
|
|
||||||
|
MS_X[9..0] : DFF;
|
||||||
|
MS_Y[9..0] : DFF;
|
||||||
|
|
||||||
|
MS_POINT : NODE;
|
||||||
|
MS_POINT2 : NODE;
|
||||||
|
MS_PNT : NODE;
|
||||||
|
|
||||||
|
MS_DAT : LPM_RAM_DP WITH (LPM_WIDTH=16,LPM_WIDTHAD=8,LPM_FILE="MOUSE.MIF");
|
||||||
|
|
||||||
|
SCR_ENA : DFFE;
|
||||||
|
V_WR_[3..0] : LCELL;
|
||||||
|
V_WEY[3..0] : LCELL;
|
||||||
|
|
||||||
|
V_WE_R : NODE;
|
||||||
|
|
||||||
|
V_CSX[3..0] : NODE;
|
||||||
|
|
||||||
|
V_EN[3..0] : NODE;
|
||||||
|
|
||||||
|
F_WR : NODE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
DEFAULTS
|
||||||
|
WR_MODE.d = VCC; -- WR_MODE2.d = VCC; -- WR_MODE2X.d = VCC;
|
||||||
|
V_CST[].d = VCC; V_WR[] = VCC; TSN_W3.d = VCC;
|
||||||
|
V_WE.d = VCC; WR_COL.d = VCC; WR_PIC.d = VCC;
|
||||||
|
V_WET[].d = VCC;
|
||||||
|
END DEFAULTS;
|
||||||
|
|
||||||
|
ZX_COLOR[] = ZX_COL[];
|
||||||
|
|
||||||
|
-- === MOUSE counters ========
|
||||||
|
|
||||||
|
MS_X[].clk = !CT1;
|
||||||
|
CASE LCELL(CTH[5..2] == 12) IS
|
||||||
|
WHEN 0 => MS_X[] = MS_X[] + 1;
|
||||||
|
WHEN 1 => MS_X[] = (!MOUSE_X[9..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
MS_Y[].clk = !CTH5;
|
||||||
|
CASE LCELL(CTV8 & !CTV5 & CTV4) IS
|
||||||
|
WHEN 0 => MS_Y[] = MS_Y[] + 1;
|
||||||
|
WHEN 1 => MS_Y[] = (GND,!MOUSE_Y[8..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
MS_PNT = DFF(((MS_X[] == B"100000XXXX") & (MS_Y[] == B"100000XXXX")),CLK42,,);
|
||||||
|
|
||||||
|
MS_DAT.wren = GND;
|
||||||
|
MS_DAT.data[] = GND;
|
||||||
|
MS_DAT.wraddress[] = GND;
|
||||||
|
MS_DAT.wrclock = CLK42;
|
||||||
|
MS_DAT.wrclken = GND;
|
||||||
|
MS_DAT.rden = VCC;
|
||||||
|
MS_DAT.rdaddress[] = (MS_Y[3..0],MS_X[3..0]);
|
||||||
|
MS_DAT.rdclock = CLK42;
|
||||||
|
MS_DAT.rdclken = VCC;
|
||||||
|
|
||||||
|
IF MOUSE == "NO" GENERATE
|
||||||
|
MS_POINT = GND;
|
||||||
|
MS_POINT2 = GND;
|
||||||
|
ELSE GENERATE
|
||||||
|
MS_POINT = DFF((MS_PNT & MS_DAT.q0),CLK42,,);
|
||||||
|
MS_POINT2 = DFF((MS_PNT & MS_DAT.q1),CLK42,,);
|
||||||
|
END GENERATE;
|
||||||
|
|
||||||
|
-- === Sinc-counts GENERATOR ============================================
|
||||||
|
|
||||||
|
-- CT[].clrn = START_UP;
|
||||||
|
|
||||||
|
-- (,CTH[5..0].clrn,CT[5].clrn) = !COPY_SINC_H or HOR_PLACE;
|
||||||
|
-- (,CTH[5..0].prn ,CT[5].prn ) = !COPY_SINC_H or !HOR_PLACE;
|
||||||
|
|
||||||
|
-- CTV[].clrn = !COPY_SINC_V or VER_PLACE;
|
||||||
|
-- CTV[].prn = !COPY_SINC_V or !VER_PLACE;
|
||||||
|
|
||||||
|
CT[5].clrn = !COPY_SINC_H;
|
||||||
|
|
||||||
|
-- set CTH to 50 (32h)
|
||||||
|
CTH[0].clrn = !COPY_SINC_H;
|
||||||
|
CTH[1].prn = !COPY_SINC_H;
|
||||||
|
CTH[2].clrn = !COPY_SINC_H;
|
||||||
|
CTH[3].clrn = !COPY_SINC_H;
|
||||||
|
CTH[4].prn = !COPY_SINC_H;
|
||||||
|
CTH[5].prn = !COPY_SINC_H;
|
||||||
|
|
||||||
|
-- set CTV to 122h
|
||||||
|
CTV[0].clrn = !COPY_SINC_V;
|
||||||
|
CTV[1].prn = !COPY_SINC_V;
|
||||||
|
CTV[3..2].clrn = !COPY_SINC_V;
|
||||||
|
|
||||||
|
CTV[4].clrn = !COPY_SINC_V;
|
||||||
|
CTV[5].prn = !COPY_SINC_V;
|
||||||
|
CTV[7..6].clrn = !COPY_SINC_V;
|
||||||
|
CTV[8].prn = !COPY_SINC_V;
|
||||||
|
|
||||||
|
CT[5..0].clk = CLK42;
|
||||||
|
CTH[5..0].clk = CLK42;
|
||||||
|
CTV[8..0].clk = CLK42;
|
||||||
|
|
||||||
|
CT[2..0].ena = VCC;
|
||||||
|
|
||||||
|
CASE CT[2..0] IS
|
||||||
|
WHEN 0 => CT[2..0] = 1;
|
||||||
|
WHEN 1 => CT[2..0] = 2;
|
||||||
|
WHEN 2 => CT[2..0] = 4;
|
||||||
|
WHEN 3 => CT[2..0] = 4;
|
||||||
|
WHEN 4 => CT[2..0] = 5;
|
||||||
|
WHEN 5 => CT[2..0] = 6;
|
||||||
|
WHEN 6 => CT[2..0] = 0;
|
||||||
|
WHEN 7 => CT[2..0] = 0;
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- for remove sinc jitter
|
||||||
|
-- CT[5..3].ena = DFF(((CT0 & CT2) or (COPY_SINC_H & !CT4)),CLK42,,);
|
||||||
|
CT[5..3].ena = DFF((CT0 & CT2),CLK42,,);
|
||||||
|
CT[5..3] = CT[5..3]+1;
|
||||||
|
%
|
||||||
|
CASE CT[4..3] IS
|
||||||
|
WHEN 0 => CT[5..3] = CT[5..3]+1;
|
||||||
|
WHEN 1 => CT[5..3] = CT[5..3]+1;
|
||||||
|
WHEN 2 => CT[5..3] = CT[5..3]+1;
|
||||||
|
WHEN 3 => CT[5..3] = CT[5..3]+1;
|
||||||
|
END CASE;
|
||||||
|
%
|
||||||
|
CTH[].ena = DFF(((CT[5..2] == 15) & CT0),CLK42,,);
|
||||||
|
CTV[].ena = DFF(((CT[5..2] == 15) & CT0 & (CTH[] == 48)),CLK42,,);
|
||||||
|
|
||||||
|
IF CTH[] == 55 THEN
|
||||||
|
CTH[] = GND;
|
||||||
|
ELSE
|
||||||
|
CTH[] = CTH[] + 1;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF CTV[] == 319 THEN
|
||||||
|
CTV[] = GND;
|
||||||
|
ELSE
|
||||||
|
CTV[] = CTV[] + 1;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
CTF[].clk = CTV8;
|
||||||
|
CTF[] = CTF[]+1;
|
||||||
|
|
||||||
|
-- ==== Video ==========================================================
|
||||||
|
|
||||||
|
ZXS[] = ZX_PORT[5..0]; -- pages ZX Screens
|
||||||
|
ZX_SCREEN = ZX_PORT6; -- enable ZX Screen write
|
||||||
|
ZXA15 = ZX_PORT7; -- ZX A15' line
|
||||||
|
|
||||||
|
SCR128 = DIR_PORT0;
|
||||||
|
|
||||||
|
-- WR_PIX = LCELL(TSN_W3);
|
||||||
|
WR_PIX = TSN_W3;
|
||||||
|
|
||||||
|
DOUBLE.clk = CLK42; DOUBLE.ena = !E_WR; DOUBLE = DOUBLE_CAS;
|
||||||
|
VXA[].clk = CLK42; VXA[].ena = !E_WR;
|
||||||
|
|
||||||
|
VXD0[].clk = CLK42; VXD0[].ena = !E_WRD; VDO0[] = VXD0[];
|
||||||
|
VXD1[].clk = CLK42; VXD1[].ena = !E_WRD; VDO1[] = VXD1[];
|
||||||
|
VXD2[].clk = CLK42; VXD2[].ena = !E_WRD; VDO2[] = VXD2[];
|
||||||
|
VXD3[].clk = CLK42; VXD3[].ena = !E_WRD; VDO3[] = VXD3[];
|
||||||
|
|
||||||
|
-- VXD0[] = D[];
|
||||||
|
-- VXD1[] = D[];
|
||||||
|
-- VXD2[] = D[];
|
||||||
|
-- VXD3[] = D[];
|
||||||
|
|
||||||
|
(VXD0[],VXD1[]) = MDI[];
|
||||||
|
(VXD2[],VXD3[]) = MDI[];
|
||||||
|
|
||||||
|
BRD[] = DIR_PORT[7..5];
|
||||||
|
|
||||||
|
VCM[].clk = CLK42;
|
||||||
|
TSN_W3.clk = CLK42;
|
||||||
|
V_CST[].clk = CLK42;
|
||||||
|
V_WE.clk = CLK42;
|
||||||
|
V_WET[].clk = CLK42;
|
||||||
|
VLA[].clk = CLK42;
|
||||||
|
|
||||||
|
SCR_ENA.clk = CLK42;
|
||||||
|
SCR_ENA.ena = !E_WR;
|
||||||
|
SCR_ENA.d = !(VAI19 or ZX_SCREEN);
|
||||||
|
|
||||||
|
E_WRD = DFF(E_WR,CLK42,,);
|
||||||
|
E_WR = LCELL(WR or !(VAI19 or ZX_SCREEN) or !DFF(WR,CLK42,,));
|
||||||
|
-- E_WR = LCELL(WR or !DFF(WR,CLK42,,));
|
||||||
|
|
||||||
|
-- ****************************************************
|
||||||
|
|
||||||
|
IF MODE == "SPRINTER" GENERATE
|
||||||
|
|
||||||
|
-- VAI[19] - switch adress mode 1 - graf mode, 0 - spectrum mode
|
||||||
|
|
||||||
|
-- MXWE = DFF(((DFF(E_WR,CLK42,,) or SCR_ENA) & MXWE),CLK42,,V_WE);
|
||||||
|
MXWE = DFF(MXWE,CLK42,E_WR,V_WE);
|
||||||
|
|
||||||
|
IF VAI[19] THEN
|
||||||
|
-- in graf mode all 256k(512k) range
|
||||||
|
VXA[] = VAI[];
|
||||||
|
ELSE
|
||||||
|
-- in spectrum mode 8k/16k range pages
|
||||||
|
VXA[] = (GND,GND,VAI[7..0],ZXS[4..1],LCELL(ZXS0 xor ZXA15 xor VAI13),VAI[12..8]);
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
-- BORD = DFF((MODE0[7..4] == 15),WR_PIC,,);
|
||||||
|
-- BLANK = DFF((BORD & MODE03 & MODE02),WR_PIC,,);
|
||||||
|
-- INTTX = DFF((BORD & MODE03 & MODE02 & MODE00),WR_PIC,,);
|
||||||
|
|
||||||
|
BORD = DFF((MODE0[7..4] == 15),LWR_COL,,);
|
||||||
|
BLANK = DFF(((BORD & MODE03 & MODE02) or DIR_PORT4),LWR_COL,,);
|
||||||
|
INTTX = DFF((BORD & MODE03 & MODE02 & MODE00),LWR_COL,,);
|
||||||
|
|
||||||
|
INTT = DFF(!(INTTX & (CTV[2..0] == 7)),CT5,,);
|
||||||
|
|
||||||
|
-- INTT = DFF((INTTX or DFF(INTTX,CT5,,)),CT5,,);
|
||||||
|
-- INTT = DFF(!(BLANK & (CTV[2..0] == 7)),CLK42,,MODE0[0]);
|
||||||
|
|
||||||
|
CASE CT[2..0] IS
|
||||||
|
WHEN B"110" => VCM[2..0].d = 5; -- 110 -> 101 6 -> 5
|
||||||
|
WHEN B"000" => VCM[2..0].d = 1; -- 000 -> 001 0 -> 1
|
||||||
|
WHEN B"001" => VCM[2..0].d = 4; -- 001 -> 100 1 -> 4
|
||||||
|
WHEN B"010" => VCM[2..0].d = 3; -- 010 -> 011 2 -> 3
|
||||||
|
WHEN B"100" => VCM[2..0].d = 2; -- 100 -> 010 4 -> 2
|
||||||
|
WHEN B"101" => VCM[2..0].d = 0; -- 101 -> 000 5 -> 0
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
CASE VCM[1..0] IS
|
||||||
|
WHEN 0 =>
|
||||||
|
VLA[].d = (BRVA[7..0],VCC,VCC,VCC,VCC,VCC,RBRVA[10..8],GND,GND);
|
||||||
|
V_CST[].d = (VCC,GND);
|
||||||
|
V_WE.d = VCC;
|
||||||
|
V_WEX.d = VCC;
|
||||||
|
|
||||||
|
TSN_W3.d = X_MODE_BOND;
|
||||||
|
%
|
||||||
|
IF VCM2 THEN
|
||||||
|
-- TSN_W3.d = X_MODE5;
|
||||||
|
TSN_W3.d = X_MODE_BOND;
|
||||||
|
-- V_CST[].d = (VCC,X_MODE5);
|
||||||
|
ELSE
|
||||||
|
TSN_W3.d = X_MODE_BOND;
|
||||||
|
-- V_CST[].d = (VCC,X_MODE_BOND);
|
||||||
|
END IF;
|
||||||
|
%
|
||||||
|
|
||||||
|
WHEN 1 =>
|
||||||
|
WR_PIC.d = !VCM2;
|
||||||
|
WR_COL.d = VCM2;
|
||||||
|
VLA[].d = SVA[];
|
||||||
|
V_CST[].d = (VCC,GND);
|
||||||
|
V_WE.d = VCC;
|
||||||
|
V_WEX.d = VCC;
|
||||||
|
WHEN 2 =>
|
||||||
|
VLA[].d = VXA[17..0];
|
||||||
|
V_CST[].d = (!VXA18,VXA18) or MXWE;
|
||||||
|
V_WE.d = MXWE;
|
||||||
|
V_WEX.d = GND;
|
||||||
|
V_WET[].d = MXWE or !((!VXA1 & !VXA0),(!VXA1 & VXA0),(VXA1 & !VXA0),(VXA1 & VXA0));
|
||||||
|
WHEN 3 =>
|
||||||
|
-- WR_PIC.d = X_MODE5;
|
||||||
|
-- NEW 26.08.2022, fix bug with first column
|
||||||
|
-- it was reproducing when changes mode 320 -> 640, like any 320px screen squares -> text mode squares
|
||||||
|
WR_PIC.d = MODE0[5];
|
||||||
|
VLA[].d = (DIR_PORT3,CTH[5..0],CT5,VCC,VCC,CTV[8..3],GND,GND);
|
||||||
|
WR_MODE.d = !(CT[5..3] == B"111") & !(CT4 & CT3 & !MODE0[5]);
|
||||||
|
V_CST[].d = (VCC,GND);
|
||||||
|
V_WE.d = VCC;
|
||||||
|
V_WEX.d = VCC;
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- choose V-RAM komplect
|
||||||
|
|
||||||
|
V_CST1.prn = GND;
|
||||||
|
-- V_CS0.clrn = GND;
|
||||||
|
V_CST0.prn = (LCELL(DFF(GND,!CLK42,,!V_CST0)));
|
||||||
|
V_CS1 = VCC;
|
||||||
|
-- V_CS0 = LCELL(V_CST0);
|
||||||
|
|
||||||
|
V_CSX0 = LCELL(!CLK42);
|
||||||
|
V_CSX1 = LCELL(V_CSX0);
|
||||||
|
V_CSX2 = LCELL(V_CSX1 & V_CSX0);
|
||||||
|
V_CSX3 = LCELL(V_CSX2);
|
||||||
|
|
||||||
|
-- V_CS0 = V_CSX3;
|
||||||
|
V_CS0 = GND;
|
||||||
|
|
||||||
|
-- =====================
|
||||||
|
|
||||||
|
SVA[].clk = CLK42;
|
||||||
|
SVA[9..6] = MODE0[3..0];
|
||||||
|
-- RSVA[].clk = CLK42;
|
||||||
|
(SVA[12..10],SVA[5..0]) = RSVA[];
|
||||||
|
|
||||||
|
-- M_CTV[2..0].clk = CLK42;
|
||||||
|
-- M_CT[5..3].clk = CLK42;
|
||||||
|
M_CTV[2..0] = (!MODE2[2] & CTV[2..0]) or MODE2[2] & (MODE2[1],CTV[2..1]);
|
||||||
|
M_CT[5..3] = (!MODE2[2] & (CT[5],!CT[4..3])) or MODE2[2] & (MODE2[0],!CT[5..4]);
|
||||||
|
|
||||||
|
CASE (!VCM2,MODE0[4]) IS
|
||||||
|
-- CASE (!VCM1,MODE0[4]) IS
|
||||||
|
WHEN B"X0" =>
|
||||||
|
-- Graf adress --
|
||||||
|
RSVA[] = (M_CTV[2..0],MODE1[2..0],M_CT[5..3]);
|
||||||
|
SVA[17..13] = MODE1[7..3];
|
||||||
|
|
||||||
|
-- SVA[12..10] = CTV[2..0];
|
||||||
|
-- SVA[5..0] = (MODE1[2..0],CT5,!CT[4..3]);
|
||||||
|
WHEN B"01" =>
|
||||||
|
-- ZX-atr adress --
|
||||||
|
RSVA[] = (MODE2[2..0],SCR128,VCC,VCC,GND,!MODE0[7..6]);
|
||||||
|
SVA[17..13] = MODE2[7..3];
|
||||||
|
|
||||||
|
-- SVA[12..10] = MODE2[2..0];
|
||||||
|
-- SVA[5..0] = (SCR128,VCC,VCC,GND,!MODE0[7..6]);
|
||||||
|
WHEN B"11" =>
|
||||||
|
-- ZX-pic adress --
|
||||||
|
RSVA[] = (MODE1[2..0],SCR128,MODE0[7..6],CTV2,!CTV1,!CTV0);
|
||||||
|
SVA[17..13] = MODE1[7..3];
|
||||||
|
|
||||||
|
-- SVA[12..10] = MODE1[2..0];
|
||||||
|
-- SVA[5..0] = (SCR128,MODE0[7..6],CTV2,!CTV1,!CTV0);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- X_MODE_BOND = LCELL(LCELL(DCOL[7..4] == 15) & LCELL(DCOL[3..0] == 15) & DFF((MODE0[7] & MODE0[5] & !MODE0[4]),LWR_COL,VCC,VCC));
|
||||||
|
X_MODE_BOND = GND;
|
||||||
|
|
||||||
|
-- LD_PIC = LCELL((MODE0[5] & DFF((CT[5..3] == B"000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
||||||
|
LD_PIC = LCELL((MODE0[5] & DFF((CT[5..3] == B"000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
||||||
|
|
||||||
|
|
||||||
|
-- CASE (DFF(VLA1,!CLK42,,),DFF(VLA0,!CLK42,,)) IS
|
||||||
|
|
||||||
|
-- D_PIC0_[].clk = !CLK42;
|
||||||
|
-- D_PIC1_[].clk = !CLK42;
|
||||||
|
-- D_PIC2_[].clk = !CLK42;
|
||||||
|
-- D_PIC3_[].clk = !CLK42;
|
||||||
|
|
||||||
|
-- PIC_CLK = LCELL(LCELL(CLK42));
|
||||||
|
PIC_CLK = !CLK42;
|
||||||
|
|
||||||
|
D_PIC0_[].clk = PIC_CLK;
|
||||||
|
D_PIC1_[].clk = PIC_CLK;
|
||||||
|
D_PIC2_[].clk = PIC_CLK;
|
||||||
|
D_PIC3_[].clk = PIC_CLK;
|
||||||
|
|
||||||
|
D_PIC0_[] = VDM0[];
|
||||||
|
D_PIC1_[] = VDM1[];
|
||||||
|
D_PIC2_[] = VDM2[];
|
||||||
|
D_PIC3_[] = VDM3[];
|
||||||
|
|
||||||
|
CASE (DFF(VLA1,CLK42,,),DFF(VLA0,CLK42,,)) IS
|
||||||
|
WHEN 0 => D_PICX_[] = D_PIC0_[];
|
||||||
|
WHEN 1 => D_PICX_[] = D_PIC1_[];
|
||||||
|
WHEN 2 => D_PICX_[] = D_PIC2_[];
|
||||||
|
WHEN 3 => D_PICX_[] = D_PIC3_[];
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
MODE0[].ena = VCC;
|
||||||
|
MODE1[].ena = VCC;
|
||||||
|
MODE2[].ena = VCC;
|
||||||
|
MODE0[].clk = LWR_MODE;
|
||||||
|
MODE1[].clk = LWR_MODE;
|
||||||
|
MODE2[].clk = LWR_MODE;
|
||||||
|
MODE0[].d = VDM3[];
|
||||||
|
MODE1[].d = VDM2[];
|
||||||
|
MODE2[].d = VDM1[];
|
||||||
|
LWR_MODE = LCELL(LCELL(WR_MODE));
|
||||||
|
%
|
||||||
|
MODE0[].ena = LWR_MODE;
|
||||||
|
MODE1[].ena = LWR_MODE;
|
||||||
|
MODE2[].ena = LWR_MODE;
|
||||||
|
MODE0[].clk = CLK42;
|
||||||
|
MODE1[].clk = CLK42;
|
||||||
|
MODE2[].clk = CLK42;
|
||||||
|
MODE0[].d = D_PIC3_[];
|
||||||
|
MODE1[].d = D_PIC2_[];
|
||||||
|
MODE2[].d = D_PIC1_[];
|
||||||
|
LWR_MODE = DFF(!WR_MODE,CLK42,,);
|
||||||
|
%
|
||||||
|
X_MODE7 = DFF(MODE0[7],LWR_COL,,);
|
||||||
|
X_MODE6 = DFF(MODE0[6],LWR_COL,,);
|
||||||
|
X_MODE5 = DFF(MODE0[5],LWR_COL,,);
|
||||||
|
X_MODE4 = DFF(MODE0[4],LWR_COL,,);
|
||||||
|
|
||||||
|
VAO[] = VLA[17..2];
|
||||||
|
|
||||||
|
WR_PIC.clk = CLK42;
|
||||||
|
WR_COL.clk = CLK42;
|
||||||
|
WR_MODE.clk = CLK42;
|
||||||
|
|
||||||
|
-- LWR_PIC = LCELL(LCELL(WR_PIC));
|
||||||
|
-- LWR_COL = LCELL(LCELL(WR_COL));
|
||||||
|
-- LWR_PIC = LCELL(WR_PIC);
|
||||||
|
-- LWR_COL = LCELL(WR_COL);
|
||||||
|
LWR_PIC = DFF(WR_PIC,CLK42,,);
|
||||||
|
LWR_COL = DFF(WR_COL,CLK42,,);
|
||||||
|
|
||||||
|
-- D_PIC0[].ena = VCC;
|
||||||
|
-- D_PIC0[].clk = (LWR_PIC);
|
||||||
|
D_PIC0[].ena = !LWR_PIC;
|
||||||
|
D_PIC0[].clk = CLK42;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
IF LD_PIC THEN
|
||||||
|
-- D_PIC0[] = D_PIC0_[];
|
||||||
|
D_PIC0[] = D_PICX_[];
|
||||||
|
ELSE
|
||||||
|
D_PIC0[] = (D_PIC0[6..0],GND);
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
|
||||||
|
-- DCOL[].clk = (LWR_COL);
|
||||||
|
DCOL[].ena = !LWR_COL;
|
||||||
|
DCOL[].clk = CLK42;
|
||||||
|
|
||||||
|
IF DFF((MODE0[7..4] == 15),WR_PIC,,) THEN
|
||||||
|
DCOL[].d = (B"00",BRD[2..0],BRD[2..0]);
|
||||||
|
ELSE
|
||||||
|
-- DCOL[].d = D_PIC0_[];
|
||||||
|
DCOL[].d = D_PICX_[];
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
DCOL[].clrn = !BLANK;
|
||||||
|
|
||||||
|
BRVA[].clk = CLK42;
|
||||||
|
BRVA[].clrn = !MS_POINT;
|
||||||
|
BRVA[].prn = !MS_POINT2;
|
||||||
|
|
||||||
|
-- MODE0[4] - graph / text
|
||||||
|
-- MODE0[5] - 320 / 640 resolution
|
||||||
|
|
||||||
|
-- CASE (LCELL(X_MODE4 or X_MODE5),CT2) IS
|
||||||
|
CASE (DFF((MODE0[4] or MODE0[5]),LWR_COL,,),CT2) IS
|
||||||
|
WHEN B"1X" => BRVA[7..0] = DCOL[];
|
||||||
|
WHEN B"01" => BRVA[7..0] = (B"0000",DCOL[7..4]);
|
||||||
|
WHEN B"00" => BRVA[7..0] = (B"0000",DCOL[3..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- BRVA[10..8] = (x_mode4,RBRVA[9..8]);
|
||||||
|
RBRVA[].clk = CLK42;
|
||||||
|
|
||||||
|
CASE (BORD,X_MODE4) IS
|
||||||
|
WHEN B"X0" => RBRVA[10..8].d = (GND,X_MODE[7..6]);
|
||||||
|
WHEN B"X1" => RBRVA[10..8].d = (VCC,(CTF4 & !BLANK),D_PIC0[7]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
RBRVA[9..8].clrn = !BORD;
|
||||||
|
RBRVA[10].prn = !BORD;
|
||||||
|
|
||||||
|
CASE (RBRVA[9..8],BRVA7) IS
|
||||||
|
WHEN 0,1,4,7 => ZX_COL[] = (BRVA[6],BRVA[5..3]);
|
||||||
|
WHEN 2,3,6,5 => ZX_COL[] = (BRVA[6],BRVA[2..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- V_WET[].prn = LCELL(DFF(GND,!CLK42,,!V_WE));
|
||||||
|
-- V_WE.prn = LCELL(DFF(GND,!CLK42,,!V_WE));
|
||||||
|
|
||||||
|
V_WE_R = DFF(GND,!CLK42,,!V_WE);
|
||||||
|
V_WE.prn = V_WE_R;
|
||||||
|
V_WET[].prn = V_WE_R;
|
||||||
|
|
||||||
|
-- V_WR[] = LCELL(V_WE) or !((!VXA1 & !VXA0),(!VXA1 & VXA0),(VXA1 & !VXA0),(VXA1 & VXA0));
|
||||||
|
|
||||||
|
-- V_WR[] = (V_WE) or !(
|
||||||
|
|
||||||
|
V_WEX.clk = CLK42;
|
||||||
|
-- V_WEX.d = V_WE;
|
||||||
|
-- V_WEX.prn = (DFF(GND,CLK42,,!V_WEX));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
V_WEMMM = LCELL(V_WE);
|
||||||
|
-- V_WEMMN = LCELL(V_WEMMM); -- bios ok, fn ok, fnf1 failed, zx almost ok
|
||||||
|
-- V_WEMMO = LCELL(V_WEMMN); -- green arts
|
||||||
|
-- V_WEMMP = LCELL(V_WEMMO); -- blue + pink arts
|
||||||
|
-- V_WEMMR = LCELL(V_WEMMP); -- no F1 issue, but red arts (fix by finger, not enough capacity??)
|
||||||
|
-- V_WEMMS = LCELL(V_WEMMR);
|
||||||
|
-- V_WEMMT = LCELL(V_WEMMS);
|
||||||
|
-- V_WEMMU = LCELL(V_WEMMT);
|
||||||
|
-- V_WEMMV = LCELL(V_WEMMU);
|
||||||
|
-- V_WEMMW = LCELL(V_WEMMV);
|
||||||
|
-- V_WEMMX = LCELL(V_WEMMW);
|
||||||
|
-- V_WEMMY = LCELL(V_WEMMX);
|
||||||
|
-- V_WEMMZ = LCELL(V_WEMMY);
|
||||||
|
|
||||||
|
V_WRM = LCELL(V_WE or V_WEMMM);
|
||||||
|
|
||||||
|
|
||||||
|
-- V_WRM = LCELL(V_WEMMN or V_WEMMM);
|
||||||
|
-- V_WRM2 = LCELL(V_WEMMN or V_WEMMM);
|
||||||
|
-- V_WRM2 = LCELL(V_WEMMR);
|
||||||
|
-- V_WRM = LCELL(V_WEMMM or V_WEMMN);
|
||||||
|
-- V_WRM2 = LCELL(V_WEMMM or V_WEMMN);
|
||||||
|
|
||||||
|
V_WEM = (V_WE);
|
||||||
|
|
||||||
|
-- V_WEM2 = LCELL(V_WE);
|
||||||
|
-- V_WEM = LCELL(V_WEMMM & V_WEMMN);
|
||||||
|
-- V_WEM2 = LCELL(V_WEMMM & V_WEMMO);
|
||||||
|
|
||||||
|
--- LWR_COL = DFF(WR_COL,CLK42,,);
|
||||||
|
F_WR = (LCELL(LCELL(LCELL(LCELL(DFF(VCC,V_WE,,))))));
|
||||||
|
--- F_WR = DFF(V_WE,CLK42,,);
|
||||||
|
V_WEMMZ = LCELL(CLK42);
|
||||||
|
V_EN3 = (DFF(!(!VXA1 & LCELL(!VXA0 or DOUBLE)), V_WEMMZ, F_WR,));
|
||||||
|
V_EN2 = (DFF(!(!VXA1 & LCELL(VXA0 or DOUBLE)), V_WEMMZ, F_WR,));
|
||||||
|
V_EN1 = (DFF(!(VXA1 & LCELL(!VXA0 or DOUBLE)), V_WEMMZ, F_WR,));
|
||||||
|
V_EN0 = (DFF(!(VXA1 & LCELL(VXA0 or DOUBLE)), V_WEMMZ, F_WR,));
|
||||||
|
|
||||||
|
|
||||||
|
-- V_WR_3 = LCELL(V_WRM or V_EN3);
|
||||||
|
-- V_WR_2 = LCELL(V_WRM or V_EN2);
|
||||||
|
-- V_WR_1 = LCELL(V_WRM or V_EN1);
|
||||||
|
-- V_WR_0 = LCELL(V_WRM or V_EN0);
|
||||||
|
V_WR_3 = LCELL(LCELL(LCELL(LCELL(V_WE or V_EN3))));
|
||||||
|
V_WR_2 = LCELL(LCELL(LCELL(LCELL(V_WE or V_EN2))));
|
||||||
|
V_WR_1 = LCELL(LCELL(LCELL(LCELL(V_WE or V_EN1))));
|
||||||
|
V_WR_0 = LCELL(LCELL(LCELL(LCELL(V_WE or V_EN0))));
|
||||||
|
|
||||||
|
V_WEY3 = LCELL(V_WE or V_EN3);
|
||||||
|
V_WEY2 = LCELL(V_WE or V_EN2);
|
||||||
|
V_WEY1 = LCELL(V_WE or V_EN1);
|
||||||
|
V_WEY0 = LCELL(V_WE or V_EN0);
|
||||||
|
|
||||||
|
V_WR[] = V_WR_[]; -- V_WR0-3
|
||||||
|
V_WEN[] = V_WEY[]; -- VD0-3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%
|
||||||
|
V_WEMMM = LCELL(V_WE);
|
||||||
|
V_WEMMN = LCELL(V_WEMMM);
|
||||||
|
V_WEMMO = LCELL(V_WEMMN);
|
||||||
|
V_WEMM = LCELL(V_WEMMO);
|
||||||
|
|
||||||
|
V_WRM = LCELL(V_WEMMN & V_WEMMM);
|
||||||
|
V_WRM2 = LCELL(V_WEMMN & V_WEMMM);
|
||||||
|
|
||||||
|
V_WEM = LCELL(V_WEMMM & V_WEMMO);
|
||||||
|
V_WEM2 = LCELL(V_WEMMM & V_WEMMO);
|
||||||
|
|
||||||
|
V_EN3 = DFF(!(!VXA1 & (!VXA0 or DOUBLE)),CLK42,F_WR,);
|
||||||
|
V_EN2 = DFF(!(!VXA1 & (VXA0 or DOUBLE)) ,CLK42,F_WR,);
|
||||||
|
V_EN1 = DFF(!(VXA1 & (!VXA0 or DOUBLE)) ,CLK42,F_WR,);
|
||||||
|
V_EN0 = DFF(!(VXA1 & (VXA0 or DOUBLE)) ,CLK42,F_WR,);
|
||||||
|
|
||||||
|
F_WR = DFF(VCC,V_WE,,);
|
||||||
|
|
||||||
|
V_WR_3 = V_WRM or V_EN3;
|
||||||
|
V_WR_2 = V_WRM2 or V_EN2;
|
||||||
|
V_WR_1 = V_WRM or V_EN1;
|
||||||
|
V_WR_0 = V_WRM or V_EN0;
|
||||||
|
|
||||||
|
V_WEY3 = V_WEM or V_EN3;
|
||||||
|
V_WEY2 = V_WEM2 or V_EN2;
|
||||||
|
V_WEY1 = V_WEM or V_EN1;
|
||||||
|
V_WEY0 = V_WEM or V_EN0;
|
||||||
|
|
||||||
|
V_WR[] = V_WR_[];
|
||||||
|
V_WEN[] = V_WEY[];
|
||||||
|
%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- CLK84 = LCELL(CLK42 xor CLK84_X);
|
||||||
|
-- CLK84_X = DFF(!CLK84_X,CLK84,,);
|
||||||
|
-- CLK84_Y = CLK84;
|
||||||
|
|
||||||
|
END GENERATE; -- end "sprinter" mode
|
||||||
|
|
||||||
|
|
||||||
|
END;
|
||||||
783
src/altera/acex/k30/VIDEO2_T2_dip_stable.TDF
Normal file
783
src/altera/acex/k30/VIDEO2_T2_dip_stable.TDF
Normal file
@ -0,0 +1,783 @@
|
|||||||
|
|
||||||
|
TITLE "Video-controller";
|
||||||
|
|
||||||
|
INCLUDE "lpm_ram_dp";
|
||||||
|
|
||||||
|
PARAMETERS
|
||||||
|
(
|
||||||
|
MODE = "SPRINTER",
|
||||||
|
MOUSE = "NO",
|
||||||
|
HOR_PLACE = H"50",
|
||||||
|
VER_PLACE = H"91" -- 122h/2
|
||||||
|
);
|
||||||
|
|
||||||
|
SUBDESIGN video2
|
||||||
|
(
|
||||||
|
CLK42 : INPUT;
|
||||||
|
|
||||||
|
CT[5..0] : OUTPUT;
|
||||||
|
CTH[5..0] : OUTPUT;
|
||||||
|
CTV[8..0] : OUTPUT;
|
||||||
|
CTF[6..0] : OUTPUT;
|
||||||
|
|
||||||
|
BLANK : OUTPUT;
|
||||||
|
|
||||||
|
START_UP : INPUT;
|
||||||
|
COPY_SINC_H : INPUT;
|
||||||
|
COPY_SINC_V : INPUT;
|
||||||
|
|
||||||
|
WR : INPUT;
|
||||||
|
|
||||||
|
VAI[19..0] : INPUT; -- input screen adress
|
||||||
|
|
||||||
|
VAO[15..0] : OUTPUT;
|
||||||
|
|
||||||
|
D[7..0] : INPUT;
|
||||||
|
MDI[15..0] : INPUT;
|
||||||
|
|
||||||
|
VDO0[7..0] : OUTPUT;
|
||||||
|
VDO1[7..0] : OUTPUT;
|
||||||
|
VDO2[7..0] : OUTPUT;
|
||||||
|
VDO3[7..0] : OUTPUT;
|
||||||
|
|
||||||
|
VDM0[7..0] : INPUT;
|
||||||
|
VDM1[7..0] : INPUT;
|
||||||
|
VDM2[7..0] : INPUT;
|
||||||
|
VDM3[7..0] : INPUT;
|
||||||
|
|
||||||
|
V_WR[3..0] : OUTPUT;
|
||||||
|
V_WEN[3..0] : OUTPUT;
|
||||||
|
|
||||||
|
V_CS[1..0] : OUTPUT;
|
||||||
|
WR_PIX : OUTPUT;
|
||||||
|
|
||||||
|
-- ZX_COLOR[3..0] : OUTPUT;
|
||||||
|
|
||||||
|
ZX_PORT[7..0] : INPUT;
|
||||||
|
DIR_PORT[7..0] : INPUT;
|
||||||
|
|
||||||
|
%
|
||||||
|
bit0 - Spectrum SCREEN Switch
|
||||||
|
bit1 - Spectrum Adress MODE
|
||||||
|
bit2 - Write to Spectrum Screen OFF
|
||||||
|
bit3 - MODE page 0/1
|
||||||
|
bit4 - MODE on/off screen
|
||||||
|
|
||||||
|
bit7..5 - Border
|
||||||
|
%
|
||||||
|
|
||||||
|
INTT : OUTPUT;
|
||||||
|
|
||||||
|
DOUBLE_CAS : INPUT;
|
||||||
|
|
||||||
|
MOUSE_X[9..0] : INPUT;
|
||||||
|
MOUSE_Y[9..0] : INPUT;
|
||||||
|
|
||||||
|
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
|
||||||
|
-- CLK84 : NODE;
|
||||||
|
-- CLK84_X : NODE;
|
||||||
|
-- CLK84_Y : NODE;
|
||||||
|
|
||||||
|
ZX_COLOR[3..0] : NODE;
|
||||||
|
|
||||||
|
CT[5..0] : DFFE;
|
||||||
|
CTH[5..0] : DFFE;
|
||||||
|
CTV[8..0] : DFFE;
|
||||||
|
CTF[6..0] : DFF;
|
||||||
|
|
||||||
|
VXA[19..0] : DFFE;
|
||||||
|
|
||||||
|
VXD0[7..0] : DFFE;
|
||||||
|
VXD1[7..0] : DFFE;
|
||||||
|
VXD2[7..0] : DFFE;
|
||||||
|
VXD3[7..0] : DFFE;
|
||||||
|
|
||||||
|
E_WR : NODE;
|
||||||
|
E_WRD : NODE;
|
||||||
|
|
||||||
|
BLANK : NODE;
|
||||||
|
BORD : NODE;
|
||||||
|
-- INTT_T : NODE;
|
||||||
|
INTTX : NODE;
|
||||||
|
|
||||||
|
VLA[17..0] : DFF;
|
||||||
|
-- SVA[17..0] : NODE;
|
||||||
|
SVA[17..0] : DFF;
|
||||||
|
-- RSVA[8..0] : LCELL;
|
||||||
|
RSVA[8..0] : NODE;
|
||||||
|
-- RSVA[8..0] : DFF;
|
||||||
|
|
||||||
|
V_CST[1..0] : DFF;
|
||||||
|
VCM[2..0] : DFF;
|
||||||
|
TSN_W3 : DFF;
|
||||||
|
V_WE : DFF;
|
||||||
|
V_WEX : DFF;
|
||||||
|
|
||||||
|
V_WEM : NODE;
|
||||||
|
V_WEM2 : NODE;
|
||||||
|
V_WRM : NODE;
|
||||||
|
V_WRM2 : NODE;
|
||||||
|
%
|
||||||
|
V_WEMM : NODE;
|
||||||
|
V_WEMMM : NODE;
|
||||||
|
V_WEMMN : NODE;
|
||||||
|
V_WEMMO : NODE;
|
||||||
|
%
|
||||||
|
V_WEMM : NODE;
|
||||||
|
V_WEMMM : NODE;
|
||||||
|
V_WEMMN : NODE;
|
||||||
|
V_WEMMO : NODE;
|
||||||
|
V_WEMMP : NODE;
|
||||||
|
V_WEMMQ : NODE;
|
||||||
|
V_WEMMR : NODE;
|
||||||
|
V_WEMMS : NODE;
|
||||||
|
V_WEMMT : NODE;
|
||||||
|
V_WEMMU : NODE;
|
||||||
|
V_WEMMV : NODE;
|
||||||
|
V_WEMMW : NODE;
|
||||||
|
V_WEMMX : NODE;
|
||||||
|
V_WEMMY : NODE;
|
||||||
|
V_WEMMZ : NODE;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
V_WET[3..0] : DFF;
|
||||||
|
|
||||||
|
D_PIC0[7..0] : DFFE;
|
||||||
|
-- D_PIC0_[7..0] : LCELL;
|
||||||
|
|
||||||
|
D_PIC0_[7..0] : DFFE;
|
||||||
|
D_PIC1_[7..0] : DFFE;
|
||||||
|
D_PIC2_[7..0] : DFFE;
|
||||||
|
D_PIC3_[7..0] : DFFE;
|
||||||
|
|
||||||
|
D_PICX_[7..0] : NODE;
|
||||||
|
|
||||||
|
LWR_PIC : NODE;
|
||||||
|
LWR_COL : NODE;
|
||||||
|
|
||||||
|
WR_PIC : DFF;
|
||||||
|
WR_COL : DFF;
|
||||||
|
LD_PIC : NODE;
|
||||||
|
MXL: NODE;
|
||||||
|
MXR: NODE;
|
||||||
|
|
||||||
|
RBRVA[10..8]: DFF;
|
||||||
|
BRVA[7..0] : DFF;
|
||||||
|
DCOL[7..0] : DFFE;
|
||||||
|
|
||||||
|
MXWE : NODE;
|
||||||
|
-- MXCE : NODE;
|
||||||
|
|
||||||
|
AX128 : NODE;
|
||||||
|
|
||||||
|
BRD[2..0] : NODE;
|
||||||
|
|
||||||
|
ZX_COL[3..0] : LCELL;
|
||||||
|
|
||||||
|
ZXA15 : NODE;
|
||||||
|
ZXS[5..0] : NODE;
|
||||||
|
ZX_SCREEN : NODE;
|
||||||
|
SCR128 : NODE;
|
||||||
|
|
||||||
|
MODE0[7..0] : DFFE;
|
||||||
|
MODE1[7..0] : DFFE;
|
||||||
|
MODE2[7..0] : DFFE;
|
||||||
|
-- MODE3[7..0] : DFF;
|
||||||
|
|
||||||
|
WR_MODE : DFF;
|
||||||
|
LWR_MODE : NODE;
|
||||||
|
X_MODE[7..4]: NODE;
|
||||||
|
X_MODE_BOND : NODE;
|
||||||
|
|
||||||
|
-- M_CTV[2..0] : DFF;
|
||||||
|
-- M_CT[5..3] : DFF;
|
||||||
|
M_CTV[2..0] : LCELL;
|
||||||
|
M_CT[5..3] : LCELL;
|
||||||
|
|
||||||
|
DOUBLE : DFFE;
|
||||||
|
|
||||||
|
PIC_CLK : NODE;
|
||||||
|
|
||||||
|
MS_X[9..0] : DFF;
|
||||||
|
MS_Y[9..0] : DFF;
|
||||||
|
|
||||||
|
MS_POINT : NODE;
|
||||||
|
MS_POINT2 : NODE;
|
||||||
|
MS_PNT : NODE;
|
||||||
|
|
||||||
|
MS_DAT : LPM_RAM_DP WITH (LPM_WIDTH=16,LPM_WIDTHAD=8,LPM_FILE="MOUSE.MIF");
|
||||||
|
|
||||||
|
SCR_ENA : DFFE;
|
||||||
|
V_WR_[3..0] : LCELL;
|
||||||
|
V_WEY[3..0] : LCELL;
|
||||||
|
|
||||||
|
V_WE_R : NODE;
|
||||||
|
|
||||||
|
V_CSX[3..0] : NODE;
|
||||||
|
|
||||||
|
V_EN[3..0] : NODE;
|
||||||
|
|
||||||
|
F_WR : NODE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
DEFAULTS
|
||||||
|
WR_MODE.d = VCC; -- WR_MODE2.d = VCC; -- WR_MODE2X.d = VCC;
|
||||||
|
V_CST[].d = VCC; V_WR[] = VCC; TSN_W3.d = VCC;
|
||||||
|
V_WE.d = VCC; WR_COL.d = VCC; WR_PIC.d = VCC;
|
||||||
|
V_WET[].d = VCC;
|
||||||
|
END DEFAULTS;
|
||||||
|
|
||||||
|
ZX_COLOR[] = ZX_COL[];
|
||||||
|
|
||||||
|
-- === MOUSE counters ========
|
||||||
|
|
||||||
|
MS_X[].clk = !CT1;
|
||||||
|
CASE LCELL(CTH[5..2] == 12) IS
|
||||||
|
WHEN 0 => MS_X[] = MS_X[] + 1;
|
||||||
|
WHEN 1 => MS_X[] = (!MOUSE_X[9..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
MS_Y[].clk = !CTH5;
|
||||||
|
CASE LCELL(CTV8 & !CTV5 & CTV4) IS
|
||||||
|
WHEN 0 => MS_Y[] = MS_Y[] + 1;
|
||||||
|
WHEN 1 => MS_Y[] = (GND,!MOUSE_Y[8..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
MS_PNT = DFF(((MS_X[] == B"100000XXXX") & (MS_Y[] == B"100000XXXX")),CLK42,,);
|
||||||
|
|
||||||
|
MS_DAT.wren = GND;
|
||||||
|
MS_DAT.data[] = GND;
|
||||||
|
MS_DAT.wraddress[] = GND;
|
||||||
|
MS_DAT.wrclock = CLK42;
|
||||||
|
MS_DAT.wrclken = GND;
|
||||||
|
MS_DAT.rden = VCC;
|
||||||
|
MS_DAT.rdaddress[] = (MS_Y[3..0],MS_X[3..0]);
|
||||||
|
MS_DAT.rdclock = CLK42;
|
||||||
|
MS_DAT.rdclken = VCC;
|
||||||
|
|
||||||
|
IF MOUSE == "NO" GENERATE
|
||||||
|
MS_POINT = GND;
|
||||||
|
MS_POINT2 = GND;
|
||||||
|
ELSE GENERATE
|
||||||
|
MS_POINT = DFF((MS_PNT & MS_DAT.q0),CLK42,,);
|
||||||
|
MS_POINT2 = DFF((MS_PNT & MS_DAT.q1),CLK42,,);
|
||||||
|
END GENERATE;
|
||||||
|
|
||||||
|
-- === Sinc-counts GENERATOR ============================================
|
||||||
|
|
||||||
|
-- CT[].clrn = START_UP;
|
||||||
|
|
||||||
|
-- (,CTH[5..0].clrn,CT[5].clrn) = !COPY_SINC_H or HOR_PLACE;
|
||||||
|
-- (,CTH[5..0].prn ,CT[5].prn ) = !COPY_SINC_H or !HOR_PLACE;
|
||||||
|
|
||||||
|
-- CTV[].clrn = !COPY_SINC_V or VER_PLACE;
|
||||||
|
-- CTV[].prn = !COPY_SINC_V or !VER_PLACE;
|
||||||
|
|
||||||
|
CT[5].clrn = !COPY_SINC_H;
|
||||||
|
|
||||||
|
-- set CTH to 50 (32h)
|
||||||
|
CTH[0].clrn = !COPY_SINC_H;
|
||||||
|
CTH[1].prn = !COPY_SINC_H;
|
||||||
|
CTH[2].clrn = !COPY_SINC_H;
|
||||||
|
CTH[3].clrn = !COPY_SINC_H;
|
||||||
|
CTH[4].prn = !COPY_SINC_H;
|
||||||
|
CTH[5].prn = !COPY_SINC_H;
|
||||||
|
|
||||||
|
-- set CTV to 122h
|
||||||
|
CTV[0].clrn = !COPY_SINC_V;
|
||||||
|
CTV[1].prn = !COPY_SINC_V;
|
||||||
|
CTV[3..2].clrn = !COPY_SINC_V;
|
||||||
|
|
||||||
|
CTV[4].clrn = !COPY_SINC_V;
|
||||||
|
CTV[5].prn = !COPY_SINC_V;
|
||||||
|
CTV[7..6].clrn = !COPY_SINC_V;
|
||||||
|
CTV[8].prn = !COPY_SINC_V;
|
||||||
|
|
||||||
|
CT[5..0].clk = CLK42;
|
||||||
|
CTH[5..0].clk = CLK42;
|
||||||
|
CTV[8..0].clk = CLK42;
|
||||||
|
|
||||||
|
CT[2..0].ena = VCC;
|
||||||
|
|
||||||
|
CASE CT[2..0] IS
|
||||||
|
WHEN 0 => CT[2..0] = 1;
|
||||||
|
WHEN 1 => CT[2..0] = 2;
|
||||||
|
WHEN 2 => CT[2..0] = 4;
|
||||||
|
WHEN 3 => CT[2..0] = 4;
|
||||||
|
WHEN 4 => CT[2..0] = 5;
|
||||||
|
WHEN 5 => CT[2..0] = 6;
|
||||||
|
WHEN 6 => CT[2..0] = 0;
|
||||||
|
WHEN 7 => CT[2..0] = 0;
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- for remove sinc jitter
|
||||||
|
-- CT[5..3].ena = DFF(((CT0 & CT2) or (COPY_SINC_H & !CT4)),CLK42,,);
|
||||||
|
CT[5..3].ena = DFF((CT0 & CT2),CLK42,,);
|
||||||
|
CT[5..3] = CT[5..3]+1;
|
||||||
|
%
|
||||||
|
CASE CT[4..3] IS
|
||||||
|
WHEN 0 => CT[5..3] = CT[5..3]+1;
|
||||||
|
WHEN 1 => CT[5..3] = CT[5..3]+1;
|
||||||
|
WHEN 2 => CT[5..3] = CT[5..3]+1;
|
||||||
|
WHEN 3 => CT[5..3] = CT[5..3]+1;
|
||||||
|
END CASE;
|
||||||
|
%
|
||||||
|
CTH[].ena = DFF(((CT[5..2] == 15) & CT0),CLK42,,);
|
||||||
|
CTV[].ena = DFF(((CT[5..2] == 15) & CT0 & (CTH[] == 48)),CLK42,,);
|
||||||
|
|
||||||
|
IF CTH[] == 55 THEN
|
||||||
|
CTH[] = GND;
|
||||||
|
ELSE
|
||||||
|
CTH[] = CTH[] + 1;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF CTV[] == 319 THEN
|
||||||
|
CTV[] = GND;
|
||||||
|
ELSE
|
||||||
|
CTV[] = CTV[] + 1;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
CTF[].clk = CTV8;
|
||||||
|
CTF[] = CTF[]+1;
|
||||||
|
|
||||||
|
-- ==== Video ==========================================================
|
||||||
|
|
||||||
|
ZXS[] = ZX_PORT[5..0]; -- pages ZX Screens
|
||||||
|
ZX_SCREEN = ZX_PORT6; -- enable ZX Screen write
|
||||||
|
ZXA15 = ZX_PORT7; -- ZX A15' line
|
||||||
|
|
||||||
|
SCR128 = DIR_PORT0;
|
||||||
|
|
||||||
|
-- WR_PIX = LCELL(TSN_W3);
|
||||||
|
WR_PIX = TSN_W3;
|
||||||
|
|
||||||
|
DOUBLE.clk = CLK42; DOUBLE.ena = !E_WR; DOUBLE = DOUBLE_CAS;
|
||||||
|
VXA[].clk = CLK42; VXA[].ena = !E_WR;
|
||||||
|
|
||||||
|
VXD0[].clk = CLK42; VXD0[].ena = !E_WRD; VDO0[] = VXD0[];
|
||||||
|
VXD1[].clk = CLK42; VXD1[].ena = !E_WRD; VDO1[] = VXD1[];
|
||||||
|
VXD2[].clk = CLK42; VXD2[].ena = !E_WRD; VDO2[] = VXD2[];
|
||||||
|
VXD3[].clk = CLK42; VXD3[].ena = !E_WRD; VDO3[] = VXD3[];
|
||||||
|
|
||||||
|
-- VXD0[] = D[];
|
||||||
|
-- VXD1[] = D[];
|
||||||
|
-- VXD2[] = D[];
|
||||||
|
-- VXD3[] = D[];
|
||||||
|
|
||||||
|
(VXD0[],VXD1[]) = MDI[];
|
||||||
|
(VXD2[],VXD3[]) = MDI[];
|
||||||
|
|
||||||
|
BRD[] = DIR_PORT[7..5];
|
||||||
|
|
||||||
|
VCM[].clk = CLK42;
|
||||||
|
TSN_W3.clk = CLK42;
|
||||||
|
V_CST[].clk = CLK42;
|
||||||
|
V_WE.clk = CLK42;
|
||||||
|
V_WET[].clk = CLK42;
|
||||||
|
VLA[].clk = CLK42;
|
||||||
|
|
||||||
|
SCR_ENA.clk = CLK42;
|
||||||
|
SCR_ENA.ena = !E_WR;
|
||||||
|
SCR_ENA.d = !(VAI19 or ZX_SCREEN);
|
||||||
|
|
||||||
|
E_WRD = DFF(E_WR,CLK42,,);
|
||||||
|
E_WR = LCELL(WR or !(VAI19 or ZX_SCREEN) or !DFF(WR,CLK42,,));
|
||||||
|
-- E_WR = LCELL(WR or !DFF(WR,CLK42,,));
|
||||||
|
|
||||||
|
-- ****************************************************
|
||||||
|
|
||||||
|
IF MODE == "SPRINTER" GENERATE
|
||||||
|
|
||||||
|
-- VAI[19] - switch adress mode 1 - graf mode, 0 - spectrum mode
|
||||||
|
|
||||||
|
-- MXWE = DFF(((DFF(E_WR,CLK42,,) or SCR_ENA) & MXWE),CLK42,,V_WE);
|
||||||
|
MXWE = DFF(MXWE,CLK42,E_WR,V_WE);
|
||||||
|
|
||||||
|
IF VAI[19] THEN
|
||||||
|
-- in graf mode all 256k(512k) range
|
||||||
|
VXA[] = VAI[];
|
||||||
|
ELSE
|
||||||
|
-- in spectrum mode 8k/16k range pages
|
||||||
|
VXA[] = (GND,GND,VAI[7..0],ZXS[4..1],LCELL(ZXS0 xor ZXA15 xor VAI13),VAI[12..8]);
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
-- BORD = DFF((MODE0[7..4] == 15),WR_PIC,,);
|
||||||
|
-- BLANK = DFF((BORD & MODE03 & MODE02),WR_PIC,,);
|
||||||
|
-- INTTX = DFF((BORD & MODE03 & MODE02 & MODE00),WR_PIC,,);
|
||||||
|
|
||||||
|
BORD = DFF((MODE0[7..4] == 15),LWR_COL,,);
|
||||||
|
BLANK = DFF(((BORD & MODE03 & MODE02) or DIR_PORT4),LWR_COL,,);
|
||||||
|
INTTX = DFF((BORD & MODE03 & MODE02 & MODE00),LWR_COL,,);
|
||||||
|
|
||||||
|
INTT = DFF(!(INTTX & (CTV[2..0] == 7)),CT5,,);
|
||||||
|
|
||||||
|
-- INTT = DFF((INTTX or DFF(INTTX,CT5,,)),CT5,,);
|
||||||
|
-- INTT = DFF(!(BLANK & (CTV[2..0] == 7)),CLK42,,MODE0[0]);
|
||||||
|
|
||||||
|
CASE CT[2..0] IS
|
||||||
|
WHEN B"110" => VCM[2..0].d = 5; -- 110 -> 101 6 -> 5
|
||||||
|
WHEN B"000" => VCM[2..0].d = 1; -- 000 -> 001 0 -> 1
|
||||||
|
WHEN B"001" => VCM[2..0].d = 4; -- 001 -> 100 1 -> 4
|
||||||
|
WHEN B"010" => VCM[2..0].d = 3; -- 010 -> 011 2 -> 3
|
||||||
|
WHEN B"100" => VCM[2..0].d = 2; -- 100 -> 010 4 -> 2
|
||||||
|
WHEN B"101" => VCM[2..0].d = 0; -- 101 -> 000 5 -> 0
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
CASE VCM[1..0] IS
|
||||||
|
WHEN 0 =>
|
||||||
|
VLA[].d = (BRVA[7..0],VCC,VCC,VCC,VCC,VCC,RBRVA[10..8],GND,GND);
|
||||||
|
V_CST[].d = (VCC,GND);
|
||||||
|
V_WE.d = VCC;
|
||||||
|
V_WEX.d = VCC;
|
||||||
|
|
||||||
|
TSN_W3.d = X_MODE_BOND;
|
||||||
|
%
|
||||||
|
IF VCM2 THEN
|
||||||
|
-- TSN_W3.d = X_MODE5;
|
||||||
|
TSN_W3.d = X_MODE_BOND;
|
||||||
|
-- V_CST[].d = (VCC,X_MODE5);
|
||||||
|
ELSE
|
||||||
|
TSN_W3.d = X_MODE_BOND;
|
||||||
|
-- V_CST[].d = (VCC,X_MODE_BOND);
|
||||||
|
END IF;
|
||||||
|
%
|
||||||
|
|
||||||
|
WHEN 1 =>
|
||||||
|
WR_PIC.d = !VCM2;
|
||||||
|
WR_COL.d = VCM2;
|
||||||
|
VLA[].d = SVA[];
|
||||||
|
V_CST[].d = (VCC,GND);
|
||||||
|
V_WE.d = VCC;
|
||||||
|
V_WEX.d = VCC;
|
||||||
|
WHEN 2 =>
|
||||||
|
VLA[].d = VXA[17..0];
|
||||||
|
V_CST[].d = (!VXA18,VXA18) or MXWE;
|
||||||
|
V_WE.d = MXWE;
|
||||||
|
V_WEX.d = GND;
|
||||||
|
V_WET[].d = MXWE or !((!VXA1 & !VXA0),(!VXA1 & VXA0),(VXA1 & !VXA0),(VXA1 & VXA0));
|
||||||
|
WHEN 3 =>
|
||||||
|
-- WR_PIC.d = X_MODE5;
|
||||||
|
-- NEW 26.08.2022, fix bug with first column
|
||||||
|
-- it was reproducing when changes mode 320 -> 640, like any 320px screen squares -> text mode squares
|
||||||
|
WR_PIC.d = MODE0[5];
|
||||||
|
VLA[].d = (DIR_PORT3,CTH[5..0],CT5,VCC,VCC,CTV[8..3],GND,GND);
|
||||||
|
WR_MODE.d = !(CT[5..3] == B"111") & !(CT4 & CT3 & !MODE0[5]);
|
||||||
|
V_CST[].d = (VCC,GND);
|
||||||
|
V_WE.d = VCC;
|
||||||
|
V_WEX.d = VCC;
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- choose V-RAM komplect
|
||||||
|
|
||||||
|
V_CST1.prn = GND;
|
||||||
|
-- V_CS0.clrn = GND;
|
||||||
|
V_CST0.prn = (LCELL(DFF(GND,!CLK42,,!V_CST0)));
|
||||||
|
V_CS1 = VCC;
|
||||||
|
-- V_CS0 = LCELL(V_CST0);
|
||||||
|
|
||||||
|
V_CSX0 = LCELL(!CLK42);
|
||||||
|
V_CSX1 = LCELL(V_CSX0);
|
||||||
|
V_CSX2 = LCELL(V_CSX1 & V_CSX0);
|
||||||
|
V_CSX3 = LCELL(V_CSX2);
|
||||||
|
|
||||||
|
-- V_CS0 = V_CSX3;
|
||||||
|
V_CS0 = GND;
|
||||||
|
|
||||||
|
-- =====================
|
||||||
|
|
||||||
|
SVA[].clk = CLK42;
|
||||||
|
SVA[9..6] = MODE0[3..0];
|
||||||
|
-- RSVA[].clk = CLK42;
|
||||||
|
(SVA[12..10],SVA[5..0]) = RSVA[];
|
||||||
|
|
||||||
|
-- M_CTV[2..0].clk = CLK42;
|
||||||
|
-- M_CT[5..3].clk = CLK42;
|
||||||
|
M_CTV[2..0] = (!MODE2[2] & CTV[2..0]) or MODE2[2] & (MODE2[1],CTV[2..1]);
|
||||||
|
M_CT[5..3] = (!MODE2[2] & (CT[5],!CT[4..3])) or MODE2[2] & (MODE2[0],!CT[5..4]);
|
||||||
|
|
||||||
|
CASE (!VCM2,MODE0[4]) IS
|
||||||
|
-- CASE (!VCM1,MODE0[4]) IS
|
||||||
|
WHEN B"X0" =>
|
||||||
|
-- Graf adress --
|
||||||
|
RSVA[] = (M_CTV[2..0],MODE1[2..0],M_CT[5..3]);
|
||||||
|
SVA[17..13] = MODE1[7..3];
|
||||||
|
|
||||||
|
-- SVA[12..10] = CTV[2..0];
|
||||||
|
-- SVA[5..0] = (MODE1[2..0],CT5,!CT[4..3]);
|
||||||
|
WHEN B"01" =>
|
||||||
|
-- ZX-atr adress --
|
||||||
|
RSVA[] = (MODE2[2..0],SCR128,VCC,VCC,GND,!MODE0[7..6]);
|
||||||
|
SVA[17..13] = MODE2[7..3];
|
||||||
|
|
||||||
|
-- SVA[12..10] = MODE2[2..0];
|
||||||
|
-- SVA[5..0] = (SCR128,VCC,VCC,GND,!MODE0[7..6]);
|
||||||
|
WHEN B"11" =>
|
||||||
|
-- ZX-pic adress --
|
||||||
|
RSVA[] = (MODE1[2..0],SCR128,MODE0[7..6],CTV2,!CTV1,!CTV0);
|
||||||
|
SVA[17..13] = MODE1[7..3];
|
||||||
|
|
||||||
|
-- SVA[12..10] = MODE1[2..0];
|
||||||
|
-- SVA[5..0] = (SCR128,MODE0[7..6],CTV2,!CTV1,!CTV0);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- X_MODE_BOND = LCELL(LCELL(DCOL[7..4] == 15) & LCELL(DCOL[3..0] == 15) & DFF((MODE0[7] & MODE0[5] & !MODE0[4]),LWR_COL,VCC,VCC));
|
||||||
|
X_MODE_BOND = GND;
|
||||||
|
|
||||||
|
-- LD_PIC = LCELL((MODE0[5] & DFF((CT[5..3] == B"000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
||||||
|
LD_PIC = LCELL((MODE0[5] & DFF((CT[5..3] == B"000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
||||||
|
|
||||||
|
|
||||||
|
-- CASE (DFF(VLA1,!CLK42,,),DFF(VLA0,!CLK42,,)) IS
|
||||||
|
|
||||||
|
-- D_PIC0_[].clk = !CLK42;
|
||||||
|
-- D_PIC1_[].clk = !CLK42;
|
||||||
|
-- D_PIC2_[].clk = !CLK42;
|
||||||
|
-- D_PIC3_[].clk = !CLK42;
|
||||||
|
|
||||||
|
-- PIC_CLK = LCELL(LCELL(CLK42));
|
||||||
|
PIC_CLK = !CLK42;
|
||||||
|
|
||||||
|
D_PIC0_[].clk = PIC_CLK;
|
||||||
|
D_PIC1_[].clk = PIC_CLK;
|
||||||
|
D_PIC2_[].clk = PIC_CLK;
|
||||||
|
D_PIC3_[].clk = PIC_CLK;
|
||||||
|
|
||||||
|
D_PIC0_[] = VDM0[];
|
||||||
|
D_PIC1_[] = VDM1[];
|
||||||
|
D_PIC2_[] = VDM2[];
|
||||||
|
D_PIC3_[] = VDM3[];
|
||||||
|
|
||||||
|
CASE (DFF(VLA1,CLK42,,),DFF(VLA0,CLK42,,)) IS
|
||||||
|
WHEN 0 => D_PICX_[] = D_PIC0_[];
|
||||||
|
WHEN 1 => D_PICX_[] = D_PIC1_[];
|
||||||
|
WHEN 2 => D_PICX_[] = D_PIC2_[];
|
||||||
|
WHEN 3 => D_PICX_[] = D_PIC3_[];
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
MODE0[].ena = VCC;
|
||||||
|
MODE1[].ena = VCC;
|
||||||
|
MODE2[].ena = VCC;
|
||||||
|
MODE0[].clk = LWR_MODE;
|
||||||
|
MODE1[].clk = LWR_MODE;
|
||||||
|
MODE2[].clk = LWR_MODE;
|
||||||
|
MODE0[].d = VDM3[];
|
||||||
|
MODE1[].d = VDM2[];
|
||||||
|
MODE2[].d = VDM1[];
|
||||||
|
LWR_MODE = LCELL(LCELL(WR_MODE));
|
||||||
|
%
|
||||||
|
MODE0[].ena = LWR_MODE;
|
||||||
|
MODE1[].ena = LWR_MODE;
|
||||||
|
MODE2[].ena = LWR_MODE;
|
||||||
|
MODE0[].clk = CLK42;
|
||||||
|
MODE1[].clk = CLK42;
|
||||||
|
MODE2[].clk = CLK42;
|
||||||
|
MODE0[].d = D_PIC3_[];
|
||||||
|
MODE1[].d = D_PIC2_[];
|
||||||
|
MODE2[].d = D_PIC1_[];
|
||||||
|
LWR_MODE = DFF(!WR_MODE,CLK42,,);
|
||||||
|
%
|
||||||
|
X_MODE7 = DFF(MODE0[7],LWR_COL,,);
|
||||||
|
X_MODE6 = DFF(MODE0[6],LWR_COL,,);
|
||||||
|
X_MODE5 = DFF(MODE0[5],LWR_COL,,);
|
||||||
|
X_MODE4 = DFF(MODE0[4],LWR_COL,,);
|
||||||
|
|
||||||
|
VAO[] = VLA[17..2];
|
||||||
|
|
||||||
|
WR_PIC.clk = CLK42;
|
||||||
|
WR_COL.clk = CLK42;
|
||||||
|
WR_MODE.clk = CLK42;
|
||||||
|
|
||||||
|
-- LWR_PIC = LCELL(LCELL(WR_PIC));
|
||||||
|
-- LWR_COL = LCELL(LCELL(WR_COL));
|
||||||
|
-- LWR_PIC = LCELL(WR_PIC);
|
||||||
|
-- LWR_COL = LCELL(WR_COL);
|
||||||
|
LWR_PIC = DFF(WR_PIC,CLK42,,);
|
||||||
|
LWR_COL = DFF(WR_COL,CLK42,,);
|
||||||
|
|
||||||
|
-- D_PIC0[].ena = VCC;
|
||||||
|
-- D_PIC0[].clk = (LWR_PIC);
|
||||||
|
D_PIC0[].ena = !LWR_PIC;
|
||||||
|
D_PIC0[].clk = CLK42;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
IF LD_PIC THEN
|
||||||
|
-- D_PIC0[] = D_PIC0_[];
|
||||||
|
D_PIC0[] = D_PICX_[];
|
||||||
|
ELSE
|
||||||
|
D_PIC0[] = (D_PIC0[6..0],GND);
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
|
||||||
|
-- DCOL[].clk = (LWR_COL);
|
||||||
|
DCOL[].ena = !LWR_COL;
|
||||||
|
DCOL[].clk = CLK42;
|
||||||
|
|
||||||
|
IF DFF((MODE0[7..4] == 15),WR_PIC,,) THEN
|
||||||
|
DCOL[].d = (B"00",BRD[2..0],BRD[2..0]);
|
||||||
|
ELSE
|
||||||
|
-- DCOL[].d = D_PIC0_[];
|
||||||
|
DCOL[].d = D_PICX_[];
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
DCOL[].clrn = !BLANK;
|
||||||
|
|
||||||
|
BRVA[].clk = CLK42;
|
||||||
|
BRVA[].clrn = !MS_POINT;
|
||||||
|
BRVA[].prn = !MS_POINT2;
|
||||||
|
|
||||||
|
-- MODE0[4] - graph / text
|
||||||
|
-- MODE0[5] - 320 / 640 resolution
|
||||||
|
|
||||||
|
-- CASE (LCELL(X_MODE4 or X_MODE5),CT2) IS
|
||||||
|
CASE (DFF((MODE0[4] or MODE0[5]),LWR_COL,,),CT2) IS
|
||||||
|
WHEN B"1X" => BRVA[7..0] = DCOL[];
|
||||||
|
WHEN B"01" => BRVA[7..0] = (B"0000",DCOL[7..4]);
|
||||||
|
WHEN B"00" => BRVA[7..0] = (B"0000",DCOL[3..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- BRVA[10..8] = (x_mode4,RBRVA[9..8]);
|
||||||
|
RBRVA[].clk = CLK42;
|
||||||
|
|
||||||
|
CASE (BORD,X_MODE4) IS
|
||||||
|
WHEN B"X0" => RBRVA[10..8].d = (GND,X_MODE[7..6]);
|
||||||
|
WHEN B"X1" => RBRVA[10..8].d = (VCC,(CTF4 & !BLANK),D_PIC0[7]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
RBRVA[9..8].clrn = !BORD;
|
||||||
|
RBRVA[10].prn = !BORD;
|
||||||
|
|
||||||
|
CASE (RBRVA[9..8],BRVA7) IS
|
||||||
|
WHEN 0,1,4,7 => ZX_COL[] = (BRVA[6],BRVA[5..3]);
|
||||||
|
WHEN 2,3,6,5 => ZX_COL[] = (BRVA[6],BRVA[2..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- V_WET[].prn = LCELL(DFF(GND,!CLK42,,!V_WE));
|
||||||
|
-- V_WE.prn = LCELL(DFF(GND,!CLK42,,!V_WE));
|
||||||
|
|
||||||
|
V_WE_R = DFF(GND,!CLK42,,!V_WE);
|
||||||
|
V_WE.prn = V_WE_R;
|
||||||
|
V_WET[].prn = V_WE_R;
|
||||||
|
|
||||||
|
-- V_WR[] = LCELL(V_WE) or !((!VXA1 & !VXA0),(!VXA1 & VXA0),(VXA1 & !VXA0),(VXA1 & VXA0));
|
||||||
|
|
||||||
|
-- V_WR[] = (V_WE) or !(
|
||||||
|
|
||||||
|
V_WEX.clk = CLK42;
|
||||||
|
-- V_WEX.d = V_WE;
|
||||||
|
-- V_WEX.prn = (DFF(GND,CLK42,,!V_WEX));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
V_WEMMM = LCELL(V_WE);
|
||||||
|
-- V_WEMMN = LCELL(V_WEMMM); -- bios ok, fn ok, fnf1 failed, zx almost ok
|
||||||
|
-- V_WEMMO = LCELL(V_WEMMN); -- green arts
|
||||||
|
-- V_WEMMP = LCELL(V_WEMMO); -- blue + pink arts
|
||||||
|
-- V_WEMMR = LCELL(V_WEMMP); -- no F1 issue, but red arts (fix by finger, not enough capacity??)
|
||||||
|
-- V_WEMMS = LCELL(V_WEMMR);
|
||||||
|
-- V_WEMMT = LCELL(V_WEMMS);
|
||||||
|
-- V_WEMMU = LCELL(V_WEMMT);
|
||||||
|
-- V_WEMMV = LCELL(V_WEMMU);
|
||||||
|
-- V_WEMMW = LCELL(V_WEMMV);
|
||||||
|
-- V_WEMMX = LCELL(V_WEMMW);
|
||||||
|
-- V_WEMMY = LCELL(V_WEMMX);
|
||||||
|
-- V_WEMMZ = LCELL(V_WEMMY);
|
||||||
|
|
||||||
|
V_WRM = LCELL(V_WE or V_WEMMM);
|
||||||
|
|
||||||
|
|
||||||
|
-- V_WRM = LCELL(V_WEMMN or V_WEMMM);
|
||||||
|
-- V_WRM2 = LCELL(V_WEMMN or V_WEMMM);
|
||||||
|
-- V_WRM2 = LCELL(V_WEMMR);
|
||||||
|
-- V_WRM = LCELL(V_WEMMM or V_WEMMN);
|
||||||
|
-- V_WRM2 = LCELL(V_WEMMM or V_WEMMN);
|
||||||
|
|
||||||
|
V_WEM = (V_WE);
|
||||||
|
|
||||||
|
-- V_WEM2 = LCELL(V_WE);
|
||||||
|
-- V_WEM = LCELL(V_WEMMM & V_WEMMN);
|
||||||
|
-- V_WEM2 = LCELL(V_WEMMM & V_WEMMO);
|
||||||
|
|
||||||
|
--- LWR_COL = DFF(WR_COL,CLK42,,);
|
||||||
|
F_WR = ((LCELL(LCELL(LCELL(DFF(VCC,V_WE,,))))));
|
||||||
|
--- F_WR = DFF(V_WE,CLK42,,);
|
||||||
|
-- V_WEMMZ = LCELL(CLK42);
|
||||||
|
V_EN3 = (DFF(!(!VXA1 & (!VXA0 or DOUBLE)), CLK42, F_WR,));
|
||||||
|
V_EN2 = (DFF(!(!VXA1 & (VXA0 or DOUBLE)), CLK42, F_WR,));
|
||||||
|
V_EN1 = (DFF(!(VXA1 & (!VXA0 or DOUBLE)), CLK42, F_WR,));
|
||||||
|
V_EN0 = (DFF(!(VXA1 & (VXA0 or DOUBLE)), CLK42, F_WR,));
|
||||||
|
|
||||||
|
|
||||||
|
-- V_WR_3 = LCELL(V_WRM or V_EN3);
|
||||||
|
-- V_WR_2 = LCELL(V_WRM or V_EN2);
|
||||||
|
-- V_WR_1 = LCELL(V_WRM or V_EN1);
|
||||||
|
-- V_WR_0 = LCELL(V_WRM or V_EN0);
|
||||||
|
V_WR_3 = (LCELL(LCELL(LCELL(V_WRM or V_EN3))));
|
||||||
|
V_WR_2 = (LCELL(LCELL(LCELL(V_WRM or V_EN2))));
|
||||||
|
V_WR_1 = (LCELL(LCELL(LCELL(V_WRM or V_EN1))));
|
||||||
|
V_WR_0 = (LCELL(LCELL(LCELL(V_WRM or V_EN0))));
|
||||||
|
|
||||||
|
V_WEY3 = LCELL(V_WE or V_EN3);
|
||||||
|
V_WEY2 = LCELL(V_WE or V_EN2);
|
||||||
|
V_WEY1 = LCELL(V_WE or V_EN1);
|
||||||
|
V_WEY0 = LCELL(V_WE or V_EN0);
|
||||||
|
|
||||||
|
V_WR[] = V_WR_[]; -- V_WR0-3
|
||||||
|
V_WEN[] = V_WEY[]; -- VD0-3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%
|
||||||
|
V_WEMMM = LCELL(V_WE);
|
||||||
|
V_WEMMN = LCELL(V_WEMMM);
|
||||||
|
V_WEMMO = LCELL(V_WEMMN);
|
||||||
|
V_WEMM = LCELL(V_WEMMO);
|
||||||
|
|
||||||
|
V_WRM = LCELL(V_WEMMN & V_WEMMM);
|
||||||
|
V_WRM2 = LCELL(V_WEMMN & V_WEMMM);
|
||||||
|
|
||||||
|
V_WEM = LCELL(V_WEMMM & V_WEMMO);
|
||||||
|
V_WEM2 = LCELL(V_WEMMM & V_WEMMO);
|
||||||
|
|
||||||
|
V_EN3 = DFF(!(!VXA1 & (!VXA0 or DOUBLE)),CLK42,F_WR,);
|
||||||
|
V_EN2 = DFF(!(!VXA1 & (VXA0 or DOUBLE)) ,CLK42,F_WR,);
|
||||||
|
V_EN1 = DFF(!(VXA1 & (!VXA0 or DOUBLE)) ,CLK42,F_WR,);
|
||||||
|
V_EN0 = DFF(!(VXA1 & (VXA0 or DOUBLE)) ,CLK42,F_WR,);
|
||||||
|
|
||||||
|
F_WR = DFF(VCC,V_WE,,);
|
||||||
|
|
||||||
|
V_WR_3 = V_WRM or V_EN3;
|
||||||
|
V_WR_2 = V_WRM2 or V_EN2;
|
||||||
|
V_WR_1 = V_WRM or V_EN1;
|
||||||
|
V_WR_0 = V_WRM or V_EN0;
|
||||||
|
|
||||||
|
V_WEY3 = V_WEM or V_EN3;
|
||||||
|
V_WEY2 = V_WEM2 or V_EN2;
|
||||||
|
V_WEY1 = V_WEM or V_EN1;
|
||||||
|
V_WEY0 = V_WEM or V_EN0;
|
||||||
|
|
||||||
|
V_WR[] = V_WR_[];
|
||||||
|
V_WEN[] = V_WEY[];
|
||||||
|
%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- CLK84 = LCELL(CLK42 xor CLK84_X);
|
||||||
|
-- CLK84_X = DFF(!CLK84_X,CLK84,,);
|
||||||
|
-- CLK84_Y = CLK84;
|
||||||
|
|
||||||
|
END GENERATE; -- end "sprinter" mode
|
||||||
|
|
||||||
|
|
||||||
|
END;
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,49 +1,44 @@
|
|||||||
@set BIN=..\..\bin\
|
@echo off
|
||||||
@set CHIP=K30
|
set BIN=..\..\bin\
|
||||||
|
set LOG=compile.log
|
||||||
|
for /F %%i in ('date /t') do set mydate=%%i
|
||||||
|
for /F %%i in ('time /t') do set mytime=%%i
|
||||||
|
set mydt=%mydate% %mytime%
|
||||||
|
|
||||||
@echo -------------------------------------------------------[Bitstream START]
|
set CHIP=K30
|
||||||
@echo STEP 0, Task [1/2] ALTERA ACEX-%CHIP% STREAM
|
|
||||||
|
|
||||||
@if exist SP2_ACEX.ttf goto trans
|
echo 0. [1/2] ALTERA ACEX-%CHIP% STREAM
|
||||||
|
echo %mydt%: [1/2] ALTERA ACEX-%CHIP% STREAM > %LOG%
|
||||||
|
|
||||||
@copy %CHIP%\*.* .\*.*
|
if exist SP2_ACEX.ttf goto trans
|
||||||
|
|
||||||
@C:\MAXPLUS2\MAXPLUS2.EXE -compile SP2_ACEX
|
copy %CHIP%\*.* .\*.* >> %LOG% 2>&1
|
||||||
|
|
||||||
@del *.txt
|
C:\MAXPLUS2\MAXPLUS2.EXE -compile SP2_ACEX >> %LOG%
|
||||||
@del *.bak
|
|
||||||
@del *.cnf
|
|
||||||
@del *.db?
|
|
||||||
|
|
||||||
@del *.hif
|
del *.txt >> %LOG% 2>&1
|
||||||
@del *.mmf
|
del *.bak >> %LOG% 2>&1
|
||||||
@del *.mtf
|
del *.cnf >> %LOG% 2>&1
|
||||||
@del *.mtb
|
del *.db? >> %LOG% 2>&1
|
||||||
@del *.hex
|
|
||||||
@del *.ndb
|
|
||||||
@del *.pin
|
|
||||||
@del *.pof
|
|
||||||
@del *.snf
|
|
||||||
@del *.fit
|
|
||||||
|
|
||||||
@del *.SCF
|
del *.hif >> %LOG% 2>&1
|
||||||
@del *.ACF
|
del *.mmf >> %LOG% 2>&1
|
||||||
@del *.TDF
|
del *.mtf >> %LOG% 2>&1
|
||||||
@del *.INC
|
del *.mtb >> %LOG% 2>&1
|
||||||
@del *.MIF
|
del *.hex >> %LOG% 2>&1
|
||||||
|
del *.ndb >> %LOG% 2>&1
|
||||||
|
del *.pin >> %LOG% 2>&1
|
||||||
|
del *.pof >> %LOG% 2>&1
|
||||||
|
del *.snf >> %LOG% 2>&1
|
||||||
|
del *.fit >> %LOG% 2>&1
|
||||||
|
|
||||||
|
del *.SCF >> %LOG% 2>&1
|
||||||
|
del *.ACF >> %LOG% 2>&1
|
||||||
|
del *.TDF >> %LOG% 2>&1
|
||||||
|
del *.INC >> %LOG% 2>&1
|
||||||
|
del *.MIF >> %LOG% 2>&1
|
||||||
|
|
||||||
:trans
|
:trans
|
||||||
@%BIN%\transttf.exe SP2_ACEX.ttf STREAM.BIN
|
%BIN%\transttf.exe SP2_ACEX.ttf STREAM.BIN >> %LOG%
|
||||||
@if not exist STREAM.BIN goto error
|
echo on
|
||||||
|
type sp2_acex.rpt | grep "fmax is"
|
||||||
@goto quit
|
|
||||||
|
|
||||||
:error
|
|
||||||
@color 04
|
|
||||||
@echo ---------------------------------------------------------------------[Compiling bitstream %CHIP% ERROR!!!]
|
|
||||||
@pause 0
|
|
||||||
@exit 3
|
|
||||||
|
|
||||||
:quit
|
|
||||||
@echo [OK ]
|
|
||||||
@echo.
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -38,43 +38,43 @@ BEGIN
|
|||||||
|WR_PDOS : OUTPUT_PIN = 8;
|
|WR_PDOS : OUTPUT_PIN = 8;
|
||||||
|/WG_WR : OUTPUT_PIN = 93;
|
|/WG_WR : OUTPUT_PIN = 93;
|
||||||
|/WG_RD : OUTPUT_PIN = 97;
|
|/WG_RD : OUTPUT_PIN = 97;
|
||||||
|WDAT : OUTPUT_PIN = 98;
|
|WDAT : OUTPUT_PIN = 98;
|
||||||
|TG42_OUT : OUTPUT_PIN = 85;
|
|TG42_OUT : OUTPUT_PIN = 85;
|
||||||
|TG42_BUF : OUTPUT_PIN = 36;
|
|TG42_BUF : OUTPUT_PIN = 36;
|
||||||
|SINC_2 : OUTPUT_PIN = 19;
|
|SINC_2 : OUTPUT_PIN = 19;
|
||||||
|SINC_1 : OUTPUT_PIN = 20;
|
|SINC_1 : OUTPUT_PIN = 20;
|
||||||
|SINC_V : OUTPUT_PIN = 64;
|
|SINC_V : OUTPUT_PIN = 64;
|
||||||
|SINC_H : OUTPUT_PIN = 68;
|
|SINC_H : OUTPUT_PIN = 68;
|
||||||
|SINC : OUTPUT_PIN = 67;
|
|SINC : OUTPUT_PIN = 67;
|
||||||
|QDAT : OUTPUT_PIN = 16;
|
|QDAT : OUTPUT_PIN = 16;
|
||||||
|HD_DIR : OUTPUT_PIN = 48;
|
|HD_DIR : OUTPUT_PIN = 48;
|
||||||
|HD_CS : OUTPUT_PIN = 52;
|
|HD_CS : OUTPUT_PIN = 52;
|
||||||
|FDAT : OUTPUT_PIN = 14;
|
|FDAT : OUTPUT_PIN = 14;
|
||||||
|DENS_X : OUTPUT_PIN = 96;
|
|DENS_X : OUTPUT_PIN = 96;
|
||||||
|CMOS_DWR : OUTPUT_PIN = 100;
|
|CMOS_DWR : OUTPUT_PIN = 100;
|
||||||
|CMOS_DRD : OUTPUT_PIN = 99;
|
|CMOS_DRD : OUTPUT_PIN = 99;
|
||||||
|CMOS_AS : OUTPUT_PIN = 6;
|
|CMOS_AS : OUTPUT_PIN = 6;
|
||||||
|CLK14 : OUTPUT_PIN = 31;
|
|CLK14 : OUTPUT_PIN = 31;
|
||||||
|CLK_WG : OUTPUT_PIN = 13;
|
|CLK_WG : OUTPUT_PIN = 13;
|
||||||
|BEEP : OUTPUT_PIN = 84;
|
|BEEP : OUTPUT_PIN = 84;
|
||||||
|AUD : OUTPUT_PIN = 35;
|
|AUD : OUTPUT_PIN = 35;
|
||||||
|XHR_RDY : INPUT_PIN = 88;
|
|XHR_RDY : INPUT_PIN = 88;
|
||||||
|XA2 : INPUT_PIN = 23;
|
|XA2 : INPUT_PIN = 23;
|
||||||
|XA1 : INPUT_PIN = 21;
|
|XA1 : INPUT_PIN = 21;
|
||||||
|XA0 : INPUT_PIN = 17;
|
|XA0 : INPUT_PIN = 17;
|
||||||
|XACS : INPUT_PIN = 37;
|
|XACS : INPUT_PIN = 37;
|
||||||
|WSTB : INPUT_PIN = 10;
|
|WSTB : INPUT_PIN = 10;
|
||||||
|WR_CNF : INPUT_PIN = 57;
|
|WR_CNF : INPUT_PIN = 57;
|
||||||
|WD : INPUT_PIN = 9;
|
|WD : INPUT_PIN = 9;
|
||||||
|VGA_IN : INPUT_PIN = 61;
|
|VGA_IN : INPUT_PIN = 61;
|
||||||
|TR43 : INPUT_PIN = 12;
|
|TR43 : INPUT_PIN = 12;
|
||||||
|TG42_IN : INPUT_PIN = 87;
|
|TG42_IN : INPUT_PIN = 87;
|
||||||
|STE : INPUT_PIN = 94;
|
|STE : INPUT_PIN = 94;
|
||||||
|SR : INPUT_PIN = 29;
|
|SR : INPUT_PIN = 29;
|
||||||
|SL : INPUT_PIN = 30;
|
|SL : INPUT_PIN = 30;
|
||||||
|SINC_IN : INPUT_PIN = 69;
|
|SINC_IN : INPUT_PIN = 69;
|
||||||
|RSTB : INPUT_PIN = 25;
|
|RSTB : INPUT_PIN = 25;
|
||||||
|RDAT : INPUT_PIN = 92;
|
|RDAT : INPUT_PIN = 92;
|
||||||
|PW_GOOD : INPUT_PIN = 90;
|
|PW_GOOD : INPUT_PIN = 90;
|
||||||
|HDD_C3 : INPUT_PIN = 40;
|
|HDD_C3 : INPUT_PIN = 40;
|
||||||
|HDD_C2 : INPUT_PIN = 41;
|
|HDD_C2 : INPUT_PIN = 41;
|
||||||
@ -84,7 +84,7 @@ BEGIN
|
|||||||
|FDD_C1 : INPUT_PIN = 45;
|
|FDD_C1 : INPUT_PIN = 45;
|
||||||
|FDD_C0 : INPUT_PIN = 44;
|
|FDD_C0 : INPUT_PIN = 44;
|
||||||
|EPM_RES : INPUT_PIN = 89;
|
|EPM_RES : INPUT_PIN = 89;
|
||||||
|D0 : INPUT_PIN = 60;
|
|D0 : INPUT_PIN = 60;
|
||||||
END;
|
END;
|
||||||
|
|
||||||
DEFAULT_DEVICES
|
DEFAULT_DEVICES
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@ -22,69 +22,115 @@
|
|||||||
CHIP SP2_MAX
|
CHIP SP2_MAX
|
||||||
BEGIN
|
BEGIN
|
||||||
DEVICE = EPM7128STC100-10;
|
DEVICE = EPM7128STC100-10;
|
||||||
|GND65 : INPUT_PIN = 65;
|
|UNUSED1: INPUT_PIN = 1; -- 7064 N.C.
|
||||||
|GND33 : INPUT_PIN = 33;
|
|UNUSED2: INPUT_PIN = 2; -- 7064 N.C.
|
||||||
|/CONF_X : BIDIR_PIN = 54;
|
-- |VCCIO
|
||||||
|10K_D0 : OUTPUT_PIN = 58;
|
-- |#TDI
|
||||||
|CLKZZ : BIDIR_PIN = 32;
|
|UNUSED5: INPUT_PIN = 5; -- 7064 N.C.
|
||||||
|10K_CLK : OUTPUT_PIN = 56;
|
|
||||||
|XHD2_CS2 : OUTPUT_PIN = 83;
|
|
||||||
|XHD2_CS1 : OUTPUT_PIN = 81;
|
|
||||||
|XHD1_CS2 : OUTPUT_PIN = 80;
|
|
||||||
|XHD1_CS1 : OUTPUT_PIN = 79;
|
|
||||||
|XHD_WR : OUTPUT_PIN = 75;
|
|
||||||
|XHD_RES : OUTPUT_PIN = 71;
|
|
||||||
|XHD_RD : OUTPUT_PIN = 76;
|
|
||||||
|WR_PDOS : OUTPUT_PIN = 8;
|
|
||||||
|/WG_WR : OUTPUT_PIN = 93;
|
|
||||||
|/WG_RD : OUTPUT_PIN = 97;
|
|
||||||
|WDAT : OUTPUT_PIN = 98;
|
|
||||||
|TG42_OUT : OUTPUT_PIN = 85;
|
|
||||||
|TG42_BUF : OUTPUT_PIN = 36;
|
|
||||||
|SINC_2 : OUTPUT_PIN = 19;
|
|
||||||
|SINC_1 : OUTPUT_PIN = 20;
|
|
||||||
|SINC_V : OUTPUT_PIN = 64;
|
|
||||||
|SINC_H : OUTPUT_PIN = 68;
|
|
||||||
|SINC : OUTPUT_PIN = 67;
|
|
||||||
|QDAT : OUTPUT_PIN = 16;
|
|
||||||
|HD_DIR : OUTPUT_PIN = 48;
|
|
||||||
|HD_CS : OUTPUT_PIN = 52;
|
|
||||||
|FDAT : OUTPUT_PIN = 14;
|
|
||||||
|DENS_X : OUTPUT_PIN = 96;
|
|
||||||
|CMOS_DWR : OUTPUT_PIN = 100;
|
|
||||||
|CMOS_DRD : OUTPUT_PIN = 99;
|
|
||||||
|CMOS_AS : OUTPUT_PIN = 6;
|
|CMOS_AS : OUTPUT_PIN = 6;
|
||||||
|CLK14 : OUTPUT_PIN = 31;
|
|UNUSED7: INPUT_PIN = 7; -- 7064 N.C.
|
||||||
|
|WR_PDOS : OUTPUT_PIN = 8;
|
||||||
|
|WD : INPUT_PIN = 9;
|
||||||
|
|
||||||
|
|WSTB : INPUT_PIN = 10;
|
||||||
|
-- |GND
|
||||||
|
|TR43 : INPUT_PIN = 12;
|
||||||
|CLK_WG : OUTPUT_PIN = 13;
|
|CLK_WG : OUTPUT_PIN = 13;
|
||||||
|BEEP : OUTPUT_PIN = 84;
|
|FDAT : OUTPUT_PIN = 14;
|
||||||
|AUD : OUTPUT_PIN = 35;
|
-- |#TMS
|
||||||
|XHR_RDY : INPUT_PIN = 88;
|
|QDAT : OUTPUT_PIN = 16;
|
||||||
|XA2 : INPUT_PIN = 23;
|
|XA0 : INPUT_PIN = 17;
|
||||||
|XA1 : INPUT_PIN = 21;
|
-- |VCCIO
|
||||||
|XA0 : INPUT_PIN = 17;
|
|SINC_2 : OUTPUT_PIN = 19;
|
||||||
|XACS : INPUT_PIN = 37;
|
|
||||||
|WSTB : INPUT_PIN = 10;
|
|SINC_1 : OUTPUT_PIN = 20;
|
||||||
|WR_CNF : INPUT_PIN = 57;
|
|XA1 : INPUT_PIN = 21;
|
||||||
|WD : INPUT_PIN = 9;
|
|UNUSED22: INPUT_PIN = 22; -- 7064 N.C.
|
||||||
|VGA_IN : INPUT_PIN = 61;
|
|XA2 : INPUT_PIN = 23;
|
||||||
|TR43 : INPUT_PIN = 12;
|
|UNUSED24: INPUT_PIN = 24; -- 7064 N.C.
|
||||||
|TG42_IN : INPUT_PIN = 87;
|
|RSTB : INPUT_PIN = 25;
|
||||||
|STE : INPUT_PIN = 94;
|
-- |GND
|
||||||
|SR : INPUT_PIN = 29;
|
|UNUSED27: INPUT_PIN = 27; -- 7064 N.C.
|
||||||
|SL : INPUT_PIN = 30;
|
|UNUSED28: INPUT_PIN = 28; -- 7064 N.C.
|
||||||
|SINC_IN : INPUT_PIN = 69;
|
|SR : INPUT_PIN = 29;
|
||||||
|RSTB : INPUT_PIN = 25;
|
|
||||||
|RDAT : INPUT_PIN = 92;
|
|SL : INPUT_PIN = 30;
|
||||||
|PW_GOOD : INPUT_PIN = 90;
|
|CLK14 : OUTPUT_PIN = 31;
|
||||||
|
|CLKZZ : BIDIR_PIN = 32;
|
||||||
|
|UNUSED33 : INPUT_PIN = 33; -- be careful! at 3000 family the pin 33 is GND
|
||||||
|
-- |VCCIO
|
||||||
|
|AUD : OUTPUT_PIN = 35;
|
||||||
|
|TG42_BUF : OUTPUT_PIN = 36;
|
||||||
|
|XACS : INPUT_PIN = 37;
|
||||||
|
-- |GND
|
||||||
|
-- |VCCINT
|
||||||
|
|
||||||
|HDD_C3 : INPUT_PIN = 40;
|
|HDD_C3 : INPUT_PIN = 40;
|
||||||
|HDD_C2 : INPUT_PIN = 41;
|
|HDD_C2 : INPUT_PIN = 41;
|
||||||
|HDD_C1 : INPUT_PIN = 42;
|
|HDD_C1 : INPUT_PIN = 42;
|
||||||
|HDD_C0 : INPUT_PIN = 47;
|
-- |GND
|
||||||
|FDD_C2 : INPUT_PIN = 46;
|
|
||||||
|FDD_C1 : INPUT_PIN = 45;
|
|
||||||
|FDD_C0 : INPUT_PIN = 44;
|
|FDD_C0 : INPUT_PIN = 44;
|
||||||
|
|FDD_C1 : INPUT_PIN = 45;
|
||||||
|
|FDD_C2 : INPUT_PIN = 46;
|
||||||
|
|HDD_C0 : INPUT_PIN = 47;
|
||||||
|
|HD_DIR : OUTPUT_PIN = 48;
|
||||||
|
|UNUSED49: INPUT_PIN = 49; -- 7064 N.C.
|
||||||
|
|
||||||
|
|UNUSED50: INPUT_PIN = 50; -- 7064 N.C.
|
||||||
|
-- |VCCIO
|
||||||
|
|HD_CS : OUTPUT_PIN = 52;
|
||||||
|
|UNUSED53 : INPUT_PIN = 53; -- 7064 N.C.
|
||||||
|
|/CONF_X : BIDIR_PIN = 54;
|
||||||
|
|UNUSED55: INPUT_PIN = 55; -- 7064 N.C.
|
||||||
|
|10K_CLK : OUTPUT_PIN = 56;
|
||||||
|
|WR_CNF : INPUT_PIN = 57;
|
||||||
|
|10K_D0 : OUTPUT_PIN = 58;
|
||||||
|
-- |GND
|
||||||
|
|
||||||
|
|D0 : INPUT_PIN = 60;
|
||||||
|
|VGA_IN : INPUT_PIN = 61;
|
||||||
|
-- |#TCK
|
||||||
|
|UNUSED63: INPUT_PIN = 63;
|
||||||
|
|SINC_V : OUTPUT_PIN = 64;
|
||||||
|
|UNUSED65 : INPUT_PIN = 65; -- be careful! at 3000 family the pin 33 is GND
|
||||||
|
-- |VCCIO
|
||||||
|
|SINC : OUTPUT_PIN = 67;
|
||||||
|
|SINC_H : OUTPUT_PIN = 68;
|
||||||
|
|SINC_IN : INPUT_PIN = 69;
|
||||||
|
|
||||||
|
|UNUSED70: INPUT_PIN = 70; -- 7064 N.C.
|
||||||
|
|XHD_RES : OUTPUT_PIN = 71;
|
||||||
|
|UNUSED72: INPUT_PIN = 72; -- 7064 N.C.
|
||||||
|
-- |#TDO
|
||||||
|
-- |GND
|
||||||
|
|XHD_WR : OUTPUT_PIN = 75;
|
||||||
|
|XHD_RD : OUTPUT_PIN = 76;
|
||||||
|
|UNUSED77: INPUT_PIN = 77; -- 7064 N.C.
|
||||||
|
|UNUSED78 : INPUT_PIN = 78; -- 7064 N.C.
|
||||||
|
|XHD1_CS1 : OUTPUT_PIN = 79;
|
||||||
|
|
||||||
|
|XHD1_CS2 : OUTPUT_PIN = 80;
|
||||||
|
|XHD2_CS1 : OUTPUT_PIN = 81;
|
||||||
|
-- |VCCIO
|
||||||
|
|XHD2_CS2 : OUTPUT_PIN = 83;
|
||||||
|
|BEEP : OUTPUT_PIN = 84;
|
||||||
|
|TG42_OUT : OUTPUT_PIN = 85;
|
||||||
|
-- |GND
|
||||||
|
|TG42_IN : INPUT_PIN = 87;
|
||||||
|
|XHR_RDY : INPUT_PIN = 88;
|
||||||
|EPM_RES : INPUT_PIN = 89;
|
|EPM_RES : INPUT_PIN = 89;
|
||||||
|D0 : INPUT_PIN = 60;
|
|
||||||
|
|PW_GOOD : INPUT_PIN = 90;
|
||||||
|
-- |VCCINT
|
||||||
|
|RDAT : INPUT_PIN = 92;
|
||||||
|
|/WG_WR : OUTPUT_PIN = 93;
|
||||||
|
|STE : INPUT_PIN = 94;
|
||||||
|
-- |GND
|
||||||
|
|DENS_X : OUTPUT_PIN = 96;
|
||||||
|
|/WG_RD : OUTPUT_PIN = 97;
|
||||||
|
|WDAT : OUTPUT_PIN = 98;
|
||||||
|
|CMOS_DRD : OUTPUT_PIN = 99;
|
||||||
|
|CMOS_DWR : OUTPUT_PIN = 100;
|
||||||
END;
|
END;
|
||||||
|
|
||||||
DEFAULT_DEVICES
|
DEFAULT_DEVICES
|
||||||
|
|||||||
Binary file not shown.
@ -85,8 +85,27 @@ SUBDESIGN SP2_MAX
|
|||||||
EPM_RES : INPUT;
|
EPM_RES : INPUT;
|
||||||
PW_GOOD : INPUT;
|
PW_GOOD : INPUT;
|
||||||
|
|
||||||
GND65 : INPUT;
|
UNUSED65 : INPUT; -- was GND65, hack for 3000 family
|
||||||
GND33 : INPUT;
|
UNUSED33 : INPUT; -- was GND33, hack for 3000 family
|
||||||
|
UNUSED1 : INPUT;
|
||||||
|
UNUSED2 : INPUT;
|
||||||
|
UNUSED5 : INPUT;
|
||||||
|
UNUSED7 : INPUT;
|
||||||
|
UNUSED22 : INPUT;
|
||||||
|
UNUSED24 : INPUT;
|
||||||
|
UNUSED27 : INPUT;
|
||||||
|
UNUSED28 : INPUT;
|
||||||
|
UNUSED49 : INPUT;
|
||||||
|
UNUSED50 : INPUT;
|
||||||
|
UNUSED53 : INPUT;
|
||||||
|
UNUSED55 : INPUT;
|
||||||
|
UNUSED63 : INPUT;
|
||||||
|
UNUSED70 : INPUT;
|
||||||
|
UNUSED72 : INPUT;
|
||||||
|
UNUSED77 : INPUT;
|
||||||
|
UNUSED78 : INPUT;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
)
|
)
|
||||||
VARIABLE
|
VARIABLE
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@ -12,7 +12,7 @@ del *.mtb
|
|||||||
del *.hex
|
del *.hex
|
||||||
del *.ndb
|
del *.ndb
|
||||||
del *.pin
|
del *.pin
|
||||||
rem del *.pof
|
del *.pof
|
||||||
del *.snf
|
del *.snf
|
||||||
del *.fit
|
del *.fit
|
||||||
del *.jam
|
del *.jam
|
||||||
|
|||||||
@ -1 +1,214 @@
|
|||||||
06.07.2022 05:20: [2/2] ALTERA MAX-7128 STREAM
|
07.09.2022 00:27: [2/2] ALTERA MAX-7128 STREAM
|
||||||
|
7128\SP2_MAX.ACF
|
||||||
|
‘ª®¯¨à®¢ ® ä ©«®¢: 1.
|
||||||
|
|
||||||
|
**********************************************************************
|
||||||
|
MAX+plus II
|
||||||
|
Version 10.0 9/14/2000
|
||||||
|
Copyright (c) 1988-2000 Altera Corporation. All rights reserved.
|
||||||
|
|
||||||
|
This material is made available for use under a license from Altera
|
||||||
|
and its use is subject to all conditions and restrictions provided
|
||||||
|
by the license agreement. U.S. and foreign patents apply to the
|
||||||
|
software program and the semiconductor components which are programmed
|
||||||
|
using the software program.
|
||||||
|
|
||||||
|
This program, these components, and the system comprising both
|
||||||
|
are covered by one or more of the following U.S. patents:
|
||||||
|
|
||||||
|
6,097,211; 6,094,064; 6,091,258; 6,091,102; 6,085,317; 6,084,427;
|
||||||
|
6,081,449; 6,080,204; 6,078,521; 6,076,179; 6,075,380; 6,072,358;
|
||||||
|
6,072,332; 6,069,487; 6,066,960; 6,064,599; 6,060,903; 6,058,452;
|
||||||
|
6,057,707; 6,052,755; 6,052,309; 6,052,327; 6,049,223; 6,049,225;
|
||||||
|
6,045,252; 6,043,676; 6,040,712; 6,038,171; 6,037,829; 6,034,857;
|
||||||
|
6,034,540; 6,034,536; 6,032,159; 6,031,763; 6,031,391; 6,029,236;
|
||||||
|
6,028,809; 6,028,808; 6,028,787; 6,026,226; 6,025,737; 6,023,439;
|
||||||
|
6,020,760; 6,020,759; 6,020,758; 6,018,490; 6,018,476; 6,014,334;
|
||||||
|
6,011,744; 6,011,730; 6,011,406; 6,005,379; 5,999,016; 5,999,015;
|
||||||
|
5,998,295; 5,996,039; 5,986,470; 5,986,465; 5,983,277; 5,982,195;
|
||||||
|
5,978,476; 5,977,793; 5,977,791; 5,968,161; 5,970,255; 5,966,597;
|
||||||
|
5,963,565; 5,969,051; 5,963,069; 5,963,049; 5,959,891; 5,953;537;
|
||||||
|
5,949,991; 5,949,710; 5,949,250; 5,949,239; 5,954,751; 5,943,267;
|
||||||
|
5,942,914; 5,940,852; 5,939,790; 5,936,425; 5,926,036; 5,925,904;
|
||||||
|
5,923,567; 5,915,756; 5,915,017; 5,909,450; 5,909,375; 5,909,126;
|
||||||
|
5,905,675; 5,904,524; 5,900,743; 5,898,628; 5,898,318; 5,894,228;
|
||||||
|
5,893,088; 5,892,683; 5,883,526; 5,880,725; 5,880,597; 5,880,596;
|
||||||
|
5,878,250; 5,875,112; 5,873,113; 5,872,529; 5,872,463; 5,870,410;
|
||||||
|
5,869,980; 5,869,979; 5,861,760; 5,859,544; 5,859,542; 5,850,365;
|
||||||
|
5,850,152; 5,850,151; 5,848,005; 5,847,617; 5,845,385; 5,844,854;
|
||||||
|
RE35,977; 5,838,628; 5,838,584; 5,835,998; 5,834,849; 5,828,229;
|
||||||
|
5,825,197; 5,821,787: 5,821,773; 5,821,771; 5,815,726; 5,815,024;
|
||||||
|
5,815,003; 5,812,479; 5,812,450; 5,809,281; 5,809,034; 5,805,516;
|
||||||
|
5,802,540; 5,801,541; 5,796,267; 5,793,246; 5,790,469; 5,787,009;
|
||||||
|
5,771,264; 5,768,562; 5,768,372; 5,767,734; 5,764,583; 5,764,569;
|
||||||
|
5,764,080; 5,764,079; 5,761,099; 5,760,624; 5,757,207; 5,757,070;
|
||||||
|
5,744,991; 5,744,383; 5,740,110; 5,732,020; 5,729,495; 5,717,901;
|
||||||
|
5,705,939; 5,699,020; 5,699,312; 5,696,455; 5,693,540; 5,694,058;
|
||||||
|
5,691,653; 5,689,195; 5,668,771; 5,680,061; 5,672,985; 5,670,895;
|
||||||
|
5,659,717; 5,650,734; 5,649,163; 5,642,262; 5,642,082; 5,633,830;
|
||||||
|
5,631,576; 5,621,312; 5,614,840; 5,612,642; 5,608,337; 5,606,276;
|
||||||
|
5,606,266; 5,604,453; 5,598,109; 5,598,108; 5,592,106; 5,592,102;
|
||||||
|
5,590,305; 5,583,749; 5,581,501; 5,574,893; 5,572,717; 5,572,148;
|
||||||
|
5,572,067; 5,570,040; 5,567,177; 5,565,793; 5,563,592; 5,561,757;
|
||||||
|
5,557,217; 5,555,214; 5,550,842; 5,550,782; 5,548,552; 5,548,228;
|
||||||
|
5,543,732; 5,543,730; 5,541,530; 5,537,295; 5,537,057; 5,525,917;
|
||||||
|
5,525,827; 5,523,706; 5,523,247; 5,517,186; 5,498,975; 5,495,182;
|
||||||
|
5,493,526; 5,493,519; 5,490,266; 5,488,586; 5,487,143; 5,486,775;
|
||||||
|
5,485,103; 5,485,102; 5,483,178; 5,477,474; 5,473,266; 5,463,328,
|
||||||
|
5,444,394; 5,438,295; 5,436,575; 5,436,574; 5,434,514; 5,432,467;
|
||||||
|
5,414,312; 5,399,922; 5,384,499; 5,376,844; 5,371,422; 5,369,314;
|
||||||
|
5,359,243; 5,359,242; 5,353,248; 5,352,940; 5,309,046; 5,350,954;
|
||||||
|
5,349,255; 5,341,308; 5,341,048; 5,341,044; 5,329,487; 5,317,210;
|
||||||
|
5,315,172; 5,301,416; 5,294,975; 5,285,153; 5,280,203; 5,274,581;
|
||||||
|
5,272,368; 5,268,598; 5,266,037; 5,260,611; 5,260,610; 5,258,668;
|
||||||
|
5,247,478; 5,247,477; 5,243,233; 5,241,224; 5,237,219; 5,220,533;
|
||||||
|
5,220,214; 5,200,920; 5,187,392; 5,166,604; 5,162,680; 5,144,167;
|
||||||
|
5,138,576; 5,128,565; 5,121,006; 5,111,423; 5,097,208; 5,091,661;
|
||||||
|
5,066,873; 5,045,772; 4,969,121; 4,930,107; 4,930,098; 4,930,097;
|
||||||
|
4,912,342; 4,903,223; 4,899,070; 4,899,067; 4,871,930; 4,864,161;
|
||||||
|
4,831,573; 4,785,423; 4,774,421; 4,713,792; 4,677,318; 4,617,479;
|
||||||
|
4,609,986; 4,020,469; Additional patents are pending.
|
||||||
|
|
||||||
|
Altera Corporation acknowledges the trademarks of other organizations
|
||||||
|
for their respective products or services mentioned in this software.
|
||||||
|
|
||||||
|
**********************************************************************
|
||||||
|
Compiling project f:\sprinter\src\altera\max\sp2_max ....
|
||||||
|
|
||||||
|
**** Compiler Netlist Extractor ****
|
||||||
|
|
||||||
|
Processing . -- 0% done
|
||||||
|
Warning: Line 106, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED78" was declared but never used
|
||||||
|
Warning: Line 52, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "XA2" was declared but never used
|
||||||
|
Warning: Line 167, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "CTV8C" was declared but never used
|
||||||
|
Warning: Line 89, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED33" was declared but never used
|
||||||
|
Warning: Line 52, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "XA1" was declared but never used
|
||||||
|
Warning: Line 93, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED7" was declared but never used
|
||||||
|
Warning: Line 83, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "XHR_RDY" was declared but never used
|
||||||
|
Warning: Line 52, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "XA0" was declared but never used
|
||||||
|
Warning: Line 103, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED70" was declared but never used
|
||||||
|
Warning: Line 101, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED55" was declared but never used
|
||||||
|
Warning: Line 92, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED5" was declared but never used
|
||||||
|
Warning: Line 162, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "EXP_X" was declared but never used
|
||||||
|
Warning: Line 94, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED22" was declared but never used
|
||||||
|
Warning: Line 91, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED2" was declared but never used
|
||||||
|
Warning: Line 98, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED49" was declared but never used
|
||||||
|
Warning: Line 104, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED72" was declared but never used
|
||||||
|
Warning: Line 163, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "EXP_Y" was declared but never used
|
||||||
|
Warning: Line 100, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED53" was declared but never used
|
||||||
|
Warning: Line 70, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "VGA_IN" was declared but never used
|
||||||
|
Warning: Line 95, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED24" was declared but never used
|
||||||
|
Warning: Line 99, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED50" was declared but never used
|
||||||
|
Warning: Line 88, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED65" was declared but never used
|
||||||
|
Warning: Line 90, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED1" was declared but never used
|
||||||
|
Warning: Line 105, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED77" was declared but never used
|
||||||
|
Warning: Line 75, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "SINC_IN" was declared but never used
|
||||||
|
Warning: Line 102, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED63" was declared but never used
|
||||||
|
Warning: Line 96, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED27" was declared but never used
|
||||||
|
Warning: Line 97, File f:\sprinter\src\altera\max\sp2_max.tdf:
|
||||||
|
Symbolic name "UNUSED28" was declared but never used
|
||||||
|
Processing .. -- 100% done
|
||||||
|
Warning: Timing requirement assignments influence compilation only for FLEX 6000, FLEX 8000, and FLEX 10K devices. However, the Compiler will check whether it can meet your timing requirements.
|
||||||
|
|
||||||
|
**** Database Builder ****
|
||||||
|
|
||||||
|
Processing . -- 0% done
|
||||||
|
Processing .. -- 100% done
|
||||||
|
|
||||||
|
**** Logic Synthesizer ****
|
||||||
|
|
||||||
|
Processing . -- 0% done
|
||||||
|
Warning: Flipflop 'CTV8M' stuck at GND
|
||||||
|
Warning: No Clock transition on flipflop 'CNF_OFF'
|
||||||
|
Warning: Primitive 'BEEP' is stuck at GND
|
||||||
|
Warning: Primitive 'DENS_X' is stuck at VCC
|
||||||
|
Warning: Primitive 'HD_CS' is stuck at GND
|
||||||
|
Info: NOT Gate Push-Back has occurred on some registers -- if the power-up condition is crucial to the operation of the circuit, use the asynchronous Clear/Preset on the register to ensure proper operation
|
||||||
|
Processing .. -- 100% done
|
||||||
|
|
||||||
|
**** Partitioner ****
|
||||||
|
|
||||||
|
Processing . -- 0% done
|
||||||
|
Warning: Project has user pin or logic cell assignments, but has never been compiled before. For best fitting results, let the Compiler choose the first set of assignments instead.
|
||||||
|
Info: Reserved unused input pin 'XA2' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'XA1' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'XA0' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'VGA_IN' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'SINC_IN' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'XHR_RDY' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED65' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED33' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED1' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED2' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED5' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED7' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED22' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED24' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED27' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED28' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED49' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED50' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED53' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED55' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED63' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED70' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED72' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED77' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Info: Reserved unused input pin 'UNUSED78' for future use because it has a pin assignment -- pin is tri-stated and must be connected to your board
|
||||||
|
Processing .. -- 100% done
|
||||||
|
|
||||||
|
**** Fitter ****
|
||||||
|
|
||||||
|
Processing . -- 0% done
|
||||||
|
Info: Chip 'SP2_MAX' in device 'EPM7128STC100-10' has less than 20% of pins available for future logic changes -- if your project is likely to change, Altera recommends using a larger device
|
||||||
|
Processing .. -- 100% done
|
||||||
|
|
||||||
|
**** Timing SNF Extractor ****
|
||||||
|
|
||||||
|
Processing . -- 0% done
|
||||||
|
Processing .. -- 100% done
|
||||||
|
Warning: Found ripple clock -- warning messages and Report File information on tco, tsu, and fmax may be inaccurate
|
||||||
|
Info: One or more paths have been found between registers controlled by different clocks -- can't calculate fmax for those paths
|
||||||
|
Warning: Can't provide fmax of 100.00 MHz on Clock pin "RSTB". Current fmax is 43.47 MHz.
|
||||||
|
Warning: Can't provide fmax of 100.00 MHz on Clock pin "STE". Current fmax is 43.47 MHz.
|
||||||
|
Warning: Can't provide fmax of 100.00 MHz on Clock pin "TG42_IN". Current fmax is 27.02 MHz.
|
||||||
|
Warning: Can't provide fmax of 100.00 MHz on Clock pin "WSTB". Current fmax is 43.47 MHz.
|
||||||
|
Info: Found a total of 4 timing assignments that were not implemented
|
||||||
|
Project compilation was successful
|
||||||
|
0 errors
|
||||||
|
39 warnings
|
||||||
|
<EFBFBD>¥ 㤠¥âáï ©â¨ F:\Sprinter\src\altera\max\*.txt
|
||||||
|
<EFBFBD>¥ 㤠¥âáï ©â¨ F:\Sprinter\src\altera\max\*.bak
|
||||||
|
<EFBFBD>¥ 㤠¥âáï ©â¨ F:\Sprinter\src\altera\max\*.db?
|
||||||
|
<EFBFBD>¥ 㤠¥âáï ©â¨ F:\Sprinter\src\altera\max\*.mtb
|
||||||
|
<EFBFBD>¥ 㤠¥âáï ©â¨ F:\Sprinter\src\altera\max\*.hex
|
||||||
|
<EFBFBD>¥ 㤠¥âáï ©â¨ F:\Sprinter\src\altera\max\*.SCF
|
||||||
|
<EFBFBD>¥ 㤠¥âáï ©â¨ F:\Sprinter\src\altera\max\*.INC
|
||||||
|
<EFBFBD>¥ 㤠¥âáï ©â¨ F:\Sprinter\src\altera\max\*.MIF
|
||||||
|
|||||||
@ -1,49 +1,46 @@
|
|||||||
@set BIN=..\..\bin\
|
@echo off
|
||||||
@set CHIP=7128
|
@echo off
|
||||||
|
set BIN=..\..\bin\
|
||||||
|
set LOG=compile.log
|
||||||
|
for /F %%i in ('date /t') do set mydate=%%i
|
||||||
|
for /F %%i in ('time /t') do set mytime=%%i
|
||||||
|
set mydt=%mydate% %mytime%
|
||||||
|
|
||||||
@echo STEP 0, Task [2/2] ALTERA MAX-%CHIP% STREAM
|
set CHIP=7128
|
||||||
|
|
||||||
@if exist SP2_MAX_%CHIP%.pof goto quit
|
echo 0. [2/2] ALTERA MAX-%CHIP% STREAM
|
||||||
|
echo %mydt%: [2/2] ALTERA MAX-%CHIP% STREAM > %LOG%
|
||||||
|
|
||||||
@copy %CHIP%\*.ACF .\*.*
|
if exist SP2_MAX_%CHIP%.pof goto quit
|
||||||
|
|
||||||
@C:\MAXPLUS2\MAXPLUS2.EXE -compile SP2_MAX
|
copy %CHIP%\*.ACF .\*.* >> %LOG% 2>&1
|
||||||
|
|
||||||
@del *.txt
|
C:\MAXPLUS2\MAXPLUS2.EXE -compile SP2_MAX >> %LOG%
|
||||||
@del *.bak
|
|
||||||
@del *.cnf
|
|
||||||
@del *.db?
|
|
||||||
|
|
||||||
@del *.hif
|
del *.txt >> %LOG% 2>&1
|
||||||
@del *.mmf
|
del *.bak >> %LOG% 2>&1
|
||||||
@del *.mtf
|
del *.cnf >> %LOG% 2>&1
|
||||||
@del *.mtb
|
del *.db? >> %LOG% 2>&1
|
||||||
@del *.hex
|
|
||||||
@del *.ndb
|
|
||||||
@del *.pin
|
|
||||||
@rem del *.pof
|
|
||||||
@del *.snf
|
|
||||||
@del *.fit
|
|
||||||
@del *.jam
|
|
||||||
@del *.jbc
|
|
||||||
|
|
||||||
@del *.SCF
|
del *.hif >> %LOG% 2>&1
|
||||||
@del *.ACF
|
del *.mmf >> %LOG% 2>&1
|
||||||
@rem del *.TDF
|
del *.mtf >> %LOG% 2>&1
|
||||||
@del *.INC
|
del *.mtb >> %LOG% 2>&1
|
||||||
@del *.MIF
|
del *.hex >> %LOG% 2>&1
|
||||||
|
del *.ndb >> %LOG% 2>&1
|
||||||
|
del *.pin >> %LOG% 2>&1
|
||||||
|
rem del *.pof >> %LOG% 2>&1
|
||||||
|
del *.snf >> %LOG% 2>&1
|
||||||
|
del *.fit >> %LOG% 2>&1
|
||||||
|
del *.jam >> %LOG% 2>&1
|
||||||
|
del *.jbc >> %LOG% 2>&1
|
||||||
|
|
||||||
@ren SP2_MAX.pof SP2_MAX_%CHIP%.pof
|
del *.SCF >> %LOG% 2>&1
|
||||||
@if errorlevel 1 goto error
|
del *.ACF >> %LOG% 2>&1
|
||||||
|
rem del *.TDF >> %LOG% 2>&1
|
||||||
|
del *.INC >> %LOG% 2>&1
|
||||||
|
del *.MIF >> %LOG% 2>&1
|
||||||
|
|
||||||
|
ren SP2_MAX.pof SP2_MAX_%CHIP%.pof >> %LOG% 2>&1
|
||||||
|
|
||||||
:quit
|
:quit
|
||||||
@echo [OK ]
|
|
||||||
@echo --------------------------------------------------------------------------[Compiling bitstreams DONE]
|
|
||||||
@goto :eof
|
|
||||||
|
|
||||||
:error
|
|
||||||
@color 04
|
|
||||||
@echo ---------------------------------------------------------------------[Compiling bitstream ERROR!!!]
|
|
||||||
@echo.
|
|
||||||
@pause 0
|
|
||||||
@exit 3
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
568
src/altera/quartus/acex/ACCELER.ACF
Normal file
568
src/altera/quartus/acex/ACCELER.ACF
Normal file
@ -0,0 +1,568 @@
|
|||||||
|
--
|
||||||
|
-- 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;
|
||||||
|
|
||||||
26
src/altera/quartus/acex/ACCELER.INC
Normal file
26
src/altera/quartus/acex/ACCELER.INC
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
-- 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]);
|
||||||
374
src/altera/quartus/acex/ACCELER.TDF
Normal file
374
src/altera/quartus/acex/ACCELER.TDF
Normal file
@ -0,0 +1,374 @@
|
|||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
578
src/altera/quartus/acex/AY.ACF
Normal file
578
src/altera/quartus/acex/AY.ACF
Normal file
@ -0,0 +1,578 @@
|
|||||||
|
--
|
||||||
|
-- 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;
|
||||||
|
|
||||||
26
src/altera/quartus/acex/AY.INC
Normal file
26
src/altera/quartus/acex/AY.INC
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
-- 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);
|
||||||
154
src/altera/quartus/acex/AY.MIF
Normal file
154
src/altera/quartus/acex/AY.MIF
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
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 ;
|
||||||
368
src/altera/quartus/acex/AY.TDF
Normal file
368
src/altera/quartus/acex/AY.TDF
Normal file
@ -0,0 +1,368 @@
|
|||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
568
src/altera/quartus/acex/DCP.ACF
Normal file
568
src/altera/quartus/acex/DCP.ACF
Normal file
@ -0,0 +1,568 @@
|
|||||||
|
--
|
||||||
|
-- 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;
|
||||||
|
|
||||||
27
src/altera/quartus/acex/DCP.INC
Normal file
27
src/altera/quartus/acex/DCP.INC
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
-- 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]);
|
||||||
119
src/altera/quartus/acex/DCP.MIF
Normal file
119
src/altera/quartus/acex/DCP.MIF
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
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 ;
|
||||||
750
src/altera/quartus/acex/DCP.TDF
Normal file
750
src/altera/quartus/acex/DCP.TDF
Normal file
@ -0,0 +1,750 @@
|
|||||||
|
|
||||||
|
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..5].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;
|
||||||
|
|
||||||
|
|
||||||
568
src/altera/quartus/acex/KBD.ACF
Normal file
568
src/altera/quartus/acex/KBD.ACF
Normal file
@ -0,0 +1,568 @@
|
|||||||
|
--
|
||||||
|
-- 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;
|
||||||
|
|
||||||
26
src/altera/quartus/acex/KBD.INC
Normal file
26
src/altera/quartus/acex/KBD.INC
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
-- 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);
|
||||||
180
src/altera/quartus/acex/KBD.TDF
Normal file
180
src/altera/quartus/acex/KBD.TDF
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
167
src/altera/quartus/acex/KBD_INI2.MIF
Normal file
167
src/altera/quartus/acex/KBD_INI2.MIF
Normal file
@ -0,0 +1,167 @@
|
|||||||
|
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 ;
|
||||||
|
|
||||||
|
|
||||||
571
src/altera/quartus/acex/MOUSE.ACF
Normal file
571
src/altera/quartus/acex/MOUSE.ACF
Normal file
@ -0,0 +1,571 @@
|
|||||||
|
--
|
||||||
|
-- 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 mouse
|
||||||
|
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 = 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 = 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
|
||||||
|
END_TIME = 10.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
|
||||||
|
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;
|
||||||
|
ANALYSIS_MODE = DELAY_MATRIX;
|
||||||
|
END;
|
||||||
|
|
||||||
|
OTHER_CONFIGURATION
|
||||||
|
BEGIN
|
||||||
|
EXPLICIT_FAMILY = 1;
|
||||||
|
ROW_PINS_LCELL_INSERT = ON;
|
||||||
|
CARRY_OUT_PINS_LCELL_INSERT = OFF;
|
||||||
|
NORMAL_LCELL_INSERT = ON;
|
||||||
|
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 = 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
|
||||||
|
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;
|
||||||
|
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;
|
||||||
|
|
||||||
26
src/altera/quartus/acex/MOUSE.INC
Normal file
26
src/altera/quartus/acex/MOUSE.INC
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
-- 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 Jun 16 17:49:35 2001
|
||||||
|
|
||||||
|
FUNCTION mouse (mouse_d, clk)
|
||||||
|
RETURNS (out_x[9..0], out_y[9..0], out_k[1..0], int);
|
||||||
65
src/altera/quartus/acex/MOUSE.MIF
Normal file
65
src/altera/quartus/acex/MOUSE.MIF
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
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] : 0;
|
||||||
|
|
||||||
|
%
|
||||||
|
11
|
||||||
|
1211
|
||||||
|
122211
|
||||||
|
12222211
|
||||||
|
1222222211
|
||||||
|
122222222211
|
||||||
|
1222222211
|
||||||
|
12222221
|
||||||
|
12222221
|
||||||
|
121112221
|
||||||
|
11 12221
|
||||||
|
1 1221
|
||||||
|
111
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%
|
||||||
|
|
||||||
|
00 : 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
|
||||||
|
10 : 1 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0;
|
||||||
|
20 : 1 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0;
|
||||||
|
30 : 1 2 2 2 2 2 1 1 0 0 0 0 0 0 0 0;
|
||||||
|
40 : 1 2 2 2 2 2 2 2 1 1 0 0 0 0 0 0;
|
||||||
|
50 : 1 2 2 2 2 2 2 2 2 2 1 1 0 0 0 0;
|
||||||
|
60 : 1 2 2 2 2 2 2 2 1 1 0 0 0 0 0 0;
|
||||||
|
E0 : 1 2 2 2 2 2 2 1 0 0 0 0 0 0 0 0;
|
||||||
|
70 : 1 2 2 2 2 2 2 1 0 0 0 0 0 0 0 0;
|
||||||
|
80 : 1 2 1 1 1 2 2 2 1 0 0 0 0 0 0 0;
|
||||||
|
90 : 1 1 0 0 0 1 2 2 2 1 0 0 0 0 0 0;
|
||||||
|
A0 : 1 0 0 0 0 0 1 2 2 1 0 0 0 0 0 0;
|
||||||
|
B0 : 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0;
|
||||||
|
C0 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
|
||||||
|
D0 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
|
||||||
|
E0 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
|
||||||
|
F0 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
|
||||||
|
|
||||||
|
%
|
||||||
|
|
||||||
|
1110 0000 0000 0 00 0000 0000 0000 0000
|
||||||
|
1000 0000 0000 0100 0000 0100 0000 0000
|
||||||
|
1000 1100 1010 0000 1100 1110 0100 1010
|
||||||
|
1110 1010 1100 0100 1010 0100 1010 1100
|
||||||
|
0010 1010 1000 0100 1010 0100 1110 1000
|
||||||
|
0010 1100 1000 0100 1010 0100 1000 1000
|
||||||
|
1110 1000 1000 0100 1010 0010 0110 1000
|
||||||
|
0000 1000 0000 0000 0000 0000 0000 0000
|
||||||
|
|
||||||
|
%
|
||||||
|
|
||||||
|
END;
|
||||||
76
src/altera/quartus/acex/MOUSE.TDF
Normal file
76
src/altera/quartus/acex/MOUSE.TDF
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
|
||||||
|
TITLE "Sp-Mouse";
|
||||||
|
|
||||||
|
INCLUDE "lpm_add_sub";
|
||||||
|
|
||||||
|
SUBDESIGN mouse
|
||||||
|
(
|
||||||
|
MOUSE_D : INPUT;
|
||||||
|
CLK : INPUT;
|
||||||
|
OUT_X[9..0] : OUTPUT;
|
||||||
|
OUT_Y[9..0] : OUTPUT;
|
||||||
|
OUT_K[1..0] : OUTPUT;
|
||||||
|
INT : OUTPUT;
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
|
||||||
|
SUM_X[9..0] : DFFE;
|
||||||
|
SUM_Y[9..0] : DFFE;
|
||||||
|
|
||||||
|
CT[3..0] : DFF;
|
||||||
|
RG[9..0] : DFFE;
|
||||||
|
STATE[1..0] : DFFE;
|
||||||
|
RGK[5..0] : DFFE;
|
||||||
|
|
||||||
|
MOUSE_IMP : NODE;
|
||||||
|
|
||||||
|
DDX[7..0] : NODE;
|
||||||
|
DDY[7..0] : NODE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
CT[].clk = CLK;
|
||||||
|
|
||||||
|
MOUSE_IMP = MOUSE_D xor !DFF(MOUSE_D,CLK,,);
|
||||||
|
|
||||||
|
CT[].clrn = MOUSE_IMP;
|
||||||
|
|
||||||
|
IF CT[] == 12 THEN
|
||||||
|
CT[] = GND;
|
||||||
|
ELSE
|
||||||
|
CT[] = CT[]+1;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
RG[].clk = CLK;
|
||||||
|
RG[].ena = (CT[] == 4) or !RG0;
|
||||||
|
RG[].d = ((MOUSE_D,RG[9..1]) or !RG0);
|
||||||
|
RG[].prn = VCC;
|
||||||
|
|
||||||
|
STATE[].ena = !RG0;
|
||||||
|
STATE[].clk = CLK;
|
||||||
|
|
||||||
|
STATE[].d = (STATE0,RG7);
|
||||||
|
|
||||||
|
RGK[].clk = CLK;
|
||||||
|
RGK[].ena = (RG7 & !RG0);
|
||||||
|
RGK[].d = RG[6..1];
|
||||||
|
|
||||||
|
DDX[] = (RGK[1..0],RG[6..1]);
|
||||||
|
DDY[] = (RGK[3..2],RG[6..1]);
|
||||||
|
|
||||||
|
SUM_X[].ena = LCELL(!RG7 & (STATE[] == 1) & !RG0);
|
||||||
|
SUM_Y[].ena = LCELL(!RG7 & (STATE[] == 2) & !RG0);
|
||||||
|
|
||||||
|
SUM_X[].clk = CLK;
|
||||||
|
SUM_Y[].clk = CLK;
|
||||||
|
|
||||||
|
SUM_X[] = SUM_X[] + (DDX7,DDX7,DDX[]);
|
||||||
|
SUM_Y[] = SUM_Y[] + (DDY7,DDY7,DDY[]);
|
||||||
|
|
||||||
|
OUT_X[] = SUM_X[];
|
||||||
|
OUT_Y[] = SUM_Y[];
|
||||||
|
OUT_K[] = RGK[5..4];
|
||||||
|
|
||||||
|
INT = DFF(((STATE[] == 2) & !RG0),CLK,,);
|
||||||
|
|
||||||
|
END;
|
||||||
1366
src/altera/quartus/acex/SP2_ACEX.ACF
Normal file
1366
src/altera/quartus/acex/SP2_ACEX.ACF
Normal file
File diff suppressed because it is too large
Load Diff
1227
src/altera/quartus/acex/SP2_ACEX.TDF
Normal file
1227
src/altera/quartus/acex/SP2_ACEX.TDF
Normal file
File diff suppressed because it is too large
Load Diff
103
src/altera/quartus/acex/SP2_ACEX.flow.rpt
Normal file
103
src/altera/quartus/acex/SP2_ACEX.flow.rpt
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
Flow report for SP2_ACEX
|
||||||
|
Sun Aug 28 15:25:51 2022
|
||||||
|
Quartus II Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition
|
||||||
|
|
||||||
|
|
||||||
|
---------------------
|
||||||
|
; Table of Contents ;
|
||||||
|
---------------------
|
||||||
|
1. Legal Notice
|
||||||
|
2. Flow Summary
|
||||||
|
3. Flow Settings
|
||||||
|
4. Flow Non-Default Global Settings
|
||||||
|
5. Flow Elapsed Time
|
||||||
|
6. Flow OS Summary
|
||||||
|
7. Flow Log
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
; Legal Notice ;
|
||||||
|
----------------
|
||||||
|
Copyright (C) 1991-2009 Altera Corporation
|
||||||
|
Your use of Altera Corporation's design tools, logic functions
|
||||||
|
and other software and tools, and its AMPP partner logic
|
||||||
|
functions, and any output files from any of the foregoing
|
||||||
|
(including device programming or simulation files), and any
|
||||||
|
associated documentation or information are expressly subject
|
||||||
|
to the terms and conditions of the Altera Program License
|
||||||
|
Subscription Agreement, Altera MegaCore Function License
|
||||||
|
Agreement, or other applicable license agreement, including,
|
||||||
|
without limitation, that your use is for the sole purpose of
|
||||||
|
programming logic devices manufactured by Altera and sold by
|
||||||
|
Altera or its authorized distributors. Please refer to the
|
||||||
|
applicable agreement for further details.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
+------------------------------------------------------------------------+
|
||||||
|
; Flow Summary ;
|
||||||
|
+-------------------------+----------------------------------------------+
|
||||||
|
; Flow Status ; Flow Failed - Sun Aug 28 15:25:51 2022 ;
|
||||||
|
; Quartus II Version ; 9.0 Build 235 06/17/2009 SP 2 SJ Web Edition ;
|
||||||
|
; Revision Name ; SP2_ACEX ;
|
||||||
|
; Top-level Entity Name ; SP2_ACEX ;
|
||||||
|
; Family ; ACEX1K ;
|
||||||
|
; Device ; EP1K30QC208-3 ;
|
||||||
|
; Timing Models ; Final ;
|
||||||
|
; Met timing requirements ; N/A ;
|
||||||
|
+-------------------------+----------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
+-----------------------------------------+
|
||||||
|
; Flow Settings ;
|
||||||
|
+-------------------+---------------------+
|
||||||
|
; Option ; Setting ;
|
||||||
|
+-------------------+---------------------+
|
||||||
|
; Start date & time ; 08/28/2022 15:25:50 ;
|
||||||
|
; Main task ; Compilation ;
|
||||||
|
; Revision Name ; SP2_ACEX ;
|
||||||
|
+-------------------+---------------------+
|
||||||
|
|
||||||
|
|
||||||
|
+--------------------------------------------------------------------------------------------------------------------+
|
||||||
|
; Flow Non-Default Global Settings ;
|
||||||
|
+---------------------------------+-----------------------------+---------------+-------------+----------------------+
|
||||||
|
; Assignment Name ; Value ; Default Value ; Entity Name ; Section Id ;
|
||||||
|
+---------------------------------+-----------------------------+---------------+-------------+----------------------+
|
||||||
|
; COMPILER_SIGNATURE_ID ; 52243291855.166168955009032 ; -- ; -- ; -- ;
|
||||||
|
; CUT_OFF_READ_DURING_WRITE_PATHS ; Off ; On ; -- ; -- ;
|
||||||
|
; EDA_INPUT_GND_NAME ; Gnd ; -- ; -- ; eda_design_synthesis ;
|
||||||
|
; EDA_INPUT_VCC_NAME ; Vcc ; -- ; -- ; eda_design_synthesis ;
|
||||||
|
; EDA_SHOW_LMF_MAPPING_MESSAGES ; Off ; -- ; -- ; eda_design_synthesis ;
|
||||||
|
; EXCLUDE_TPD_PATHS_LESS_THAN ; 0 ns ; -- ; -- ; -- ;
|
||||||
|
; FMAX_REQUIREMENT ; 100 MHz ; -- ; -- ; -- ;
|
||||||
|
+---------------------------------+-----------------------------+---------------+-------------+----------------------+
|
||||||
|
|
||||||
|
|
||||||
|
+--------------------------------------------------------------------------------------------------------------------------+
|
||||||
|
; Flow Elapsed Time ;
|
||||||
|
+----------------------+--------------+-------------------------+---------------------+------------------------------------+
|
||||||
|
; Module Name ; Elapsed Time ; Average Processors Used ; Peak Virtual Memory ; Total CPU Time (on all processors) ;
|
||||||
|
+----------------------+--------------+-------------------------+---------------------+------------------------------------+
|
||||||
|
; Analysis & Synthesis ; 00:00:01 ; 1.0 ; 228 MB ; 00:00:01 ;
|
||||||
|
; Total ; 00:00:01 ; -- ; -- ; 00:00:01 ;
|
||||||
|
+----------------------+--------------+-------------------------+---------------------+------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
+---------------------------------------------------------------------------------------+
|
||||||
|
; Flow OS Summary ;
|
||||||
|
+----------------------+------------------+---------------+------------+----------------+
|
||||||
|
; Module Name ; Machine Hostname ; OS Name ; OS Version ; Processor type ;
|
||||||
|
+----------------------+------------------+---------------+------------+----------------+
|
||||||
|
; Analysis & Synthesis ; DESKTOP-72JG930 ; Windows Vista ; 6.2 ; x86_64 ;
|
||||||
|
+----------------------+------------------+---------------+------------+----------------+
|
||||||
|
|
||||||
|
|
||||||
|
------------
|
||||||
|
; Flow Log ;
|
||||||
|
------------
|
||||||
|
quartus_map --read_settings_files=on --write_settings_files=off SP2_ACEX -c SP2_ACEX
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
184
src/altera/quartus/acex/SP2_ACEX.map.rpt
Normal file
184
src/altera/quartus/acex/SP2_ACEX.map.rpt
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
Analysis & Synthesis report for SP2_ACEX
|
||||||
|
Sun Aug 28 15:25:51 2022
|
||||||
|
Quartus II Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition
|
||||||
|
|
||||||
|
|
||||||
|
---------------------
|
||||||
|
; Table of Contents ;
|
||||||
|
---------------------
|
||||||
|
1. Legal Notice
|
||||||
|
2. Analysis & Synthesis Summary
|
||||||
|
3. Analysis & Synthesis Settings
|
||||||
|
4. Analysis & Synthesis Source Files Read
|
||||||
|
5. Analysis & Synthesis Messages
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
; Legal Notice ;
|
||||||
|
----------------
|
||||||
|
Copyright (C) 1991-2009 Altera Corporation
|
||||||
|
Your use of Altera Corporation's design tools, logic functions
|
||||||
|
and other software and tools, and its AMPP partner logic
|
||||||
|
functions, and any output files from any of the foregoing
|
||||||
|
(including device programming or simulation files), and any
|
||||||
|
associated documentation or information are expressly subject
|
||||||
|
to the terms and conditions of the Altera Program License
|
||||||
|
Subscription Agreement, Altera MegaCore Function License
|
||||||
|
Agreement, or other applicable license agreement, including,
|
||||||
|
without limitation, that your use is for the sole purpose of
|
||||||
|
programming logic devices manufactured by Altera and sold by
|
||||||
|
Altera or its authorized distributors. Please refer to the
|
||||||
|
applicable agreement for further details.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
+----------------------------------------------------------------------------+
|
||||||
|
; Analysis & Synthesis Summary ;
|
||||||
|
+-----------------------------+----------------------------------------------+
|
||||||
|
; Analysis & Synthesis Status ; Failed - Sun Aug 28 15:25:51 2022 ;
|
||||||
|
; Quartus II Version ; 9.0 Build 235 06/17/2009 SP 2 SJ Web Edition ;
|
||||||
|
; Revision Name ; SP2_ACEX ;
|
||||||
|
; Top-level Entity Name ; SP2_ACEX ;
|
||||||
|
; Family ; ACEX1K ;
|
||||||
|
+-----------------------------+----------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
+----------------------------------------------------------------------------------------------+
|
||||||
|
; Analysis & Synthesis Settings ;
|
||||||
|
+--------------------------------------------------------------+---------------+---------------+
|
||||||
|
; Option ; Setting ; Default Value ;
|
||||||
|
+--------------------------------------------------------------+---------------+---------------+
|
||||||
|
; Device ; EP1K30QC208-3 ; ;
|
||||||
|
; Top-level entity name ; SP2_ACEX ; SP2_ACEX ;
|
||||||
|
; Family name ; ACEX1K ; Stratix II ;
|
||||||
|
; Use smart compilation ; Off ; Off ;
|
||||||
|
; Create Debugging Nodes for IP Cores ; Off ; Off ;
|
||||||
|
; Preserve fewer node names ; On ; On ;
|
||||||
|
; Disable OpenCore Plus hardware evaluation ; Off ; Off ;
|
||||||
|
; Verilog Version ; Verilog_2001 ; Verilog_2001 ;
|
||||||
|
; VHDL Version ; VHDL93 ; VHDL93 ;
|
||||||
|
; State Machine Processing ; Auto ; Auto ;
|
||||||
|
; Safe State Machine ; Off ; Off ;
|
||||||
|
; Extract Verilog State Machines ; On ; On ;
|
||||||
|
; Extract VHDL State Machines ; On ; On ;
|
||||||
|
; Ignore Verilog initial constructs ; Off ; Off ;
|
||||||
|
; Iteration limit for constant Verilog loops ; 5000 ; 5000 ;
|
||||||
|
; Iteration limit for non-constant Verilog loops ; 250 ; 250 ;
|
||||||
|
; Add Pass-Through Logic to Inferred RAMs ; On ; On ;
|
||||||
|
; Parallel Synthesis ; Off ; Off ;
|
||||||
|
; NOT Gate Push-Back ; On ; On ;
|
||||||
|
; Power-Up Don't Care ; On ; On ;
|
||||||
|
; Remove Redundant Logic Cells ; Off ; Off ;
|
||||||
|
; Remove Duplicate Registers ; On ; On ;
|
||||||
|
; Ignore CARRY Buffers ; Off ; Off ;
|
||||||
|
; Ignore CASCADE Buffers ; Off ; Off ;
|
||||||
|
; Ignore GLOBAL Buffers ; Off ; Off ;
|
||||||
|
; Ignore ROW GLOBAL Buffers ; Off ; Off ;
|
||||||
|
; Ignore LCELL Buffers ; Off ; Off ;
|
||||||
|
; Ignore SOFT Buffers ; On ; On ;
|
||||||
|
; Limit AHDL Integers to 32 Bits ; Off ; Off ;
|
||||||
|
; Auto Implement in ROM ; Off ; Off ;
|
||||||
|
; Optimization Technique ; Area ; Area ;
|
||||||
|
; Carry Chain Length ; 32 ; 32 ;
|
||||||
|
; Cascade Chain Length ; 2 ; 2 ;
|
||||||
|
; Auto Carry Chains ; On ; On ;
|
||||||
|
; Auto Open-Drain Pins ; On ; On ;
|
||||||
|
; Auto ROM Replacement ; On ; On ;
|
||||||
|
; Auto RAM Replacement ; On ; On ;
|
||||||
|
; Auto Clock Enable Replacement ; On ; On ;
|
||||||
|
; Strict RAM Replacement ; Off ; Off ;
|
||||||
|
; Auto Resource Sharing ; Off ; Off ;
|
||||||
|
; Allow Any RAM Size For Recognition ; Off ; Off ;
|
||||||
|
; Allow Any ROM Size For Recognition ; Off ; Off ;
|
||||||
|
; Use LogicLock Constraints during Resource Balancing ; On ; On ;
|
||||||
|
; Ignore translate_off and synthesis_off directives ; Off ; Off ;
|
||||||
|
; Show Parameter Settings Tables in Synthesis Report ; On ; On ;
|
||||||
|
; HDL message level ; Level2 ; Level2 ;
|
||||||
|
; Suppress Register Optimization Related Messages ; Off ; Off ;
|
||||||
|
; Number of Removed Registers Reported in Synthesis Report ; 100 ; 100 ;
|
||||||
|
; Number of Inverted Registers Reported in Synthesis Report ; 100 ; 100 ;
|
||||||
|
; Block Design Naming ; Auto ; Auto ;
|
||||||
|
; Synthesis Effort ; Auto ; Auto ;
|
||||||
|
; Shift Register Replacement - Allow Asynchronous Clear Signal ; On ; On ;
|
||||||
|
; Analysis & Synthesis Message Level ; Medium ; Medium ;
|
||||||
|
+--------------------------------------------------------------+---------------+---------------+
|
||||||
|
|
||||||
|
|
||||||
|
+----------------------------------------------------------------------------------------------------------------------------------------------+
|
||||||
|
; Analysis & Synthesis Source Files Read ;
|
||||||
|
+----------------------------------+-----------------+-----------------------+-----------------------------------------------------------------+
|
||||||
|
; File Name with User-Entered Path ; Used in Netlist ; File Type ; File Name with Absolute Path ;
|
||||||
|
+----------------------------------+-----------------+-----------------------+-----------------------------------------------------------------+
|
||||||
|
; SP2_ACEX.tdf ; yes ; Auto-Found AHDL File ; C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf ;
|
||||||
|
; lpm_ram_dp.inc ; yes ; Auto-Found AHDL File ; c:/altera/90sp2/quartus/libraries/megafunctions/lpm_ram_dp.inc ;
|
||||||
|
; kbd.inc ; yes ; Auto-Found AHDL File ; C:/Sprinter/src/altera/quartus/acex/kbd.inc ;
|
||||||
|
; video2.inc ; yes ; Auto-Found AHDL File ; C:/Sprinter/src/altera/quartus/acex/video2.inc ;
|
||||||
|
; dcp.inc ; yes ; Auto-Found AHDL File ; C:/Sprinter/src/altera/quartus/acex/dcp.inc ;
|
||||||
|
; acceler.inc ; yes ; Auto-Found AHDL File ; C:/Sprinter/src/altera/quartus/acex/acceler.inc ;
|
||||||
|
; ay.inc ; yes ; Auto-Found AHDL File ; C:/Sprinter/src/altera/quartus/acex/ay.inc ;
|
||||||
|
; mouse.inc ; yes ; Auto-Found AHDL File ; C:/Sprinter/src/altera/quartus/acex/mouse.inc ;
|
||||||
|
; MOUSE.tdf ; yes ; Auto-Found AHDL File ; C:/Sprinter/src/altera/quartus/acex/MOUSE.tdf ;
|
||||||
|
; lpm_add_sub.inc ; yes ; Auto-Found AHDL File ; c:/altera/90sp2/quartus/libraries/megafunctions/lpm_add_sub.inc ;
|
||||||
|
; kbd.tdf ; yes ; Auto-Found AHDL File ; C:/Sprinter/src/altera/quartus/acex/kbd.tdf ;
|
||||||
|
; lpm_ram_dq.inc ; yes ; Auto-Found AHDL File ; c:/altera/90sp2/quartus/libraries/megafunctions/lpm_ram_dq.inc ;
|
||||||
|
; lpm_ram_dq.tdf ; yes ; Megafunction ; c:/altera/90sp2/quartus/libraries/megafunctions/lpm_ram_dq.tdf ;
|
||||||
|
; altram.inc ; yes ; Megafunction ; c:/altera/90sp2/quartus/libraries/megafunctions/altram.inc ;
|
||||||
|
; lpm_mux.inc ; yes ; Megafunction ; c:/altera/90sp2/quartus/libraries/megafunctions/lpm_mux.inc ;
|
||||||
|
; lpm_decode.inc ; yes ; Megafunction ; c:/altera/90sp2/quartus/libraries/megafunctions/lpm_decode.inc ;
|
||||||
|
; aglobal90.inc ; yes ; Megafunction ; c:/altera/90sp2/quartus/libraries/megafunctions/aglobal90.inc ;
|
||||||
|
; altram.tdf ; yes ; Megafunction ; c:/altera/90sp2/quartus/libraries/megafunctions/altram.tdf ;
|
||||||
|
; memmodes.inc ; yes ; Megafunction ; c:/altera/90sp2/quartus/libraries/others/maxplus2/memmodes.inc ;
|
||||||
|
; altsyncram.inc ; yes ; Megafunction ; c:/altera/90sp2/quartus/libraries/megafunctions/altsyncram.inc ;
|
||||||
|
; altqpram.inc ; yes ; Megafunction ; c:/altera/90sp2/quartus/libraries/megafunctions/altqpram.inc ;
|
||||||
|
+----------------------------------+-----------------+-----------------------+-----------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
+-------------------------------+
|
||||||
|
; Analysis & Synthesis Messages ;
|
||||||
|
+-------------------------------+
|
||||||
|
Info: *******************************************************************
|
||||||
|
Info: Running Quartus II Analysis & Synthesis
|
||||||
|
Info: Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition
|
||||||
|
Info: Processing started: Sun Aug 28 15:25:50 2022
|
||||||
|
Info: Command: quartus_map --read_settings_files=on --write_settings_files=off SP2_ACEX -c SP2_ACEX
|
||||||
|
Warning: Using design file SP2_ACEX.tdf, which is not specified as a design file for the current project, but contains definitions for 1 design units and 1 entities in project
|
||||||
|
Info: Found entity 1: SP2_ACEX
|
||||||
|
Info: Elaborating entity "SP2_ACEX" for the top level hierarchy
|
||||||
|
Warning: Variable or input pin "DMD" is defined but never used
|
||||||
|
Warning: Variable or input pin "T_SIGNAL" is defined but never used
|
||||||
|
Warning: Variable or input pin "RED" is defined but never used
|
||||||
|
Warning: Variable or input pin "GREEN" is defined but never used
|
||||||
|
Warning: Variable or input pin "BLUE" is defined but never used
|
||||||
|
Warning: Variable or input pin "MDR" is defined but never used
|
||||||
|
Warning: Variable or input pin "ISA_CASH" is defined but never used
|
||||||
|
Warning: Variable or input pin "ROM_WRITE_MODE" is defined but never used
|
||||||
|
Warning: Variable or input pin "/HALT" is defined but never used
|
||||||
|
Warning: Using design file MOUSE.tdf, which is not specified as a design file for the current project, but contains definitions for 1 design units and 1 entities in project
|
||||||
|
Info: Found entity 1: mouse
|
||||||
|
Info: Elaborating entity "MOUSE" for hierarchy "MOUSE:MS"
|
||||||
|
Warning: Variable or input pin "KB_OFL" is defined but never used
|
||||||
|
Warning: Using design file kbd.tdf, which is not specified as a design file for the current project, but contains definitions for 1 design units and 1 entities in project
|
||||||
|
Info: Found entity 1: kbd
|
||||||
|
Info: Elaborating entity "kbd" for hierarchy "kbd:KEYS"
|
||||||
|
Warning: Variable or input pin "/IOM" is defined but never used
|
||||||
|
Warning: Variable or input pin "/M1" is defined but never used
|
||||||
|
Info: Elaborating entity "lpm_ram_dq" for hierarchy "kbd:KEYS|lpm_ram_dq:$00021"
|
||||||
|
Info: Elaborated megafunction instantiation "kbd:KEYS|lpm_ram_dq:$00021"
|
||||||
|
Info: Instantiated megafunction "kbd:KEYS|lpm_ram_dq:$00021" with the following parameter:
|
||||||
|
Info: Parameter "LPM_WIDTH" = "8"
|
||||||
|
Info: Parameter "LPM_WIDTHAD" = "8"
|
||||||
|
Info: Parameter "LPM_FILE" = "KBD_INI2.MIF"
|
||||||
|
Info: Parameter "LPM_OUTDATA" = "UNREGISTERED"
|
||||||
|
Info: Elaborating entity "altram" for hierarchy "kbd:KEYS|lpm_ram_dq:$00021|altram:sram"
|
||||||
|
Error: Memory Initialization File or Hexadecimal (Intel-Format) File "KBD_INI2.MIF" contains illegal syntax at line 13 File: C:/Sprinter/src/altera/quartus/acex/KBD_INI2.MIF Line: 13
|
||||||
|
Critical Warning: Can't read Memory Initialization File or Hexadecimal (Intel-Format) File KBD_INI2.MIF -- setting all initial values to 0
|
||||||
|
Error: Can't elaborate user hierarchy "kbd:KEYS|lpm_ram_dq:$00021|altram:sram" File: c:/altera/90sp2/quartus/libraries/megafunctions/lpm_ram_dq.tdf Line: 101
|
||||||
|
Info: Elaborated megafunction instantiation "kbd:KEYS|lpm_ram_dq:$00021|altram:sram", which is child of megafunction instantiation "kbd:KEYS|lpm_ram_dq:$00021"
|
||||||
|
Error: Quartus II Analysis & Synthesis was unsuccessful. 2 errors, 16 warnings
|
||||||
|
Error: Peak virtual memory: 228 megabytes
|
||||||
|
Error: Processing ended: Sun Aug 28 15:25:51 2022
|
||||||
|
Error: Elapsed time: 00:00:01
|
||||||
|
Error: Total CPU time (on all processors): 00:00:01
|
||||||
|
|
||||||
|
|
||||||
5
src/altera/quartus/acex/SP2_ACEX.map.summary
Normal file
5
src/altera/quartus/acex/SP2_ACEX.map.summary
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Analysis & Synthesis Status : Failed - Sun Aug 28 15:25:51 2022
|
||||||
|
Quartus II Version : 9.0 Build 235 06/17/2009 SP 2 SJ Web Edition
|
||||||
|
Revision Name : SP2_ACEX
|
||||||
|
Top-level Entity Name : SP2_ACEX
|
||||||
|
Family : ACEX1K
|
||||||
30
src/altera/quartus/acex/SP2_ACEX.qpf
Normal file
30
src/altera/quartus/acex/SP2_ACEX.qpf
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# -------------------------------------------------------------------------- #
|
||||||
|
#
|
||||||
|
# Copyright (C) 1991-2009 Altera Corporation
|
||||||
|
# Your use of Altera Corporation's design tools, logic functions
|
||||||
|
# and other software and tools, and its AMPP partner logic
|
||||||
|
# functions, and any output files from any of the foregoing
|
||||||
|
# (including device programming or simulation files), and any
|
||||||
|
# associated documentation or information are expressly subject
|
||||||
|
# to the terms and conditions of the Altera Program License
|
||||||
|
# Subscription Agreement, Altera MegaCore Function License
|
||||||
|
# Agreement, or other applicable license agreement, including,
|
||||||
|
# without limitation, that your use is for the sole purpose of
|
||||||
|
# programming logic devices manufactured by Altera and sold by
|
||||||
|
# Altera or its authorized distributors. Please refer to the
|
||||||
|
# applicable agreement for further details.
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------- #
|
||||||
|
#
|
||||||
|
# Quartus II
|
||||||
|
# Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition
|
||||||
|
# Date created = 03:32:05 August 28, 2022
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------- #
|
||||||
|
|
||||||
|
QUARTUS_VERSION = "9.0"
|
||||||
|
DATE = "03:32:05 August 28, 2022"
|
||||||
|
|
||||||
|
# Revisions
|
||||||
|
|
||||||
|
PROJECT_REVISION = "SP2_ACEX"
|
||||||
1918
src/altera/quartus/acex/SP2_ACEX.qsf
Normal file
1918
src/altera/quartus/acex/SP2_ACEX.qsf
Normal file
File diff suppressed because it is too large
Load Diff
18
src/altera/quartus/acex/SP2_ACEX.qws
Normal file
18
src/altera/quartus/acex/SP2_ACEX.qws
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
[ProjectWorkspace]
|
||||||
|
ptn_Child1=Frames
|
||||||
|
[ProjectWorkspace.Frames]
|
||||||
|
ptn_Child1=ChildFrames
|
||||||
|
[ProjectWorkspace.Frames.ChildFrames]
|
||||||
|
ptn_Child1=Document-0
|
||||||
|
ptn_Child2=Document-1
|
||||||
|
ptn_Child3=Document-2
|
||||||
|
[ProjectWorkspace.Frames.ChildFrames.Document-2]
|
||||||
|
ptn_Child1=ViewFrame-0
|
||||||
|
[ProjectWorkspace.Frames.ChildFrames.Document-2.ViewFrame-0]
|
||||||
|
DocPathName=KBD_INI2.MIF
|
||||||
|
DocumentCLSID={0b720e69-67da-11d0-bf4f-0000c08cb0c0}
|
||||||
|
IsChildFrameDetached=False
|
||||||
|
IsActiveChildFrame=True
|
||||||
|
ptn_Child1=StateMap
|
||||||
|
[ProjectWorkspace.Frames.ChildFrames.Document-2.ViewFrame-0.StateMap]
|
||||||
|
AFC_IN_REPORT=False
|
||||||
588
src/altera/quartus/acex/VIDEO2.ACF
Normal file
588
src/altera/quartus/acex/VIDEO2.ACF
Normal file
@ -0,0 +1,588 @@
|
|||||||
|
--
|
||||||
|
-- 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 video2
|
||||||
|
BEGIN
|
||||||
|
DEVICE = AUTO;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DEFAULT_DEVICES
|
||||||
|
BEGIN
|
||||||
|
ASK_BEFORE_ADDING_EXTRA_DEVICES = ON;
|
||||||
|
AUTO_DEVICE = EP1K30TC144-1;
|
||||||
|
AUTO_DEVICE = EP1K30QC208-1;
|
||||||
|
AUTO_DEVICE = EP1K30FC256-1;
|
||||||
|
AUTO_DEVICE = EP1K50TC144-1;
|
||||||
|
AUTO_DEVICE = EP1K50QC208-1;
|
||||||
|
AUTO_DEVICE = EP1K50FC256-1;
|
||||||
|
AUTO_DEVICE = EP1K50FC484-1;
|
||||||
|
AUTO_DEVICE = EP1K100QC208-1;
|
||||||
|
AUTO_DEVICE = EP1K100FC256-1;
|
||||||
|
AUTO_DEVICE = EP1K100FC484-1;
|
||||||
|
END;
|
||||||
|
|
||||||
|
TIMING_POINT
|
||||||
|
BEGIN
|
||||||
|
MAINTAIN_STABLE_SYNTHESIS = ON;
|
||||||
|
DEVICE_FOR_TIMING_SYNTHESIS = EP1K30FC256-3;
|
||||||
|
CUT_ALL_BIDIR = ON;
|
||||||
|
CUT_ALL_CLEAR_PRESET = ON;
|
||||||
|
FREQUENCY = 200MHz;
|
||||||
|
END;
|
||||||
|
|
||||||
|
IGNORED_ASSIGNMENTS
|
||||||
|
BEGIN
|
||||||
|
IGNORE_CLIQUE_ASSIGNMENTS = OFF;
|
||||||
|
IGNORE_LOGIC_OPTION_ASSIGNMENTS = OFF;
|
||||||
|
IGNORE_TIMING_ASSIGNMENTS = OFF;
|
||||||
|
IGNORE_CHIP_ASSIGNMENTS = OFF;
|
||||||
|
IGNORE_PIN_ASSIGNMENTS = OFF;
|
||||||
|
IGNORE_LC_ASSIGNMENTS = OFF;
|
||||||
|
IGNORE_DEVICE_ASSIGNMENTS = OFF;
|
||||||
|
IGNORE_LOCAL_ROUTING_ASSIGNMENTS = OFF;
|
||||||
|
DEMOTE_SPECIFIC_LCELL_ASSIGNMENTS_TO_LAB_ASSIGNMENTS = OFF;
|
||||||
|
FIT_IGNORE_TIMING = OFF;
|
||||||
|
END;
|
||||||
|
|
||||||
|
LOGIC_OPTIONS
|
||||||
|
BEGIN
|
||||||
|
|VAO15 : FAST_IO = ON;
|
||||||
|
|VAO14 : FAST_IO = ON;
|
||||||
|
|VAO13 : FAST_IO = ON;
|
||||||
|
|VAO12 : FAST_IO = ON;
|
||||||
|
|VAO11 : FAST_IO = ON;
|
||||||
|
|VAO10 : FAST_IO = ON;
|
||||||
|
|VAO9 : FAST_IO = ON;
|
||||||
|
|VAO8 : FAST_IO = ON;
|
||||||
|
|VAO7 : FAST_IO = ON;
|
||||||
|
|VAO6 : FAST_IO = ON;
|
||||||
|
|VAO5 : FAST_IO = ON;
|
||||||
|
|VAO4 : FAST_IO = ON;
|
||||||
|
|VAO3 : FAST_IO = ON;
|
||||||
|
|VAO2 : FAST_IO = ON;
|
||||||
|
|VAO1 : FAST_IO = ON;
|
||||||
|
|VAO0 : FAST_IO = ON;
|
||||||
|
END;
|
||||||
|
|
||||||
|
GLOBAL_PROJECT_DEVICE_OPTIONS
|
||||||
|
BEGIN
|
||||||
|
RESERVED_LCELLS_PERCENT = 0;
|
||||||
|
RESERVED_PINS_PERCENT = 0;
|
||||||
|
SECURITY_BIT = OFF;
|
||||||
|
USER_CLOCK = OFF;
|
||||||
|
AUTO_RESTART = OFF;
|
||||||
|
RELEASE_CLEARS = OFF;
|
||||||
|
ENABLE_DCLK_OUTPUT = OFF;
|
||||||
|
DISABLE_TIME_OUT = OFF;
|
||||||
|
CONFIG_SCHEME = ACTIVE_SERIAL;
|
||||||
|
FLEX8000_ENABLE_JTAG = OFF;
|
||||||
|
DATA0 = RESERVED_TRI_STATED;
|
||||||
|
DATA1_TO_DATA7 = UNRESERVED;
|
||||||
|
nWS_nRS_nCS_CS = UNRESERVED;
|
||||||
|
RDYnBUSY = UNRESERVED;
|
||||||
|
RDCLK = UNRESERVED;
|
||||||
|
SDOUT = RESERVED_DRIVES_OUT;
|
||||||
|
ADD0_TO_ADD12 = UNRESERVED;
|
||||||
|
ADD13 = UNRESERVED;
|
||||||
|
ADD14 = UNRESERVED;
|
||||||
|
ADD15 = UNRESERVED;
|
||||||
|
ADD16 = UNRESERVED;
|
||||||
|
ADD17 = UNRESERVED;
|
||||||
|
CLKUSR = UNRESERVED;
|
||||||
|
nCEO = UNRESERVED;
|
||||||
|
ENABLE_CHIP_WIDE_RESET = OFF;
|
||||||
|
ENABLE_CHIP_WIDE_OE = OFF;
|
||||||
|
ENABLE_INIT_DONE_OUTPUT = OFF;
|
||||||
|
FLEX10K_JTAG_USER_CODE = 7F;
|
||||||
|
CONFIG_SCHEME_10K = PASSIVE_SERIAL;
|
||||||
|
MAX7000S_USER_CODE = FFFF;
|
||||||
|
FLEX10K_ENABLE_LOCK_OUTPUT = OFF;
|
||||||
|
MAX7000S_ENABLE_JTAG = ON;
|
||||||
|
MULTIVOLT_IO = OFF;
|
||||||
|
CONFIG_SCHEME_FLEX_6000 = PASSIVE_SERIAL;
|
||||||
|
FLEX6000_ENABLE_JTAG = OFF;
|
||||||
|
FLEX10K_USE_LOW_VOLTAGE_CONFIGURATION_EPROM = OFF;
|
||||||
|
FLEX10KA_USE_LOW_VOLTAGE_CONFIGURATION_EPROM = ON;
|
||||||
|
FLEX6000_USE_LOW_VOLTAGE_CONFIGURATION_EPROM = OFF;
|
||||||
|
MAX7000AE_USER_CODE = FFFFFFFF;
|
||||||
|
MAX7000AE_ENABLE_JTAG = ON;
|
||||||
|
FLEX_CONFIGURATION_EPROM = AUTO;
|
||||||
|
CONFIG_EPROM_USER_CODE = FFFFFFFF;
|
||||||
|
CONFIG_EPROM_PULLUP_RESISTOR = ON;
|
||||||
|
MAX7000B_VCCIO_IOBANK1 = 3.3V;
|
||||||
|
MAX7000B_VCCIO_IOBANK2 = 3.3V;
|
||||||
|
MAX7000B_ENABLE_VREFA = OFF;
|
||||||
|
MAX7000B_ENABLE_VREFB = OFF;
|
||||||
|
END;
|
||||||
|
|
||||||
|
GLOBAL_PROJECT_SYNTHESIS_ASSIGNMENT_OPTIONS
|
||||||
|
BEGIN
|
||||||
|
OPTIMIZE_FOR_SPEED = 5;
|
||||||
|
MULTI_LEVEL_SYNTHESIS_MAX5000_7000 = OFF;
|
||||||
|
AUTO_GLOBAL_CLOCK = ON;
|
||||||
|
AUTO_GLOBAL_CLEAR = ON;
|
||||||
|
AUTO_GLOBAL_PRESET = ON;
|
||||||
|
AUTO_GLOBAL_OE = ON;
|
||||||
|
AUTO_FAST_IO = OFF;
|
||||||
|
DEVICE_FAMILY = ACEX1K;
|
||||||
|
AUTO_REGISTER_PACKING = OFF;
|
||||||
|
ONE_HOT_STATE_MACHINE_ENCODING = OFF;
|
||||||
|
AUTO_OPEN_DRAIN_PINS = ON;
|
||||||
|
AUTO_IMPLEMENT_IN_EAB = OFF;
|
||||||
|
MULTI_LEVEL_SYNTHESIS_MAX9000 = ON;
|
||||||
|
STYLE = FAST;
|
||||||
|
END;
|
||||||
|
|
||||||
|
COMPILER_PROCESSING_CONFIGURATION
|
||||||
|
BEGIN
|
||||||
|
USE_QUARTUS_FITTER = ON;
|
||||||
|
DESIGN_DOCTOR = OFF;
|
||||||
|
DESIGN_DOCTOR_RULES = EPLD;
|
||||||
|
FUNCTIONAL_SNF_EXTRACTOR = OFF;
|
||||||
|
TIMING_SNF_EXTRACTOR = ON;
|
||||||
|
OPTIMIZE_TIMING_SNF = OFF;
|
||||||
|
LINKED_SNF_EXTRACTOR = OFF;
|
||||||
|
RPT_FILE_EQUATIONS = ON;
|
||||||
|
RPT_FILE_HIERARCHY = ON;
|
||||||
|
RPT_FILE_LCELL_INTERCONNECT = ON;
|
||||||
|
RPT_FILE_USER_ASSIGNMENTS = ON;
|
||||||
|
GENERATE_AHDL_TDO_FILE = OFF;
|
||||||
|
SMART_RECOMPILE = OFF;
|
||||||
|
FITTER_SETTINGS = NORMAL;
|
||||||
|
PRESERVE_ALL_NODE_NAME_SYNONYMS = OFF;
|
||||||
|
END;
|
||||||
|
|
||||||
|
COMPILER_INTERFACES_CONFIGURATION
|
||||||
|
BEGIN
|
||||||
|
EDIF_NETLIST_WRITER = OFF;
|
||||||
|
EDIF_OUTPUT_VERSION = 200;
|
||||||
|
XNF_EMULATE_TRI_STATE_BUSES = INTERNAL_LOGIC;
|
||||||
|
XNF_TRANSLATE_INTERNAL_NODE_NAMES = ON;
|
||||||
|
XNF_GENERATE_AHDL_TDX_FILE = ON;
|
||||||
|
VERILOG_NETLIST_WRITER = OFF;
|
||||||
|
VHDL_NETLIST_WRITER = OFF;
|
||||||
|
USE_SYNOPSYS_SYNTHESIS = OFF;
|
||||||
|
SYNOPSYS_COMPILER = DESIGN;
|
||||||
|
SYNOPSYS_DESIGNWARE = OFF;
|
||||||
|
SYNOPSYS_HIERARCHICAL_COMPILATION = ON;
|
||||||
|
SYNOPSYS_BOUNDARY_OPTIMIZATION = OFF;
|
||||||
|
SYNOPSYS_MAPPING_EFFORT = MEDIUM;
|
||||||
|
VHDL_READER_VERSION = VHDL87;
|
||||||
|
VHDL_WRITER_VERSION = VHDL87;
|
||||||
|
VERILOG_OUTPUT_MAP_ILLEGAL_CHAR = OFF;
|
||||||
|
VERILOG_TRUNCATE_HIERARCHY_PATH = OFF;
|
||||||
|
VHDL_TRUNCATE_HIERARCHY_PATH = OFF;
|
||||||
|
EDIF_TRUNCATE_HIERARCHY_PATH = OFF;
|
||||||
|
VERILOG_FLATTEN_BUS = OFF;
|
||||||
|
VHDL_FLATTEN_BUS = OFF;
|
||||||
|
VERILOG_OUTPUT_DELAY_CONSTRUCTS = VO_FILE;
|
||||||
|
VHDL_OUTPUT_DELAY_CONSTRUCTS = VHO_FILE;
|
||||||
|
VHDL_GENERATE_CONFIGURATION_DECLARATION = OFF;
|
||||||
|
EDIF_INPUT_LMF1 = *.lmf;
|
||||||
|
EDIF_INPUT_LMF2 = *.lmf;
|
||||||
|
EDIF_OUTPUT_EDC_FILE = *.edc;
|
||||||
|
EDIF_INPUT_VCC = VCC;
|
||||||
|
EDIF_INPUT_GND = GND;
|
||||||
|
EDIF_OUTPUT_VCC = VCC;
|
||||||
|
EDIF_OUTPUT_GND = GND;
|
||||||
|
EDIF_INPUT_USE_LMF1 = OFF;
|
||||||
|
EDIF_INPUT_USE_LMF2 = OFF;
|
||||||
|
EDIF_OUTPUT_USE_EDC = OFF;
|
||||||
|
EDIF_OUTPUT_DELAY_CONSTRUCTS = EDO_FILE;
|
||||||
|
EDIF_OUTPUT_MAP_ILLEGAL_CHAR = OFF;
|
||||||
|
EDIF_OUTPUT_INCLUDE_SPECIAL_PRIM = OFF;
|
||||||
|
EDIF_OUTPUT_FORCE_0NS_DELAYS = OFF;
|
||||||
|
EDIF_FLATTEN_BUS = OFF;
|
||||||
|
EDIF_BUS_DELIMITERS = [];
|
||||||
|
EDIF_INPUT_SHOW_LMF_MAPPING_MESSAGES = OFF;
|
||||||
|
NETLIST_OUTPUT_TIME_SCALE = 0.1ns;
|
||||||
|
END;
|
||||||
|
|
||||||
|
CUSTOM_DESIGN_DOCTOR_RULES
|
||||||
|
BEGIN
|
||||||
|
RIPPLE_CLOCKS = ON;
|
||||||
|
GATED_CLOCKS = ON;
|
||||||
|
MULTI_LEVEL_CLOCKS = ON;
|
||||||
|
MULTI_CLOCK_NETWORKS = ON;
|
||||||
|
STATIC_HAZARDS_BEFORE_SYNTHESIS = ON;
|
||||||
|
STATIC_HAZARDS_AFTER_SYNTHESIS = OFF;
|
||||||
|
PRESET_CLEAR_NETWORKS = ON;
|
||||||
|
ASYNCHRONOUS_INPUTS = ON;
|
||||||
|
DELAY_CHAINS = ON;
|
||||||
|
RACE_CONDITIONS = ON;
|
||||||
|
EXPANDER_NETWORKS = ON;
|
||||||
|
MASTER_RESET = OFF;
|
||||||
|
END;
|
||||||
|
|
||||||
|
SIMULATOR_CONFIGURATION
|
||||||
|
BEGIN
|
||||||
|
CHECK_OUTPUTS = OFF;
|
||||||
|
USE_DEVICE = OFF;
|
||||||
|
SETUP_HOLD = OFF;
|
||||||
|
OSCILLATION = OFF;
|
||||||
|
OSCILLATION_TIME = 0.0ns;
|
||||||
|
GLITCH = OFF;
|
||||||
|
GLITCH_TIME = 0.0ns;
|
||||||
|
START_TIME = 0.0ns;
|
||||||
|
BIDIR_PIN = STRONG;
|
||||||
|
END_TIME = 10.0us;
|
||||||
|
END;
|
||||||
|
|
||||||
|
TIMING_ANALYZER_CONFIGURATION
|
||||||
|
BEGIN
|
||||||
|
ANALYSIS_MODE = REGISTERED_PERFORMANCE;
|
||||||
|
AUTO_RECALCULATE = OFF;
|
||||||
|
CUT_OFF_IO_PIN_FEEDBACK = ON;
|
||||||
|
CUT_OFF_CLEAR_AND_PRESET_PATHS = ON;
|
||||||
|
LIST_ONLY_LONGEST_PATH = ON;
|
||||||
|
CELL_WIDTH = 18;
|
||||||
|
DELAY_MATRIX_OPTIONS = SHOW_ALL_PATHS;
|
||||||
|
INCLUDE_PATHS_GREATER_THAN = OFF;
|
||||||
|
INCLUDE_PATHS_GREATER_THAN_VALUE = 0.0ns;
|
||||||
|
INCLUDE_PATHS_LESS_THAN = OFF;
|
||||||
|
INCLUDE_PATHS_LESS_THAN_VALUE = 214.7483647ms;
|
||||||
|
REGISTERED_PERFORMANCE_OPTIONS = NUMBER_OF_PATHS;
|
||||||
|
LIST_PATH_COUNT = 10;
|
||||||
|
LIST_PATH_FREQUENCY = 10MHz;
|
||||||
|
CUT_OFF_RAM_REGISTERED_WE_PATHS = OFF;
|
||||||
|
END;
|
||||||
|
|
||||||
|
OTHER_CONFIGURATION
|
||||||
|
BEGIN
|
||||||
|
LAST_MAXPLUS2_VERSION = 10.0;
|
||||||
|
EXPLICIT_FAMILY = 1;
|
||||||
|
COMPILER_DATA = "1,1,0,1,0,0,0,1,1,1,1,0,1,1,1";
|
||||||
|
ORIGINAL_MAXPLUS2_VERSION = 9.6;
|
||||||
|
ROW_PINS_PERCENT = 50;
|
||||||
|
EXP_PER_LCELL_PERCENT = 100;
|
||||||
|
FAN_IN_PER_LCELL_PERCENT = 100;
|
||||||
|
LCELLS_PER_ROW_PERCENT = 100;
|
||||||
|
LOCAL_INTERCONNECT_PER_LAB_PERCENT = 100;
|
||||||
|
DEFAULT_9K_EXP_PER_LCELL = 1/2;
|
||||||
|
FLEX_10K_52_COLUMNS = 40;
|
||||||
|
NORMAL_LCELL_INSERT = ON;
|
||||||
|
CARRY_OUT_PINS_LCELL_INSERT = OFF;
|
||||||
|
ROW_PINS_LCELL_INSERT = ON;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.MAX5000
|
||||||
|
BEGIN
|
||||||
|
CASCADE_CHAIN = IGNORE;
|
||||||
|
CASCADE_CHAIN_LENGTH = -1;
|
||||||
|
CARRY_CHAIN = IGNORE;
|
||||||
|
CARRY_CHAIN_LENGTH = -1;
|
||||||
|
MINIMIZATION = FULL;
|
||||||
|
SLOW_SLEW_RATE = OFF;
|
||||||
|
XOR_SYNTHESIS = ON;
|
||||||
|
TURBO_BIT = OFF;
|
||||||
|
PARALLEL_EXPANDERS = OFF;
|
||||||
|
IGNORE_SOFT_BUFFERS = OFF;
|
||||||
|
FAST_IO = OFF;
|
||||||
|
SOFT_BUFFER_INSERTION = ON;
|
||||||
|
DECOMPOSE_GATES = ON;
|
||||||
|
REDUCE_LOGIC = ON;
|
||||||
|
DUPLICATE_LOGIC_EXTRACTION = ON;
|
||||||
|
NOT_GATE_PUSH_BACK = ON;
|
||||||
|
REFACTORIZATION = ON;
|
||||||
|
SUBFACTOR_EXTRACTION = ON;
|
||||||
|
MULTI_LEVEL_FACTORING = ON;
|
||||||
|
RESYNTHESIZE_NETWORK = ON;
|
||||||
|
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
||||||
|
REGISTER_OPTIMIZATION = ON;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.MAX7000
|
||||||
|
BEGIN
|
||||||
|
CASCADE_CHAIN = IGNORE;
|
||||||
|
CASCADE_CHAIN_LENGTH = -1;
|
||||||
|
CARRY_CHAIN = IGNORE;
|
||||||
|
CARRY_CHAIN_LENGTH = -1;
|
||||||
|
MINIMIZATION = FULL;
|
||||||
|
SLOW_SLEW_RATE = OFF;
|
||||||
|
XOR_SYNTHESIS = ON;
|
||||||
|
TURBO_BIT = ON;
|
||||||
|
PARALLEL_EXPANDERS = OFF;
|
||||||
|
IGNORE_SOFT_BUFFERS = OFF;
|
||||||
|
FAST_IO = OFF;
|
||||||
|
SOFT_BUFFER_INSERTION = ON;
|
||||||
|
DECOMPOSE_GATES = ON;
|
||||||
|
REDUCE_LOGIC = ON;
|
||||||
|
DUPLICATE_LOGIC_EXTRACTION = ON;
|
||||||
|
NOT_GATE_PUSH_BACK = ON;
|
||||||
|
REFACTORIZATION = ON;
|
||||||
|
SUBFACTOR_EXTRACTION = ON;
|
||||||
|
MULTI_LEVEL_FACTORING = ON;
|
||||||
|
RESYNTHESIZE_NETWORK = ON;
|
||||||
|
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
||||||
|
REGISTER_OPTIMIZATION = ON;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.CLASSIC
|
||||||
|
BEGIN
|
||||||
|
CASCADE_CHAIN = IGNORE;
|
||||||
|
CASCADE_CHAIN_LENGTH = -1;
|
||||||
|
CARRY_CHAIN = IGNORE;
|
||||||
|
CARRY_CHAIN_LENGTH = -1;
|
||||||
|
MINIMIZATION = FULL;
|
||||||
|
SLOW_SLEW_RATE = OFF;
|
||||||
|
XOR_SYNTHESIS = OFF;
|
||||||
|
TURBO_BIT = ON;
|
||||||
|
PARALLEL_EXPANDERS = OFF;
|
||||||
|
IGNORE_SOFT_BUFFERS = OFF;
|
||||||
|
FAST_IO = OFF;
|
||||||
|
SOFT_BUFFER_INSERTION = ON;
|
||||||
|
DECOMPOSE_GATES = ON;
|
||||||
|
REDUCE_LOGIC = OFF;
|
||||||
|
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
||||||
|
NOT_GATE_PUSH_BACK = ON;
|
||||||
|
REFACTORIZATION = OFF;
|
||||||
|
SUBFACTOR_EXTRACTION = OFF;
|
||||||
|
MULTI_LEVEL_FACTORING = OFF;
|
||||||
|
RESYNTHESIZE_NETWORK = ON;
|
||||||
|
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
||||||
|
REGISTER_OPTIMIZATION = OFF;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DEFINE_LOGIC_SYNTHESIS_STYLE NORMAL.FLEX8000
|
||||||
|
BEGIN
|
||||||
|
CASCADE_CHAIN = IGNORE;
|
||||||
|
CASCADE_CHAIN_LENGTH = 2;
|
||||||
|
CARRY_CHAIN = IGNORE;
|
||||||
|
CARRY_CHAIN_LENGTH = 32;
|
||||||
|
MINIMIZATION = FULL;
|
||||||
|
SLOW_SLEW_RATE = OFF;
|
||||||
|
XOR_SYNTHESIS = OFF;
|
||||||
|
TURBO_BIT = OFF;
|
||||||
|
PARALLEL_EXPANDERS = OFF;
|
||||||
|
IGNORE_SOFT_BUFFERS = ON;
|
||||||
|
SOFT_BUFFER_INSERTION = ON;
|
||||||
|
DECOMPOSE_GATES = ON;
|
||||||
|
REDUCE_LOGIC = ON;
|
||||||
|
DUPLICATE_LOGIC_EXTRACTION = ON;
|
||||||
|
NOT_GATE_PUSH_BACK = ON;
|
||||||
|
REFACTORIZATION = ON;
|
||||||
|
SUBFACTOR_EXTRACTION = ON;
|
||||||
|
MULTI_LEVEL_FACTORING = ON;
|
||||||
|
RESYNTHESIZE_NETWORK = ON;
|
||||||
|
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
||||||
|
REGISTER_OPTIMIZATION = ON;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.MAX5000
|
||||||
|
BEGIN
|
||||||
|
SLOW_SLEW_RATE = OFF;
|
||||||
|
XOR_SYNTHESIS = ON;
|
||||||
|
TURBO_BIT = OFF;
|
||||||
|
PARALLEL_EXPANDERS = OFF;
|
||||||
|
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
||||||
|
IGNORE_SOFT_BUFFERS = OFF;
|
||||||
|
FAST_IO = OFF;
|
||||||
|
MINIMIZATION = FULL;
|
||||||
|
CASCADE_CHAIN = IGNORE;
|
||||||
|
CARRY_CHAIN = IGNORE;
|
||||||
|
SOFT_BUFFER_INSERTION = ON;
|
||||||
|
DECOMPOSE_GATES = ON;
|
||||||
|
REDUCE_LOGIC = ON;
|
||||||
|
DUPLICATE_LOGIC_EXTRACTION = ON;
|
||||||
|
NOT_GATE_PUSH_BACK = ON;
|
||||||
|
REFACTORIZATION = OFF;
|
||||||
|
SUBFACTOR_EXTRACTION = OFF;
|
||||||
|
MULTI_LEVEL_FACTORING = ON;
|
||||||
|
RESYNTHESIZE_NETWORK = ON;
|
||||||
|
REGISTER_OPTIMIZATION = ON;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.MAX7000
|
||||||
|
BEGIN
|
||||||
|
SLOW_SLEW_RATE = OFF;
|
||||||
|
XOR_SYNTHESIS = ON;
|
||||||
|
TURBO_BIT = ON;
|
||||||
|
PARALLEL_EXPANDERS = ON;
|
||||||
|
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
||||||
|
IGNORE_SOFT_BUFFERS = OFF;
|
||||||
|
FAST_IO = OFF;
|
||||||
|
MINIMIZATION = FULL;
|
||||||
|
CASCADE_CHAIN = IGNORE;
|
||||||
|
CARRY_CHAIN = IGNORE;
|
||||||
|
SOFT_BUFFER_INSERTION = ON;
|
||||||
|
DECOMPOSE_GATES = ON;
|
||||||
|
REDUCE_LOGIC = ON;
|
||||||
|
DUPLICATE_LOGIC_EXTRACTION = ON;
|
||||||
|
NOT_GATE_PUSH_BACK = ON;
|
||||||
|
REFACTORIZATION = OFF;
|
||||||
|
SUBFACTOR_EXTRACTION = OFF;
|
||||||
|
MULTI_LEVEL_FACTORING = ON;
|
||||||
|
RESYNTHESIZE_NETWORK = ON;
|
||||||
|
REGISTER_OPTIMIZATION = ON;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.CLASSIC
|
||||||
|
BEGIN
|
||||||
|
SLOW_SLEW_RATE = OFF;
|
||||||
|
XOR_SYNTHESIS = OFF;
|
||||||
|
TURBO_BIT = ON;
|
||||||
|
PARALLEL_EXPANDERS = OFF;
|
||||||
|
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
||||||
|
IGNORE_SOFT_BUFFERS = OFF;
|
||||||
|
FAST_IO = OFF;
|
||||||
|
MINIMIZATION = FULL;
|
||||||
|
CASCADE_CHAIN = IGNORE;
|
||||||
|
CARRY_CHAIN = IGNORE;
|
||||||
|
SOFT_BUFFER_INSERTION = ON;
|
||||||
|
DECOMPOSE_GATES = ON;
|
||||||
|
REDUCE_LOGIC = OFF;
|
||||||
|
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
||||||
|
NOT_GATE_PUSH_BACK = ON;
|
||||||
|
REFACTORIZATION = OFF;
|
||||||
|
SUBFACTOR_EXTRACTION = OFF;
|
||||||
|
MULTI_LEVEL_FACTORING = OFF;
|
||||||
|
RESYNTHESIZE_NETWORK = ON;
|
||||||
|
REGISTER_OPTIMIZATION = OFF;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DEFINE_LOGIC_SYNTHESIS_STYLE FAST.FLEX8000
|
||||||
|
BEGIN
|
||||||
|
SLOW_SLEW_RATE = OFF;
|
||||||
|
XOR_SYNTHESIS = OFF;
|
||||||
|
TURBO_BIT = OFF;
|
||||||
|
PARALLEL_EXPANDERS = OFF;
|
||||||
|
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
||||||
|
IGNORE_SOFT_BUFFERS = ON;
|
||||||
|
MINIMIZATION = FULL;
|
||||||
|
CASCADE_CHAIN = AUTO;
|
||||||
|
CARRY_CHAIN = AUTO;
|
||||||
|
SOFT_BUFFER_INSERTION = ON;
|
||||||
|
DECOMPOSE_GATES = ON;
|
||||||
|
REDUCE_LOGIC = ON;
|
||||||
|
DUPLICATE_LOGIC_EXTRACTION = ON;
|
||||||
|
NOT_GATE_PUSH_BACK = ON;
|
||||||
|
REFACTORIZATION = ON;
|
||||||
|
SUBFACTOR_EXTRACTION = ON;
|
||||||
|
MULTI_LEVEL_FACTORING = ON;
|
||||||
|
RESYNTHESIZE_NETWORK = ON;
|
||||||
|
REGISTER_OPTIMIZATION = ON;
|
||||||
|
CASCADE_CHAIN_LENGTH = 2;
|
||||||
|
CARRY_CHAIN_LENGTH = 32;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.MAX5000
|
||||||
|
BEGIN
|
||||||
|
CASCADE_CHAIN = IGNORE;
|
||||||
|
CASCADE_CHAIN_LENGTH = -1;
|
||||||
|
CARRY_CHAIN = IGNORE;
|
||||||
|
CARRY_CHAIN_LENGTH = -1;
|
||||||
|
MINIMIZATION = PARTIAL;
|
||||||
|
SLOW_SLEW_RATE = OFF;
|
||||||
|
XOR_SYNTHESIS = OFF;
|
||||||
|
TURBO_BIT = OFF;
|
||||||
|
PARALLEL_EXPANDERS = OFF;
|
||||||
|
IGNORE_SOFT_BUFFERS = OFF;
|
||||||
|
FAST_IO = OFF;
|
||||||
|
SOFT_BUFFER_INSERTION = OFF;
|
||||||
|
DECOMPOSE_GATES = OFF;
|
||||||
|
REDUCE_LOGIC = OFF;
|
||||||
|
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
||||||
|
NOT_GATE_PUSH_BACK = ON;
|
||||||
|
REFACTORIZATION = OFF;
|
||||||
|
SUBFACTOR_EXTRACTION = OFF;
|
||||||
|
MULTI_LEVEL_FACTORING = OFF;
|
||||||
|
RESYNTHESIZE_NETWORK = OFF;
|
||||||
|
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
||||||
|
REGISTER_OPTIMIZATION = OFF;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.MAX7000
|
||||||
|
BEGIN
|
||||||
|
CASCADE_CHAIN = IGNORE;
|
||||||
|
CASCADE_CHAIN_LENGTH = -1;
|
||||||
|
CARRY_CHAIN = IGNORE;
|
||||||
|
CARRY_CHAIN_LENGTH = -1;
|
||||||
|
MINIMIZATION = PARTIAL;
|
||||||
|
SLOW_SLEW_RATE = OFF;
|
||||||
|
XOR_SYNTHESIS = OFF;
|
||||||
|
TURBO_BIT = ON;
|
||||||
|
PARALLEL_EXPANDERS = OFF;
|
||||||
|
IGNORE_SOFT_BUFFERS = OFF;
|
||||||
|
FAST_IO = OFF;
|
||||||
|
SOFT_BUFFER_INSERTION = OFF;
|
||||||
|
DECOMPOSE_GATES = OFF;
|
||||||
|
REDUCE_LOGIC = OFF;
|
||||||
|
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
||||||
|
NOT_GATE_PUSH_BACK = ON;
|
||||||
|
REFACTORIZATION = OFF;
|
||||||
|
SUBFACTOR_EXTRACTION = OFF;
|
||||||
|
MULTI_LEVEL_FACTORING = OFF;
|
||||||
|
RESYNTHESIZE_NETWORK = OFF;
|
||||||
|
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
||||||
|
REGISTER_OPTIMIZATION = OFF;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.CLASSIC
|
||||||
|
BEGIN
|
||||||
|
CASCADE_CHAIN = IGNORE;
|
||||||
|
CASCADE_CHAIN_LENGTH = -1;
|
||||||
|
CARRY_CHAIN = IGNORE;
|
||||||
|
CARRY_CHAIN_LENGTH = -1;
|
||||||
|
MINIMIZATION = PARTIAL;
|
||||||
|
SLOW_SLEW_RATE = OFF;
|
||||||
|
XOR_SYNTHESIS = OFF;
|
||||||
|
TURBO_BIT = ON;
|
||||||
|
PARALLEL_EXPANDERS = OFF;
|
||||||
|
IGNORE_SOFT_BUFFERS = OFF;
|
||||||
|
FAST_IO = OFF;
|
||||||
|
SOFT_BUFFER_INSERTION = OFF;
|
||||||
|
DECOMPOSE_GATES = ON;
|
||||||
|
REDUCE_LOGIC = OFF;
|
||||||
|
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
||||||
|
NOT_GATE_PUSH_BACK = ON;
|
||||||
|
REFACTORIZATION = OFF;
|
||||||
|
SUBFACTOR_EXTRACTION = OFF;
|
||||||
|
MULTI_LEVEL_FACTORING = OFF;
|
||||||
|
RESYNTHESIZE_NETWORK = ON;
|
||||||
|
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
||||||
|
REGISTER_OPTIMIZATION = OFF;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DEFINE_LOGIC_SYNTHESIS_STYLE WYSIWYG.FLEX8000
|
||||||
|
BEGIN
|
||||||
|
CASCADE_CHAIN = MANUAL;
|
||||||
|
CASCADE_CHAIN_LENGTH = 2;
|
||||||
|
CARRY_CHAIN = MANUAL;
|
||||||
|
CARRY_CHAIN_LENGTH = 32;
|
||||||
|
MINIMIZATION = PARTIAL;
|
||||||
|
SLOW_SLEW_RATE = OFF;
|
||||||
|
XOR_SYNTHESIS = OFF;
|
||||||
|
TURBO_BIT = OFF;
|
||||||
|
PARALLEL_EXPANDERS = OFF;
|
||||||
|
IGNORE_SOFT_BUFFERS = ON;
|
||||||
|
SOFT_BUFFER_INSERTION = ON;
|
||||||
|
DECOMPOSE_GATES = OFF;
|
||||||
|
REDUCE_LOGIC = OFF;
|
||||||
|
DUPLICATE_LOGIC_EXTRACTION = OFF;
|
||||||
|
NOT_GATE_PUSH_BACK = ON;
|
||||||
|
REFACTORIZATION = OFF;
|
||||||
|
SUBFACTOR_EXTRACTION = OFF;
|
||||||
|
MULTI_LEVEL_FACTORING = OFF;
|
||||||
|
RESYNTHESIZE_NETWORK = OFF;
|
||||||
|
USE_LPM_FOR_AHDL_OPERATORS = OFF;
|
||||||
|
REGISTER_OPTIMIZATION = OFF;
|
||||||
|
END;
|
||||||
|
|
||||||
27
src/altera/quartus/acex/VIDEO2.INC
Normal file
27
src/altera/quartus/acex/VIDEO2.INC
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
-- 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: Mon Nov 19 00:36:42 2001
|
||||||
|
|
||||||
|
FUNCTION video2 (clk42, start_up, copy_sinc_h, copy_sinc_v, wr, vai[19..0], d[7..0], mdi[15..0], vdm0[7..0], vdm1[7..0], vdm2[7..0], vdm3[7..0], zx_port[7..0], dir_port[7..0], double_cas, mouse_x[9..0], mouse_y[9..0])
|
||||||
|
WITH (MODE, MOUSE)
|
||||||
|
RETURNS (ct[5..0], cth[5..0], ctv[8..0], ctf[6..0], blank, vao[15..0], vdo0[7..0], vdo1[7..0], vdo2[7..0], vdo3[7..0], v_wr[3..0], v_wen[3..0], v_cs[1..0], wr_pix, intt);
|
||||||
692
src/altera/quartus/acex/VIDEO2.TDF
Normal file
692
src/altera/quartus/acex/VIDEO2.TDF
Normal file
@ -0,0 +1,692 @@
|
|||||||
|
|
||||||
|
TITLE "Video-controller";
|
||||||
|
|
||||||
|
INCLUDE "lpm_ram_dp";
|
||||||
|
|
||||||
|
PARAMETERS
|
||||||
|
(
|
||||||
|
MODE = "SPRINTER",
|
||||||
|
MOUSE = "NO",
|
||||||
|
HOR_PLACE = H"50",
|
||||||
|
VER_PLACE = H"91" -- 122h/2
|
||||||
|
);
|
||||||
|
|
||||||
|
SUBDESIGN video2
|
||||||
|
(
|
||||||
|
CLK42 : INPUT;
|
||||||
|
|
||||||
|
CT[5..0] : OUTPUT;
|
||||||
|
CTH[5..0] : OUTPUT;
|
||||||
|
CTV[8..0] : OUTPUT;
|
||||||
|
CTF[6..0] : OUTPUT;
|
||||||
|
|
||||||
|
BLANK : OUTPUT;
|
||||||
|
|
||||||
|
START_UP : INPUT;
|
||||||
|
COPY_SINC_H : INPUT;
|
||||||
|
COPY_SINC_V : INPUT;
|
||||||
|
|
||||||
|
WR : INPUT;
|
||||||
|
|
||||||
|
VAI[19..0] : INPUT; -- input screen adress
|
||||||
|
|
||||||
|
VAO[15..0] : OUTPUT;
|
||||||
|
|
||||||
|
D[7..0] : INPUT;
|
||||||
|
MDI[15..0] : INPUT;
|
||||||
|
|
||||||
|
VDO0[7..0] : OUTPUT;
|
||||||
|
VDO1[7..0] : OUTPUT;
|
||||||
|
VDO2[7..0] : OUTPUT;
|
||||||
|
VDO3[7..0] : OUTPUT;
|
||||||
|
|
||||||
|
VDM0[7..0] : INPUT;
|
||||||
|
VDM1[7..0] : INPUT;
|
||||||
|
VDM2[7..0] : INPUT;
|
||||||
|
VDM3[7..0] : INPUT;
|
||||||
|
|
||||||
|
V_WR[3..0] : OUTPUT;
|
||||||
|
V_WEN[3..0] : OUTPUT;
|
||||||
|
|
||||||
|
V_CS[1..0] : OUTPUT;
|
||||||
|
WR_PIX : OUTPUT;
|
||||||
|
|
||||||
|
-- ZX_COLOR[3..0] : OUTPUT;
|
||||||
|
|
||||||
|
ZX_PORT[7..0] : INPUT;
|
||||||
|
DIR_PORT[7..0] : INPUT;
|
||||||
|
|
||||||
|
%
|
||||||
|
bit0 - Spectrum SCREEN Switch
|
||||||
|
bit1 - Spectrum Adress MODE
|
||||||
|
bit2 - Write to Spectrum Screen OFF
|
||||||
|
bit3 - MODE page 0/1
|
||||||
|
bit4 - MODE on/off screen
|
||||||
|
|
||||||
|
bit7..5 - Border
|
||||||
|
%
|
||||||
|
|
||||||
|
INTT : OUTPUT;
|
||||||
|
|
||||||
|
DOUBLE_CAS : INPUT;
|
||||||
|
|
||||||
|
MOUSE_X[9..0] : INPUT;
|
||||||
|
MOUSE_Y[9..0] : INPUT;
|
||||||
|
|
||||||
|
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
|
||||||
|
-- CLK84 : NODE;
|
||||||
|
-- CLK84_X : NODE;
|
||||||
|
-- CLK84_Y : NODE;
|
||||||
|
|
||||||
|
ZX_COLOR[3..0] : NODE;
|
||||||
|
|
||||||
|
CT[5..0] : DFFE;
|
||||||
|
CTH[5..0] : DFFE;
|
||||||
|
CTV[8..0] : DFFE;
|
||||||
|
CTF[6..0] : DFF;
|
||||||
|
|
||||||
|
VXA[19..0] : DFFE;
|
||||||
|
|
||||||
|
VXD0[7..0] : DFFE;
|
||||||
|
VXD1[7..0] : DFFE;
|
||||||
|
VXD2[7..0] : DFFE;
|
||||||
|
VXD3[7..0] : DFFE;
|
||||||
|
|
||||||
|
E_WR : NODE;
|
||||||
|
E_WRD : NODE;
|
||||||
|
|
||||||
|
BLANK : NODE;
|
||||||
|
BORD : NODE;
|
||||||
|
-- INTT_T : NODE;
|
||||||
|
INTTX : NODE;
|
||||||
|
|
||||||
|
VLA[17..0] : DFF;
|
||||||
|
-- SVA[17..0] : NODE;
|
||||||
|
SVA[17..0] : DFF;
|
||||||
|
-- RSVA[8..0] : LCELL;
|
||||||
|
RSVA[8..0] : NODE;
|
||||||
|
-- RSVA[8..0] : DFF;
|
||||||
|
|
||||||
|
V_CST[1..0] : DFF;
|
||||||
|
VCM[2..0] : DFF;
|
||||||
|
TSN_W3 : DFF;
|
||||||
|
V_WE : DFF;
|
||||||
|
V_WEX : DFF;
|
||||||
|
|
||||||
|
V_WEM : NODE;
|
||||||
|
V_WEM2 : NODE;
|
||||||
|
V_WRM : NODE;
|
||||||
|
V_WRM2 : NODE;
|
||||||
|
|
||||||
|
V_WEMM : NODE;
|
||||||
|
V_WEMMM : NODE;
|
||||||
|
V_WEMMN : NODE;
|
||||||
|
V_WEMMO : NODE;
|
||||||
|
V_WET[3..0] : DFF;
|
||||||
|
|
||||||
|
D_PIC0[7..0] : DFFE;
|
||||||
|
-- D_PIC0_[7..0] : LCELL;
|
||||||
|
|
||||||
|
D_PIC0_[7..0] : DFFE;
|
||||||
|
D_PIC1_[7..0] : DFFE;
|
||||||
|
D_PIC2_[7..0] : DFFE;
|
||||||
|
D_PIC3_[7..0] : DFFE;
|
||||||
|
|
||||||
|
D_PICX_[7..0] : NODE;
|
||||||
|
|
||||||
|
LWR_PIC : NODE;
|
||||||
|
LWR_COL : NODE;
|
||||||
|
|
||||||
|
WR_PIC : DFF;
|
||||||
|
WR_COL : DFF;
|
||||||
|
LD_PIC : NODE;
|
||||||
|
MXL: NODE;
|
||||||
|
MXR: NODE;
|
||||||
|
|
||||||
|
RBRVA[10..8]: DFF;
|
||||||
|
BRVA[7..0] : DFF;
|
||||||
|
DCOL[7..0] : DFFE;
|
||||||
|
|
||||||
|
MXWE : NODE;
|
||||||
|
-- MXCE : NODE;
|
||||||
|
|
||||||
|
AX128 : NODE;
|
||||||
|
|
||||||
|
BRD[2..0] : NODE;
|
||||||
|
|
||||||
|
ZX_COL[3..0] : LCELL;
|
||||||
|
|
||||||
|
ZXA15 : NODE;
|
||||||
|
ZXS[5..0] : NODE;
|
||||||
|
ZX_SCREEN : NODE;
|
||||||
|
SCR128 : NODE;
|
||||||
|
|
||||||
|
MODE0[7..0] : DFFE;
|
||||||
|
MODE1[7..0] : DFFE;
|
||||||
|
MODE2[7..0] : DFFE;
|
||||||
|
-- MODE3[7..0] : DFF;
|
||||||
|
|
||||||
|
WR_MODE : DFF;
|
||||||
|
LWR_MODE : NODE;
|
||||||
|
X_MODE[7..4]: NODE;
|
||||||
|
X_MODE_BOND : NODE;
|
||||||
|
|
||||||
|
-- M_CTV[2..0] : DFF;
|
||||||
|
-- M_CT[5..3] : DFF;
|
||||||
|
M_CTV[2..0] : LCELL;
|
||||||
|
M_CT[5..3] : LCELL;
|
||||||
|
|
||||||
|
DOUBLE : DFFE;
|
||||||
|
|
||||||
|
PIC_CLK : NODE;
|
||||||
|
|
||||||
|
MS_X[9..0] : DFF;
|
||||||
|
MS_Y[9..0] : DFF;
|
||||||
|
|
||||||
|
MS_POINT : NODE;
|
||||||
|
MS_POINT2 : NODE;
|
||||||
|
MS_PNT : NODE;
|
||||||
|
|
||||||
|
MS_DAT : LPM_RAM_DP WITH (LPM_WIDTH=16,LPM_WIDTHAD=8,LPM_FILE="MOUSE.MIF");
|
||||||
|
|
||||||
|
SCR_ENA : DFFE;
|
||||||
|
V_WR_[3..0] : LCELL;
|
||||||
|
V_WEY[3..0] : LCELL;
|
||||||
|
|
||||||
|
V_WE_R : NODE;
|
||||||
|
|
||||||
|
V_CSX[3..0] : NODE;
|
||||||
|
|
||||||
|
V_EN[3..0] : NODE;
|
||||||
|
|
||||||
|
F_WR : NODE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
DEFAULTS
|
||||||
|
WR_MODE.d = VCC; -- WR_MODE2.d = VCC; -- WR_MODE2X.d = VCC;
|
||||||
|
V_CST[].d = VCC; V_WR[] = VCC; TSN_W3.d = VCC;
|
||||||
|
V_WE.d = VCC; WR_COL.d = VCC; WR_PIC.d = VCC;
|
||||||
|
V_WET[].d = VCC;
|
||||||
|
END DEFAULTS;
|
||||||
|
|
||||||
|
ZX_COLOR[] = ZX_COL[];
|
||||||
|
|
||||||
|
-- === MOUSE counters ========
|
||||||
|
|
||||||
|
MS_X[].clk = !CT1;
|
||||||
|
CASE LCELL(CTH[5..2] == 12) IS
|
||||||
|
WHEN 0 => MS_X[] = MS_X[] + 1;
|
||||||
|
WHEN 1 => MS_X[] = (!MOUSE_X[9..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
MS_Y[].clk = !CTH5;
|
||||||
|
CASE LCELL(CTV8 & !CTV5 & CTV4) IS
|
||||||
|
WHEN 0 => MS_Y[] = MS_Y[] + 1;
|
||||||
|
WHEN 1 => MS_Y[] = (GND,!MOUSE_Y[8..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
MS_PNT = DFF(((MS_X[] == B"100000XXXX") & (MS_Y[] == B"100000XXXX")),CLK42,,);
|
||||||
|
|
||||||
|
MS_DAT.wren = GND;
|
||||||
|
MS_DAT.data[] = GND;
|
||||||
|
MS_DAT.wraddress[] = GND;
|
||||||
|
MS_DAT.wrclock = CLK42;
|
||||||
|
MS_DAT.wrclken = GND;
|
||||||
|
MS_DAT.rden = VCC;
|
||||||
|
MS_DAT.rdaddress[] = (MS_Y[3..0],MS_X[3..0]);
|
||||||
|
MS_DAT.rdclock = CLK42;
|
||||||
|
MS_DAT.rdclken = VCC;
|
||||||
|
|
||||||
|
IF MOUSE == "NO" GENERATE
|
||||||
|
MS_POINT = GND;
|
||||||
|
MS_POINT2 = GND;
|
||||||
|
ELSE GENERATE
|
||||||
|
MS_POINT = DFF((MS_PNT & MS_DAT.q0),CLK42,,);
|
||||||
|
MS_POINT2 = DFF((MS_PNT & MS_DAT.q1),CLK42,,);
|
||||||
|
END GENERATE;
|
||||||
|
|
||||||
|
-- === Sinc-counts GENERATOR ============================================
|
||||||
|
|
||||||
|
-- CT[].clrn = START_UP;
|
||||||
|
|
||||||
|
-- (,CTH[5..0].clrn,CT[5].clrn) = !COPY_SINC_H or HOR_PLACE;
|
||||||
|
-- (,CTH[5..0].prn ,CT[5].prn ) = !COPY_SINC_H or !HOR_PLACE;
|
||||||
|
|
||||||
|
-- CTV[].clrn = !COPY_SINC_V or VER_PLACE;
|
||||||
|
-- CTV[].prn = !COPY_SINC_V or !VER_PLACE;
|
||||||
|
|
||||||
|
CT[5].clrn = !COPY_SINC_H;
|
||||||
|
|
||||||
|
-- set CTH to 50 (32h)
|
||||||
|
CTH[0].clrn = !COPY_SINC_H;
|
||||||
|
CTH[1].prn = !COPY_SINC_H;
|
||||||
|
CTH[2].clrn = !COPY_SINC_H;
|
||||||
|
CTH[3].clrn = !COPY_SINC_H;
|
||||||
|
CTH[4].prn = !COPY_SINC_H;
|
||||||
|
CTH[5].prn = !COPY_SINC_H;
|
||||||
|
|
||||||
|
-- set CTV to 122h
|
||||||
|
CTV[0].clrn = !COPY_SINC_V;
|
||||||
|
CTV[1].prn = !COPY_SINC_V;
|
||||||
|
CTV[3..2].clrn = !COPY_SINC_V;
|
||||||
|
|
||||||
|
CTV[4].clrn = !COPY_SINC_V;
|
||||||
|
CTV[5].prn = !COPY_SINC_V;
|
||||||
|
CTV[7..6].clrn = !COPY_SINC_V;
|
||||||
|
CTV[8].prn = !COPY_SINC_V;
|
||||||
|
|
||||||
|
CT[5..0].clk = CLK42;
|
||||||
|
CTH[5..0].clk = CLK42;
|
||||||
|
CTV[8..0].clk = CLK42;
|
||||||
|
|
||||||
|
CT[2..0].ena = VCC;
|
||||||
|
|
||||||
|
CASE CT[2..0] IS
|
||||||
|
WHEN 0 => CT[2..0] = 1;
|
||||||
|
WHEN 1 => CT[2..0] = 2;
|
||||||
|
WHEN 2 => CT[2..0] = 4;
|
||||||
|
WHEN 3 => CT[2..0] = 4;
|
||||||
|
WHEN 4 => CT[2..0] = 5;
|
||||||
|
WHEN 5 => CT[2..0] = 6;
|
||||||
|
WHEN 6 => CT[2..0] = 0;
|
||||||
|
WHEN 7 => CT[2..0] = 0;
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- for remove sinc jitter
|
||||||
|
-- CT[5..3].ena = DFF(((CT0 & CT2) or (COPY_SINC_H & !CT4)),CLK42,,);
|
||||||
|
CT[5..3].ena = DFF((CT0 & CT2),CLK42,,);
|
||||||
|
CT[5..3] = CT[5..3]+1;
|
||||||
|
%
|
||||||
|
CASE CT[4..3] IS
|
||||||
|
WHEN 0 => CT[5..3] = CT[5..3]+1;
|
||||||
|
WHEN 1 => CT[5..3] = CT[5..3]+1;
|
||||||
|
WHEN 2 => CT[5..3] = CT[5..3]+1;
|
||||||
|
WHEN 3 => CT[5..3] = CT[5..3]+1;
|
||||||
|
END CASE;
|
||||||
|
%
|
||||||
|
CTH[].ena = DFF(((CT[5..2] == 15) & CT0),CLK42,,);
|
||||||
|
CTV[].ena = DFF(((CT[5..2] == 15) & CT0 & (CTH[] == 48)),CLK42,,);
|
||||||
|
|
||||||
|
IF CTH[] == 55 THEN
|
||||||
|
CTH[] = GND;
|
||||||
|
ELSE
|
||||||
|
CTH[] = CTH[] + 1;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF CTV[] == 319 THEN
|
||||||
|
CTV[] = GND;
|
||||||
|
ELSE
|
||||||
|
CTV[] = CTV[] + 1;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
CTF[].clk = CTV8;
|
||||||
|
CTF[] = CTF[]+1;
|
||||||
|
|
||||||
|
-- ==== Video ==========================================================
|
||||||
|
|
||||||
|
ZXS[] = ZX_PORT[5..0]; -- pages ZX Screens
|
||||||
|
ZX_SCREEN = ZX_PORT6; -- enable ZX Screen write
|
||||||
|
ZXA15 = ZX_PORT7; -- ZX A15' line
|
||||||
|
|
||||||
|
SCR128 = DIR_PORT0;
|
||||||
|
|
||||||
|
-- WR_PIX = LCELL(TSN_W3);
|
||||||
|
WR_PIX = (TSN_W3);
|
||||||
|
|
||||||
|
DOUBLE.clk = CLK42; DOUBLE.ena = !E_WR; DOUBLE = DOUBLE_CAS;
|
||||||
|
VXA[].clk = CLK42; VXA[].ena = !E_WR;
|
||||||
|
|
||||||
|
VXD0[].clk = CLK42; VXD0[].ena = !E_WRD; VDO0[] = VXD0[];
|
||||||
|
VXD1[].clk = CLK42; VXD1[].ena = !E_WRD; VDO1[] = VXD1[];
|
||||||
|
VXD2[].clk = CLK42; VXD2[].ena = !E_WRD; VDO2[] = VXD2[];
|
||||||
|
VXD3[].clk = CLK42; VXD3[].ena = !E_WRD; VDO3[] = VXD3[];
|
||||||
|
|
||||||
|
-- VXD0[] = D[];
|
||||||
|
-- VXD1[] = D[];
|
||||||
|
-- VXD2[] = D[];
|
||||||
|
-- VXD3[] = D[];
|
||||||
|
|
||||||
|
(VXD0[],VXD1[]) = MDI[];
|
||||||
|
(VXD2[],VXD3[]) = MDI[];
|
||||||
|
|
||||||
|
BRD[] = DIR_PORT[7..5];
|
||||||
|
|
||||||
|
VCM[].clk = CLK42;
|
||||||
|
TSN_W3.clk = CLK42;
|
||||||
|
V_CST[].clk = CLK42;
|
||||||
|
V_WE.clk = CLK42;
|
||||||
|
V_WET[].clk = CLK42;
|
||||||
|
VLA[].clk = CLK42;
|
||||||
|
|
||||||
|
SCR_ENA.clk = CLK42;
|
||||||
|
SCR_ENA.ena = !E_WR;
|
||||||
|
SCR_ENA.d = !(VAI19 or ZX_SCREEN);
|
||||||
|
|
||||||
|
E_WRD = DFF(E_WR,CLK42,,);
|
||||||
|
E_WR = LCELL(WR or !(VAI19 or ZX_SCREEN) or !DFF(WR,CLK42,,));
|
||||||
|
-- E_WR = LCELL(WR or !DFF(WR,CLK42,,));
|
||||||
|
|
||||||
|
-- ****************************************************
|
||||||
|
|
||||||
|
IF MODE == "SPRINTER" GENERATE
|
||||||
|
|
||||||
|
-- VAI[19] - switch adress mode 1 - graf mode, 0 - spectrum mode
|
||||||
|
|
||||||
|
-- MXWE = DFF(((DFF(E_WR,CLK42,,) or SCR_ENA) & MXWE),CLK42,,V_WE);
|
||||||
|
MXWE = DFF(MXWE,CLK42,E_WR,V_WE);
|
||||||
|
|
||||||
|
IF VAI[19] THEN
|
||||||
|
-- in graf mode all 256k(512k) range
|
||||||
|
VXA[] = VAI[];
|
||||||
|
ELSE
|
||||||
|
-- in spectrum mode 8k/16k range pages
|
||||||
|
VXA[] = (GND,GND,VAI[7..0],ZXS[4..1],LCELL(ZXS0 xor ZXA15 xor VAI13),VAI[12..8]);
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
-- BORD = DFF((MODE0[7..4] == 15),WR_PIC,,);
|
||||||
|
-- BLANK = DFF((BORD & MODE03 & MODE02),WR_PIC,,);
|
||||||
|
-- INTTX = DFF((BORD & MODE03 & MODE02 & MODE00),WR_PIC,,);
|
||||||
|
|
||||||
|
BORD = DFF((MODE0[7..4] == 15),LWR_COL,,);
|
||||||
|
BLANK = DFF(((BORD & MODE03 & MODE02) or DIR_PORT4),LWR_COL,,);
|
||||||
|
INTTX = DFF((BORD & MODE03 & MODE02 & MODE00),LWR_COL,,);
|
||||||
|
|
||||||
|
INTT = DFF(!(INTTX & (CTV[2..0] == 7)),CT5,,);
|
||||||
|
|
||||||
|
-- INTT = DFF((INTTX or DFF(INTTX,CT5,,)),CT5,,);
|
||||||
|
-- INTT = DFF(!(BLANK & (CTV[2..0] == 7)),CLK42,,MODE0[0]);
|
||||||
|
|
||||||
|
CASE CT[2..0] IS
|
||||||
|
WHEN B"110" => VCM[2..0].d = 5; -- 110 -> 101 6 -> 5
|
||||||
|
WHEN B"000" => VCM[2..0].d = 1; -- 000 -> 001 0 -> 1
|
||||||
|
WHEN B"001" => VCM[2..0].d = 4; -- 001 -> 100 1 -> 4
|
||||||
|
WHEN B"010" => VCM[2..0].d = 3; -- 010 -> 011 2 -> 3
|
||||||
|
WHEN B"100" => VCM[2..0].d = 2; -- 100 -> 010 4 -> 2
|
||||||
|
WHEN B"101" => VCM[2..0].d = 0; -- 101 -> 000 5 -> 0
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
CASE VCM[1..0] IS
|
||||||
|
WHEN 0 =>
|
||||||
|
VLA[].d = (BRVA[7..0],VCC,VCC,VCC,VCC,VCC,RBRVA[10..8],GND,GND);
|
||||||
|
V_CST[].d = (VCC,GND);
|
||||||
|
V_WE.d = VCC;
|
||||||
|
V_WEX.d = VCC;
|
||||||
|
IF VCM2 THEN
|
||||||
|
-- TSN_W3.d = X_MODE5;
|
||||||
|
TSN_W3.d = X_MODE_BOND;
|
||||||
|
-- V_CST[].d = (VCC,X_MODE5);
|
||||||
|
ELSE
|
||||||
|
TSN_W3.d = X_MODE_BOND;
|
||||||
|
-- V_CST[].d = (VCC,X_MODE_BOND);
|
||||||
|
END IF;
|
||||||
|
WHEN 1 =>
|
||||||
|
WR_PIC.d = !VCM2;
|
||||||
|
WR_COL.d = VCM2;
|
||||||
|
VLA[].d = SVA[];
|
||||||
|
V_CST[].d = (VCC,GND);
|
||||||
|
V_WE.d = VCC;
|
||||||
|
V_WEX.d = VCC;
|
||||||
|
WHEN 2 =>
|
||||||
|
VLA[].d = VXA[17..0];
|
||||||
|
V_CST[].d = (!VXA18,VXA18) or MXWE;
|
||||||
|
V_WE.d = MXWE;
|
||||||
|
V_WEX.d = GND;
|
||||||
|
V_WET[].d = MXWE or !((!VXA1 & !VXA0),(!VXA1 & VXA0),(VXA1 & !VXA0),(VXA1 & VXA0));
|
||||||
|
WHEN 3 =>
|
||||||
|
-- WR_PIC.d = X_MODE5;
|
||||||
|
-- NEW 26.08.2022, fix bug with first column
|
||||||
|
-- it was reproducing when changes mode 320 -> 640, like any 320px screen squares -> text mode squares
|
||||||
|
WR_PIC.d = MODE0[5];
|
||||||
|
VLA[].d = (DIR_PORT3,CTH[5..0],CT5,VCC,VCC,CTV[8..3],GND,GND);
|
||||||
|
WR_MODE.d = !(CT[5..3] == B"111") & !(CT4 & CT3 & !MODE0[5]);
|
||||||
|
V_CST[].d = (VCC,GND);
|
||||||
|
V_WE.d = VCC;
|
||||||
|
V_WEX.d = VCC;
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- choose V-RAM komplect
|
||||||
|
|
||||||
|
V_CST1.prn = GND;
|
||||||
|
-- V_CS0.clrn = GND;
|
||||||
|
V_CST0.prn = (LCELL(DFF(GND,!CLK42,,!V_CST0)));
|
||||||
|
V_CS1 = VCC;
|
||||||
|
-- V_CS0 = LCELL(V_CST0);
|
||||||
|
|
||||||
|
V_CSX0 = LCELL(!CLK42);
|
||||||
|
V_CSX1 = LCELL(V_CSX0);
|
||||||
|
V_CSX2 = LCELL(V_CSX1 & V_CSX0);
|
||||||
|
V_CSX3 = LCELL(V_CSX2);
|
||||||
|
|
||||||
|
-- V_CS0 = V_CSX3;
|
||||||
|
V_CS0 = GND;
|
||||||
|
|
||||||
|
-- =====================
|
||||||
|
|
||||||
|
SVA[].clk = CLK42;
|
||||||
|
SVA[9..6] = MODE0[3..0];
|
||||||
|
-- RSVA[].clk = CLK42;
|
||||||
|
(SVA[12..10],SVA[5..0]) = RSVA[];
|
||||||
|
|
||||||
|
-- M_CTV[2..0].clk = CLK42;
|
||||||
|
-- M_CT[5..3].clk = CLK42;
|
||||||
|
M_CTV[2..0] = (!MODE2[2] & CTV[2..0]) or MODE2[2] & (MODE2[1],CTV[2..1]);
|
||||||
|
M_CT[5..3] = (!MODE2[2] & (CT[5],!CT[4..3])) or MODE2[2] & (MODE2[0],!CT[5..4]);
|
||||||
|
|
||||||
|
CASE (!VCM2,MODE0[4]) IS
|
||||||
|
-- CASE (!VCM1,MODE0[4]) IS
|
||||||
|
WHEN B"X0" =>
|
||||||
|
-- Graf adress --
|
||||||
|
RSVA[] = (M_CTV[2..0],MODE1[2..0],M_CT[5..3]);
|
||||||
|
SVA[17..13] = MODE1[7..3];
|
||||||
|
|
||||||
|
-- SVA[12..10] = CTV[2..0];
|
||||||
|
-- SVA[5..0] = (MODE1[2..0],CT5,!CT[4..3]);
|
||||||
|
WHEN B"01" =>
|
||||||
|
-- ZX-atr adress --
|
||||||
|
RSVA[] = (MODE2[2..0],SCR128,VCC,VCC,GND,!MODE0[7..6]);
|
||||||
|
SVA[17..13] = MODE2[7..3];
|
||||||
|
|
||||||
|
-- SVA[12..10] = MODE2[2..0];
|
||||||
|
-- SVA[5..0] = (SCR128,VCC,VCC,GND,!MODE0[7..6]);
|
||||||
|
WHEN B"11" =>
|
||||||
|
-- ZX-pic adress --
|
||||||
|
RSVA[] = (MODE1[2..0],SCR128,MODE0[7..6],CTV2,!CTV1,!CTV0);
|
||||||
|
SVA[17..13] = MODE1[7..3];
|
||||||
|
|
||||||
|
-- SVA[12..10] = MODE1[2..0];
|
||||||
|
-- SVA[5..0] = (SCR128,MODE0[7..6],CTV2,!CTV1,!CTV0);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- X_MODE_BOND = LCELL(LCELL(DCOL[7..4] == 15) & LCELL(DCOL[3..0] == 15) & DFF((MODE0[7] & MODE0[5] & !MODE0[4]),LWR_COL,VCC,VCC));
|
||||||
|
X_MODE_BOND = GND;
|
||||||
|
|
||||||
|
-- LD_PIC = LCELL((MODE0[5] & DFF((CT[5..3] == B"000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
||||||
|
-- LD_PIC = LCELL((MODE0[5] & DFF((CT[5..3] == B"000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
||||||
|
LD_PIC = LCELL((MODE0[5] & DFF((CT[5..2] == B"0000"),CLK42,,)) or (!MODE0[5] & DFF((CT[4..2] == B"000"),CLK42,,)));
|
||||||
|
|
||||||
|
|
||||||
|
-- CASE (DFF(VLA1,!CLK42,,),DFF(VLA0,!CLK42,,)) IS
|
||||||
|
|
||||||
|
-- D_PIC0_[].clk = !CLK42;
|
||||||
|
-- D_PIC1_[].clk = !CLK42;
|
||||||
|
-- D_PIC2_[].clk = !CLK42;
|
||||||
|
-- D_PIC3_[].clk = !CLK42;
|
||||||
|
|
||||||
|
-- PIC_CLK = LCELL(LCELL(CLK42));
|
||||||
|
PIC_CLK = !CLK42;
|
||||||
|
|
||||||
|
D_PIC0_[].clk = PIC_CLK;
|
||||||
|
D_PIC1_[].clk = PIC_CLK;
|
||||||
|
D_PIC2_[].clk = PIC_CLK;
|
||||||
|
D_PIC3_[].clk = PIC_CLK;
|
||||||
|
|
||||||
|
D_PIC0_[] = VDM0[];
|
||||||
|
D_PIC1_[] = VDM1[];
|
||||||
|
D_PIC2_[] = VDM2[];
|
||||||
|
D_PIC3_[] = VDM3[];
|
||||||
|
|
||||||
|
CASE (DFF(VLA1,CLK42,,),DFF(VLA0,CLK42,,)) IS
|
||||||
|
WHEN 0 => D_PICX_[] = D_PIC0_[];
|
||||||
|
WHEN 1 => D_PICX_[] = D_PIC1_[];
|
||||||
|
WHEN 2 => D_PICX_[] = D_PIC2_[];
|
||||||
|
WHEN 3 => D_PICX_[] = D_PIC3_[];
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
MODE0[].ena = VCC;
|
||||||
|
MODE1[].ena = VCC;
|
||||||
|
MODE2[].ena = VCC;
|
||||||
|
MODE0[].clk = LWR_MODE;
|
||||||
|
MODE1[].clk = LWR_MODE;
|
||||||
|
MODE2[].clk = LWR_MODE;
|
||||||
|
MODE0[].d = VDM3[];
|
||||||
|
MODE1[].d = VDM2[];
|
||||||
|
MODE2[].d = VDM1[];
|
||||||
|
LWR_MODE = LCELL(LCELL(WR_MODE));
|
||||||
|
%
|
||||||
|
MODE0[].ena = LWR_MODE;
|
||||||
|
MODE1[].ena = LWR_MODE;
|
||||||
|
MODE2[].ena = LWR_MODE;
|
||||||
|
MODE0[].clk = CLK42;
|
||||||
|
MODE1[].clk = CLK42;
|
||||||
|
MODE2[].clk = CLK42;
|
||||||
|
MODE0[].d = D_PIC3_[];
|
||||||
|
MODE1[].d = D_PIC2_[];
|
||||||
|
MODE2[].d = D_PIC1_[];
|
||||||
|
LWR_MODE = DFF(!WR_MODE,CLK42,,);
|
||||||
|
%
|
||||||
|
X_MODE7 = DFF(MODE0[7],LWR_COL,,);
|
||||||
|
X_MODE6 = DFF(MODE0[6],LWR_COL,,);
|
||||||
|
X_MODE5 = DFF(MODE0[5],LWR_COL,,);
|
||||||
|
X_MODE4 = DFF(MODE0[4],LWR_COL,,);
|
||||||
|
|
||||||
|
VAO[] = VLA[17..2];
|
||||||
|
|
||||||
|
WR_PIC.clk = CLK42;
|
||||||
|
WR_COL.clk = CLK42;
|
||||||
|
WR_MODE.clk = CLK42;
|
||||||
|
|
||||||
|
-- LWR_PIC = LCELL(LCELL(WR_PIC));
|
||||||
|
-- LWR_COL = LCELL(LCELL(WR_COL));
|
||||||
|
-- LWR_PIC = LCELL(WR_PIC);
|
||||||
|
-- LWR_COL = LCELL(WR_COL);
|
||||||
|
LWR_PIC = DFF(WR_PIC,CLK42,,);
|
||||||
|
LWR_COL = DFF(WR_COL,CLK42,,);
|
||||||
|
|
||||||
|
-- D_PIC0[].ena = VCC;
|
||||||
|
-- D_PIC0[].clk = (LWR_PIC);
|
||||||
|
D_PIC0[].ena = !LWR_PIC;
|
||||||
|
D_PIC0[].clk = CLK42;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
IF LD_PIC THEN
|
||||||
|
-- D_PIC0[] = D_PIC0_[];
|
||||||
|
D_PIC0[] = D_PICX_[];
|
||||||
|
ELSE
|
||||||
|
D_PIC0[] = (D_PIC0[6..0],GND);
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
|
||||||
|
-- DCOL[].clk = (LWR_COL);
|
||||||
|
DCOL[].ena = !LWR_COL;
|
||||||
|
DCOL[].clk = CLK42;
|
||||||
|
|
||||||
|
IF DFF((MODE0[7..4] == 15),WR_PIC,,) THEN
|
||||||
|
DCOL[].d = (B"00",BRD[2..0],BRD[2..0]);
|
||||||
|
ELSE
|
||||||
|
-- DCOL[].d = D_PIC0_[];
|
||||||
|
DCOL[].d = D_PICX_[];
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
DCOL[].clrn = !BLANK;
|
||||||
|
|
||||||
|
BRVA[].clk = CLK42;
|
||||||
|
BRVA[].clrn = !MS_POINT;
|
||||||
|
BRVA[].prn = !MS_POINT2;
|
||||||
|
|
||||||
|
-- MODE0[4] - graph / text
|
||||||
|
-- MODE0[5] - 320 / 640 resolution
|
||||||
|
|
||||||
|
-- CASE (LCELL(X_MODE4 or X_MODE5),CT2) IS
|
||||||
|
CASE (DFF((MODE0[4] or MODE0[5]),LWR_COL,,),CT2) IS
|
||||||
|
WHEN B"1X" => BRVA[7..0] = DCOL[];
|
||||||
|
WHEN B"01" => BRVA[7..0] = (B"0000",DCOL[7..4]);
|
||||||
|
WHEN B"00" => BRVA[7..0] = (B"0000",DCOL[3..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- BRVA[10..8] = (x_mode4,RBRVA[9..8]);
|
||||||
|
RBRVA[].clk = CLK42;
|
||||||
|
|
||||||
|
CASE (BORD,X_MODE4) IS
|
||||||
|
WHEN B"X0" => RBRVA[10..8].d = (GND,X_MODE[7..6]);
|
||||||
|
WHEN B"X1" => RBRVA[10..8].d = (VCC,(CTF4 & !BLANK),D_PIC0[7]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
RBRVA[9..8].clrn = !BORD;
|
||||||
|
RBRVA[10].prn = !BORD;
|
||||||
|
|
||||||
|
CASE (RBRVA[9..8],BRVA7) IS
|
||||||
|
WHEN 0,1,4,7 => ZX_COL[] = (BRVA[6],BRVA[5..3]);
|
||||||
|
WHEN 2,3,6,5 => ZX_COL[] = (BRVA[6],BRVA[2..0]);
|
||||||
|
END CASE;
|
||||||
|
|
||||||
|
-- V_WET[].prn = LCELL(DFF(GND,!CLK42,,!V_WE));
|
||||||
|
-- V_WE.prn = LCELL(DFF(GND,!CLK42,,!V_WE));
|
||||||
|
|
||||||
|
V_WE_R = DFF(GND,!CLK42,,!V_WE);
|
||||||
|
V_WE.prn = V_WE_R;
|
||||||
|
V_WET[].prn = V_WE_R;
|
||||||
|
|
||||||
|
-- V_WR[] = LCELL(V_WE) or !((!VXA1 & !VXA0),(!VXA1 & VXA0),(VXA1 & !VXA0),(VXA1 & VXA0));
|
||||||
|
|
||||||
|
-- V_WR[] = (V_WE) or !(
|
||||||
|
|
||||||
|
V_WEX.clk = CLK42;
|
||||||
|
-- V_WEX.d = V_WE;
|
||||||
|
-- V_WEX.prn = (DFF(GND,CLK42,,!V_WEX));
|
||||||
|
|
||||||
|
|
||||||
|
V_WEMMM = LCELL(V_WE);
|
||||||
|
V_WEMMN = LCELL(V_WEMMM);
|
||||||
|
V_WEMMO = LCELL(V_WEMMN);
|
||||||
|
V_WEMM = LCELL(V_WEMMO);
|
||||||
|
|
||||||
|
V_WRM = LCELL(V_WEMMN & V_WEMMM);
|
||||||
|
V_WRM2 = LCELL(V_WEMMN & V_WEMMM);
|
||||||
|
|
||||||
|
V_WEM = LCELL(V_WEMMM & V_WEMMO);
|
||||||
|
V_WEM2 = LCELL(V_WEMMM & V_WEMMO);
|
||||||
|
|
||||||
|
V_EN3 = DFF(!(!VXA1 & (!VXA0 or DOUBLE)),CLK42,F_WR,);
|
||||||
|
V_EN2 = DFF(!(!VXA1 & (VXA0 or DOUBLE)) ,CLK42,F_WR,);
|
||||||
|
V_EN1 = DFF(!(VXA1 & (!VXA0 or DOUBLE)) ,CLK42,F_WR,);
|
||||||
|
V_EN0 = DFF(!(VXA1 & (VXA0 or DOUBLE)) ,CLK42,F_WR,);
|
||||||
|
|
||||||
|
F_WR = DFF(VCC,V_WE,,);
|
||||||
|
|
||||||
|
V_WR_3 = V_WRM or V_EN3;
|
||||||
|
V_WR_2 = V_WRM2 or V_EN2;
|
||||||
|
V_WR_1 = V_WRM or V_EN1;
|
||||||
|
V_WR_0 = V_WRM or V_EN0;
|
||||||
|
|
||||||
|
V_WEY3 = V_WEM or V_EN3;
|
||||||
|
V_WEY2 = V_WEM2 or V_EN2;
|
||||||
|
V_WEY1 = V_WEM or V_EN1;
|
||||||
|
V_WEY0 = V_WEM or V_EN0;
|
||||||
|
|
||||||
|
V_WR[] = V_WR_[];
|
||||||
|
V_WEN[] = V_WEY[];
|
||||||
|
|
||||||
|
-- CLK84 = LCELL(CLK42 xor CLK84_X);
|
||||||
|
-- CLK84_X = DFF(!CLK84_X,CLK84,,);
|
||||||
|
-- CLK84_Y = CLK84;
|
||||||
|
|
||||||
|
END GENERATE; -- end "sprinter" mode
|
||||||
|
|
||||||
|
|
||||||
|
END;
|
||||||
BIN
src/altera/quartus/acex/db/SP2_ACEX.(0).cnf.cdb
Normal file
BIN
src/altera/quartus/acex/db/SP2_ACEX.(0).cnf.cdb
Normal file
Binary file not shown.
BIN
src/altera/quartus/acex/db/SP2_ACEX.(0).cnf.hdb
Normal file
BIN
src/altera/quartus/acex/db/SP2_ACEX.(0).cnf.hdb
Normal file
Binary file not shown.
BIN
src/altera/quartus/acex/db/SP2_ACEX.(1).cnf.cdb
Normal file
BIN
src/altera/quartus/acex/db/SP2_ACEX.(1).cnf.cdb
Normal file
Binary file not shown.
BIN
src/altera/quartus/acex/db/SP2_ACEX.(1).cnf.hdb
Normal file
BIN
src/altera/quartus/acex/db/SP2_ACEX.(1).cnf.hdb
Normal file
Binary file not shown.
BIN
src/altera/quartus/acex/db/SP2_ACEX.(2).cnf.cdb
Normal file
BIN
src/altera/quartus/acex/db/SP2_ACEX.(2).cnf.cdb
Normal file
Binary file not shown.
BIN
src/altera/quartus/acex/db/SP2_ACEX.(2).cnf.hdb
Normal file
BIN
src/altera/quartus/acex/db/SP2_ACEX.(2).cnf.hdb
Normal file
Binary file not shown.
BIN
src/altera/quartus/acex/db/SP2_ACEX.(3).cnf.cdb
Normal file
BIN
src/altera/quartus/acex/db/SP2_ACEX.(3).cnf.cdb
Normal file
Binary file not shown.
BIN
src/altera/quartus/acex/db/SP2_ACEX.(3).cnf.hdb
Normal file
BIN
src/altera/quartus/acex/db/SP2_ACEX.(3).cnf.hdb
Normal file
Binary file not shown.
5
src/altera/quartus/acex/db/SP2_ACEX.cbx.xml
Normal file
5
src/altera/quartus/acex/db/SP2_ACEX.cbx.xml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<LOG_ROOT>
|
||||||
|
<PROJECT NAME="SP2_ACEX">
|
||||||
|
</PROJECT>
|
||||||
|
</LOG_ROOT>
|
||||||
BIN
src/altera/quartus/acex/db/SP2_ACEX.cmp.rdb
Normal file
BIN
src/altera/quartus/acex/db/SP2_ACEX.cmp.rdb
Normal file
Binary file not shown.
3
src/altera/quartus/acex/db/SP2_ACEX.db_info
Normal file
3
src/altera/quartus/acex/db/SP2_ACEX.db_info
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Quartus_Version = Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition
|
||||||
|
Version_Index = 167832322
|
||||||
|
Creation_Time = Sun Aug 28 03:32:05 2022
|
||||||
BIN
src/altera/quartus/acex/db/SP2_ACEX.eco.cdb
Normal file
BIN
src/altera/quartus/acex/db/SP2_ACEX.eco.cdb
Normal file
Binary file not shown.
447
src/altera/quartus/acex/db/SP2_ACEX.hif
Normal file
447
src/altera/quartus/acex/db/SP2_ACEX.hif
Normal file
@ -0,0 +1,447 @@
|
|||||||
|
Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition
|
||||||
|
2
|
||||||
|
25
|
||||||
|
OFF
|
||||||
|
OFF
|
||||||
|
OFF
|
||||||
|
ON
|
||||||
|
ON
|
||||||
|
OFF
|
||||||
|
FV_OFF
|
||||||
|
Level2
|
||||||
|
0
|
||||||
|
0
|
||||||
|
VRSM_ON
|
||||||
|
VHSM_ON
|
||||||
|
0
|
||||||
|
-- Start Library Paths --
|
||||||
|
-- End Library Paths --
|
||||||
|
-- Start VHDL Libraries --
|
||||||
|
-- End VHDL Libraries --
|
||||||
|
# entity
|
||||||
|
SP2_ACEX
|
||||||
|
# storage
|
||||||
|
db|SP2_ACEX.(0).cnf
|
||||||
|
db|SP2_ACEX.(0).cnf
|
||||||
|
# case_insensitive
|
||||||
|
# source_file
|
||||||
|
SP2_ACEX.tdf
|
||||||
|
e1a512c7ccb99b9920cc5b6bdd99f78f
|
||||||
|
7
|
||||||
|
# user_parameter {
|
||||||
|
UPDATE
|
||||||
|
1
|
||||||
|
PARAMETER_UNKNOWN
|
||||||
|
DEF
|
||||||
|
MODE
|
||||||
|
SPRINTER
|
||||||
|
PARAMETER_UNKNOWN
|
||||||
|
DEF
|
||||||
|
NMI_ON
|
||||||
|
OFF
|
||||||
|
PARAMETER_UNKNOWN
|
||||||
|
DEF
|
||||||
|
SCREEN_OFF
|
||||||
|
NOT_USE
|
||||||
|
PARAMETER_UNKNOWN
|
||||||
|
DEF
|
||||||
|
}
|
||||||
|
# used_port {
|
||||||
|
0
|
||||||
|
-1
|
||||||
|
0
|
||||||
|
}
|
||||||
|
# include_file {
|
||||||
|
video2.inc
|
||||||
|
442325f281c69a29c502cd73d5463bd
|
||||||
|
ay.inc
|
||||||
|
b7bbf416ab242c30663925c2494dac1c
|
||||||
|
acceler.inc
|
||||||
|
ba3f30e8f544b3289c4a8b774427d197
|
||||||
|
kbd.inc
|
||||||
|
d95fc07fdbddf4beead37796f9d8
|
||||||
|
dcp.inc
|
||||||
|
3ad9d1c98b85a6e2fa8234adbe4e62
|
||||||
|
mouse.inc
|
||||||
|
3a5e806a69816f4041b35f81b0afc554
|
||||||
|
..|..|..|..|..|altera|90sp2|quartus|libraries|megafunctions|lpm_ram_dp.inc
|
||||||
|
654442a54e5e12427dca2ad67c24c46b
|
||||||
|
}
|
||||||
|
# hierarchies {
|
||||||
|
|
|
||||||
|
}
|
||||||
|
# macro_sequence
|
||||||
|
|
||||||
|
# end
|
||||||
|
# entity
|
||||||
|
MOUSE
|
||||||
|
# storage
|
||||||
|
db|SP2_ACEX.(1).cnf
|
||||||
|
db|SP2_ACEX.(1).cnf
|
||||||
|
# case_insensitive
|
||||||
|
# source_file
|
||||||
|
MOUSE.tdf
|
||||||
|
94907776ef372fcfb98eeebc359b8f77
|
||||||
|
7
|
||||||
|
# used_port {
|
||||||
|
out_y9
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_y8
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_y7
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_y6
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_y5
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_y4
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_y3
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_y2
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_y1
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_y0
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_x9
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_x8
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_x7
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_x6
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_x5
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_x4
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_x3
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_x2
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_x1
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_x0
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_k1
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
out_k0
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
mouse_d
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
clk
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
}
|
||||||
|
# include_file {
|
||||||
|
..|..|..|..|..|altera|90sp2|quartus|libraries|megafunctions|lpm_add_sub.inc
|
||||||
|
7d9a33dd39f13aa690c3d0edd88351
|
||||||
|
}
|
||||||
|
# hierarchies {
|
||||||
|
MOUSE:MS
|
||||||
|
}
|
||||||
|
# macro_sequence
|
||||||
|
|
||||||
|
# end
|
||||||
|
# entity
|
||||||
|
kbd
|
||||||
|
# storage
|
||||||
|
db|SP2_ACEX.(2).cnf
|
||||||
|
db|SP2_ACEX.(2).cnf
|
||||||
|
# case_insensitive
|
||||||
|
# source_file
|
||||||
|
kbd.tdf
|
||||||
|
afaf2f48afdd456dd44d65de56c873a0
|
||||||
|
7
|
||||||
|
# used_port {
|
||||||
|
kbo5
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
kbo4
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
kbo3
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
kbo2
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
kbo1
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
kbo0
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
kbd_dd
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
kbd_cc
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
kb_sh
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
kb_reset
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
kb_f12
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
kb_ctrl
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
kb_alt
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
int_ena
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
int
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
clk_k
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
clk42
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
a9
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
a8
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
a15
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
a14
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
a13
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
a12
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
a11
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
a10
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
/rf
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
/iom
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
/io
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
ena
|
||||||
|
-1
|
||||||
|
2
|
||||||
|
/m1
|
||||||
|
-1
|
||||||
|
2
|
||||||
|
}
|
||||||
|
# include_file {
|
||||||
|
..|..|..|..|..|altera|90sp2|quartus|libraries|megafunctions|lpm_ram_dq.inc
|
||||||
|
597f4cadef5751f17c6f4540c4ffcc84
|
||||||
|
}
|
||||||
|
# hierarchies {
|
||||||
|
kbd:KEYS
|
||||||
|
}
|
||||||
|
# macro_sequence
|
||||||
|
|
||||||
|
# end
|
||||||
|
# entity
|
||||||
|
lpm_ram_dq
|
||||||
|
# storage
|
||||||
|
db|SP2_ACEX.(3).cnf
|
||||||
|
db|SP2_ACEX.(3).cnf
|
||||||
|
# case_insensitive
|
||||||
|
# source_file
|
||||||
|
..|..|..|..|..|altera|90sp2|quartus|libraries|megafunctions|lpm_ram_dq.tdf
|
||||||
|
7179e8cfd3a5bdbbfbdb2c4f1192e5
|
||||||
|
7
|
||||||
|
# user_parameter {
|
||||||
|
LPM_WIDTH
|
||||||
|
8
|
||||||
|
PARAMETER_UNKNOWN
|
||||||
|
USR
|
||||||
|
LPM_WIDTHAD
|
||||||
|
8
|
||||||
|
PARAMETER_UNKNOWN
|
||||||
|
USR
|
||||||
|
LPM_NUMWORDS
|
||||||
|
256
|
||||||
|
PARAMETER_UNKNOWN
|
||||||
|
DEF
|
||||||
|
LPM_INDATA
|
||||||
|
REGISTERED
|
||||||
|
PARAMETER_UNKNOWN
|
||||||
|
DEF
|
||||||
|
LPM_ADDRESS_CONTROL
|
||||||
|
REGISTERED
|
||||||
|
PARAMETER_UNKNOWN
|
||||||
|
DEF
|
||||||
|
LPM_OUTDATA
|
||||||
|
UNREGISTERED
|
||||||
|
PARAMETER_UNKNOWN
|
||||||
|
USR
|
||||||
|
LPM_FILE
|
||||||
|
KBD_INI2.MIF
|
||||||
|
PARAMETER_UNKNOWN
|
||||||
|
USR
|
||||||
|
USE_EAB
|
||||||
|
ON
|
||||||
|
PARAMETER_UNKNOWN
|
||||||
|
DEF
|
||||||
|
DEVICE_FAMILY
|
||||||
|
ACEX1K
|
||||||
|
PARAMETER_UNKNOWN
|
||||||
|
USR
|
||||||
|
CBXI_PARAMETER
|
||||||
|
NOTHING
|
||||||
|
PARAMETER_UNKNOWN
|
||||||
|
DEF
|
||||||
|
AUTO_CARRY_CHAINS
|
||||||
|
ON
|
||||||
|
AUTO_CARRY
|
||||||
|
USR
|
||||||
|
IGNORE_CARRY_BUFFERS
|
||||||
|
OFF
|
||||||
|
IGNORE_CARRY
|
||||||
|
USR
|
||||||
|
AUTO_CASCADE_CHAINS
|
||||||
|
ON
|
||||||
|
AUTO_CASCADE
|
||||||
|
USR
|
||||||
|
IGNORE_CASCADE_BUFFERS
|
||||||
|
OFF
|
||||||
|
IGNORE_CASCADE
|
||||||
|
USR
|
||||||
|
}
|
||||||
|
# used_port {
|
||||||
|
we
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
q7
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
q6
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
q5
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
q4
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
q3
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
q2
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
q1
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
q0
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
inclock
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
data5
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
data4
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
data3
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
data2
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
data1
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
data0
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
address7
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
address6
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
address5
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
address4
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
address3
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
address2
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
address1
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
address0
|
||||||
|
-1
|
||||||
|
3
|
||||||
|
data7
|
||||||
|
-1
|
||||||
|
2
|
||||||
|
data6
|
||||||
|
-1
|
||||||
|
2
|
||||||
|
}
|
||||||
|
# include_file {
|
||||||
|
..|..|..|..|..|altera|90sp2|quartus|libraries|megafunctions|lpm_decode.inc
|
||||||
|
bd0e2f5e01c1bd360461dceb53d48
|
||||||
|
..|..|..|..|..|altera|90sp2|quartus|libraries|megafunctions|lpm_mux.inc
|
||||||
|
c22bfd353214c01495b560fc34e47d79
|
||||||
|
..|..|..|..|..|altera|90sp2|quartus|libraries|megafunctions|aglobal90.inc
|
||||||
|
99832fdf63412df51d7531202d74e75
|
||||||
|
..|..|..|..|..|altera|90sp2|quartus|libraries|megafunctions|altram.inc
|
||||||
|
e66a83eccf6717bed97c99d891ad085
|
||||||
|
}
|
||||||
|
# hierarchies {
|
||||||
|
kbd:KEYS|lpm_ram_dq:$00021
|
||||||
|
}
|
||||||
|
# macro_sequence
|
||||||
|
|
||||||
|
# end
|
||||||
|
# complete
|
||||||
|
|
||||||
BIN
src/altera/quartus/acex/db/SP2_ACEX.map.hdb
Normal file
BIN
src/altera/quartus/acex/db/SP2_ACEX.map.hdb
Normal file
Binary file not shown.
30
src/altera/quartus/acex/db/SP2_ACEX.map.qmsg
Normal file
30
src/altera/quartus/acex/db/SP2_ACEX.map.qmsg
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{ "Info" "IQEXE_SEPARATOR" "" "Info: *******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IQEXE_START_BANNER_PRODUCT" "Analysis & Synthesis Quartus II " "Info: Running Quartus II Analysis & Synthesis" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition " "Info: Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition" { } { } 0 0 "%1!s!" 0 0 "" 0 -1} { "Info" "IQEXE_START_BANNER_TIME" "Sun Aug 28 15:25:50 2022 " "Info: Processing started: Sun Aug 28 15:25:50 2022" { } { } 0 0 "Processing started: %1!s!" 0 0 "" 0 -1} } { } 4 0 "Running %2!s! %1!s!" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_map --read_settings_files=on --write_settings_files=off SP2_ACEX -c SP2_ACEX " "Info: Command: quartus_map --read_settings_files=on --write_settings_files=off SP2_ACEX -c SP2_ACEX" { } { } 0 0 "Command: %1!s!" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WSGN_SEARCH_FILE" "SP2_ACEX.tdf 1 1 " "Warning: Using design file SP2_ACEX.tdf, which is not specified as a design file for the current project, but contains definitions for 1 design units and 1 entities in project" { { "Info" "ISGN_ENTITY_NAME" "1 SP2_ACEX " "Info: Found entity 1: SP2_ACEX" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 24 1 0 } } } 0 0 "Found entity %1!d!: %2!s!" 0 0 "" 0 -1} } { } 0 0 "Using design file %1!s!, which is not specified as a design file for the current project, but contains definitions for %2!llu! design units and %3!llu! entities in project" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_START_ELABORATION_TOP" "SP2_ACEX " "Info: Elaborating entity \"SP2_ACEX\" for the top level hierarchy" { } { } 0 0 "Elaborating entity \"%1!s!\" for the top level hierarchy" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "DMD " "Warning: Variable or input pin \"DMD\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 109 5 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "T_SIGNAL " "Warning: Variable or input pin \"T_SIGNAL\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 147 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "RED " "Warning: Variable or input pin \"RED\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 160 5 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "GREEN " "Warning: Variable or input pin \"GREEN\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 161 7 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "BLUE " "Warning: Variable or input pin \"BLUE\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 162 6 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "MDR " "Warning: Variable or input pin \"MDR\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 170 5 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "ISA_CASH " "Warning: Variable or input pin \"ISA_CASH\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 222 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "ROM_WRITE_MODE " "Warning: Variable or input pin \"ROM_WRITE_MODE\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 241 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "/HALT " "Warning: Variable or input pin \"/HALT\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 36 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WSGN_SEARCH_FILE" "MOUSE.tdf 1 1 " "Warning: Using design file MOUSE.tdf, which is not specified as a design file for the current project, but contains definitions for 1 design units and 1 entities in project" { { "Info" "ISGN_ENTITY_NAME" "1 mouse " "Info: Found entity 1: mouse" { } { { "MOUSE.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/MOUSE.tdf" 6 1 0 } } } 0 0 "Found entity %1!d!: %2!s!" 0 0 "" 0 -1} } { } 0 0 "Using design file %1!s!, which is not specified as a design file for the current project, but contains definitions for %2!llu! design units and %3!llu! entities in project" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "MOUSE MOUSE:MS " "Info: Elaborating entity \"MOUSE\" for hierarchy \"MOUSE:MS\"" { } { { "SP2_ACEX.tdf" "MS" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 79 2 0 } } } 0 0 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "KB_OFL " "Warning: Variable or input pin \"KB_OFL\" is defined but never used" { } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 63 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WSGN_SEARCH_FILE" "kbd.tdf 1 1 " "Warning: Using design file kbd.tdf, which is not specified as a design file for the current project, but contains definitions for 1 design units and 1 entities in project" { { "Info" "ISGN_ENTITY_NAME" "1 kbd " "Info: Found entity 1: kbd" { } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 6 1 0 } } } 0 0 "Found entity %1!d!: %2!s!" 0 0 "" 0 -1} } { } 0 0 "Using design file %1!s!, which is not specified as a design file for the current project, but contains definitions for %2!llu! design units and %3!llu! entities in project" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "kbd kbd:KEYS " "Info: Elaborating entity \"kbd\" for hierarchy \"kbd:KEYS\"" { } { { "SP2_ACEX.tdf" "KEYS" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 80 2 0 } } } 0 0 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "/IOM " "Warning: Variable or input pin \"/IOM\" is defined but never used" { } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 15 2 0 } } { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 80 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "/M1 " "Warning: Variable or input pin \"/M1\" is defined but never used" { } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 16 2 0 } } { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 80 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "lpm_ram_dq kbd:KEYS\|lpm_ram_dq:\$00021 " "Info: Elaborating entity \"lpm_ram_dq\" for hierarchy \"kbd:KEYS\|lpm_ram_dq:\$00021\"" { } { { "kbd.tdf" "\$00021" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 167 9 0 } } } 0 0 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_ELABORATION_HEADER" "kbd:KEYS\|lpm_ram_dq:\$00021 " "Info: Elaborated megafunction instantiation \"kbd:KEYS\|lpm_ram_dq:\$00021\"" { } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 167 9 0 } } } 0 0 "Elaborated megafunction instantiation \"%1!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_MEGAFN_PARAM_TOP" "kbd:KEYS\|lpm_ram_dq:\$00021 " "Info: Instantiated megafunction \"kbd:KEYS\|lpm_ram_dq:\$00021\" with the following parameter:" { { "Info" "ISGN_MEGAFN_PARAM_SUB" "LPM_WIDTH 8 " "Info: Parameter \"LPM_WIDTH\" = \"8\"" { } { } 0 0 "Parameter \"%1!s!\" = \"%2!s!\"" 0 0 "" 0 -1} { "Info" "ISGN_MEGAFN_PARAM_SUB" "LPM_WIDTHAD 8 " "Info: Parameter \"LPM_WIDTHAD\" = \"8\"" { } { } 0 0 "Parameter \"%1!s!\" = \"%2!s!\"" 0 0 "" 0 -1} { "Info" "ISGN_MEGAFN_PARAM_SUB" "LPM_FILE KBD_INI2.MIF " "Info: Parameter \"LPM_FILE\" = \"KBD_INI2.MIF\"" { } { } 0 0 "Parameter \"%1!s!\" = \"%2!s!\"" 0 0 "" 0 -1} { "Info" "ISGN_MEGAFN_PARAM_SUB" "LPM_OUTDATA UNREGISTERED " "Info: Parameter \"LPM_OUTDATA\" = \"UNREGISTERED\"" { } { } 0 0 "Parameter \"%1!s!\" = \"%2!s!\"" 0 0 "" 0 -1} } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 167 9 0 } } } 0 0 "Instantiated megafunction \"%1!s!\" with the following parameter:" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "altram kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram " "Info: Elaborating entity \"altram\" for hierarchy \"kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram\"" { } { { "lpm_ram_dq.tdf" "sram" { Text "c:/altera/90sp2/quartus/libraries/megafunctions/lpm_ram_dq.tdf" 101 6 0 } } } 0 0 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Error" "EMIO_MIO_INVALID_LINE" "KBD_INI2.MIF 13 " "Error: Memory Initialization File or Hexadecimal (Intel-Format) File \"KBD_INI2.MIF\" contains illegal syntax at line 13" { } { { "C:/Sprinter/src/altera/quartus/acex/KBD_INI2.MIF" "" { Text "C:/Sprinter/src/altera/quartus/acex/KBD_INI2.MIF" 13 -1 0 } } } 0 0 "Memory Initialization File or Hexadecimal (Intel-Format) File \"%1!s!\" contains illegal syntax at line %2!d!" 0 0 "" 0 -1}
|
||||||
|
{ "Critical Warning" "WCDB_CDB_CANT_READ_CONTENT_FILE" "KBD_INI2.MIF " "Critical Warning: Can't read Memory Initialization File or Hexadecimal (Intel-Format) File KBD_INI2.MIF -- setting all initial values to 0" { } { { "altram.tdf" "" { Text "c:/altera/90sp2/quartus/libraries/megafunctions/altram.tdf" 178 13 0 } } } 1 0 "Can't read Memory Initialization File or Hexadecimal (Intel-Format) File %1!s! -- setting all initial values to 0" 0 0 "" 0 -1}
|
||||||
|
{ "Error" "ESGN_USER_HIER_ELABORATION_FAILURE" "kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram " "Error: Can't elaborate user hierarchy \"kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram\"" { } { { "lpm_ram_dq.tdf" "sram" { Text "c:/altera/90sp2/quartus/libraries/megafunctions/lpm_ram_dq.tdf" 101 6 0 } } } 0 0 "Can't elaborate user hierarchy \"%1!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_MEGAFN_DESCENDANT" "kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram kbd:KEYS\|lpm_ram_dq:\$00021 " "Info: Elaborated megafunction instantiation \"kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram\", which is child of megafunction instantiation \"kbd:KEYS\|lpm_ram_dq:\$00021\"" { } { { "lpm_ram_dq.tdf" "" { Text "c:/altera/90sp2/quartus/libraries/megafunctions/lpm_ram_dq.tdf" 101 6 0 } } { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 167 9 0 } } } 0 0 "Elaborated megafunction instantiation \"%1!s!\", which is child of megafunction instantiation \"%2!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Error" "EQEXE_ERROR_COUNT" "Analysis & Synthesis 2 s 16 s Quartus II " "Error: Quartus II Analysis & Synthesis was unsuccessful. 2 errors, 16 warnings" { { "Error" "EQEXE_END_PEAK_VSIZE_MEMORY" "228 " "Error: Peak virtual memory: 228 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "" 0 -1} { "Error" "EQEXE_END_BANNER_TIME" "Sun Aug 28 15:25:51 2022 " "Error: Processing ended: Sun Aug 28 15:25:51 2022" { } { } 0 0 "Processing ended: %1!s!" 0 0 "" 0 -1} { "Error" "EQEXE_ELAPSED_TIME" "00:00:01 " "Error: Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "" 0 -1} { "Error" "EQEXE_ELAPSED_CPU_TIME" "00:00:01 " "Error: Total CPU time (on all processors): 00:00:01" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "" 0 -1} } { } 0 0 "%6!s! %1!s! was unsuccessful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "" 0 -1}
|
||||||
BIN
src/altera/quartus/acex/db/SP2_ACEX.sld_design_entry.sci
Normal file
BIN
src/altera/quartus/acex/db/SP2_ACEX.sld_design_entry.sci
Normal file
Binary file not shown.
BIN
src/altera/quartus/acex/db/SP2_ACEX.tis_db_list.ddb
Normal file
BIN
src/altera/quartus/acex/db/SP2_ACEX.tis_db_list.ddb
Normal file
Binary file not shown.
30
src/altera/quartus/acex/db/prev_cmp_SP2_ACEX.map.qmsg
Normal file
30
src/altera/quartus/acex/db/prev_cmp_SP2_ACEX.map.qmsg
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{ "Info" "IQEXE_SEPARATOR" "" "Info: *******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IQEXE_START_BANNER_PRODUCT" "Analysis & Synthesis Quartus II " "Info: Running Quartus II Analysis & Synthesis" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition " "Info: Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition" { } { } 0 0 "%1!s!" 0 0 "" 0 -1} { "Info" "IQEXE_START_BANNER_TIME" "Sun Aug 28 03:33:04 2022 " "Info: Processing started: Sun Aug 28 03:33:04 2022" { } { } 0 0 "Processing started: %1!s!" 0 0 "" 0 -1} } { } 4 0 "Running %2!s! %1!s!" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_map --read_settings_files=on --write_settings_files=off SP2_ACEX -c SP2_ACEX " "Info: Command: quartus_map --read_settings_files=on --write_settings_files=off SP2_ACEX -c SP2_ACEX" { } { } 0 0 "Command: %1!s!" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WSGN_SEARCH_FILE" "SP2_ACEX.tdf 1 1 " "Warning: Using design file SP2_ACEX.tdf, which is not specified as a design file for the current project, but contains definitions for 1 design units and 1 entities in project" { { "Info" "ISGN_ENTITY_NAME" "1 SP2_ACEX " "Info: Found entity 1: SP2_ACEX" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 24 1 0 } } } 0 0 "Found entity %1!d!: %2!s!" 0 0 "" 0 -1} } { } 0 0 "Using design file %1!s!, which is not specified as a design file for the current project, but contains definitions for %2!llu! design units and %3!llu! entities in project" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_START_ELABORATION_TOP" "SP2_ACEX " "Info: Elaborating entity \"SP2_ACEX\" for the top level hierarchy" { } { } 0 0 "Elaborating entity \"%1!s!\" for the top level hierarchy" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "DMD " "Warning: Variable or input pin \"DMD\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 109 5 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "T_SIGNAL " "Warning: Variable or input pin \"T_SIGNAL\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 147 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "RED " "Warning: Variable or input pin \"RED\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 160 5 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "GREEN " "Warning: Variable or input pin \"GREEN\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 161 7 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "BLUE " "Warning: Variable or input pin \"BLUE\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 162 6 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "MDR " "Warning: Variable or input pin \"MDR\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 170 5 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "ISA_CASH " "Warning: Variable or input pin \"ISA_CASH\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 222 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "ROM_WRITE_MODE " "Warning: Variable or input pin \"ROM_WRITE_MODE\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 241 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "/HALT " "Warning: Variable or input pin \"/HALT\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 36 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WSGN_SEARCH_FILE" "MOUSE.tdf 1 1 " "Warning: Using design file MOUSE.tdf, which is not specified as a design file for the current project, but contains definitions for 1 design units and 1 entities in project" { { "Info" "ISGN_ENTITY_NAME" "1 mouse " "Info: Found entity 1: mouse" { } { { "MOUSE.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/MOUSE.tdf" 6 1 0 } } } 0 0 "Found entity %1!d!: %2!s!" 0 0 "" 0 -1} } { } 0 0 "Using design file %1!s!, which is not specified as a design file for the current project, but contains definitions for %2!llu! design units and %3!llu! entities in project" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "MOUSE MOUSE:MS " "Info: Elaborating entity \"MOUSE\" for hierarchy \"MOUSE:MS\"" { } { { "SP2_ACEX.tdf" "MS" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 79 2 0 } } } 0 0 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "KB_OFL " "Warning: Variable or input pin \"KB_OFL\" is defined but never used" { } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 63 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WSGN_SEARCH_FILE" "kbd.tdf 1 1 " "Warning: Using design file kbd.tdf, which is not specified as a design file for the current project, but contains definitions for 1 design units and 1 entities in project" { { "Info" "ISGN_ENTITY_NAME" "1 kbd " "Info: Found entity 1: kbd" { } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 6 1 0 } } } 0 0 "Found entity %1!d!: %2!s!" 0 0 "" 0 -1} } { } 0 0 "Using design file %1!s!, which is not specified as a design file for the current project, but contains definitions for %2!llu! design units and %3!llu! entities in project" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "kbd kbd:KEYS " "Info: Elaborating entity \"kbd\" for hierarchy \"kbd:KEYS\"" { } { { "SP2_ACEX.tdf" "KEYS" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 80 2 0 } } } 0 0 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "/IOM " "Warning: Variable or input pin \"/IOM\" is defined but never used" { } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 15 2 0 } } { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 80 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "/M1 " "Warning: Variable or input pin \"/M1\" is defined but never used" { } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 16 2 0 } } { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 80 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "lpm_ram_dq kbd:KEYS\|lpm_ram_dq:\$00021 " "Info: Elaborating entity \"lpm_ram_dq\" for hierarchy \"kbd:KEYS\|lpm_ram_dq:\$00021\"" { } { { "kbd.tdf" "\$00021" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 167 9 0 } } } 0 0 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_ELABORATION_HEADER" "kbd:KEYS\|lpm_ram_dq:\$00021 " "Info: Elaborated megafunction instantiation \"kbd:KEYS\|lpm_ram_dq:\$00021\"" { } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 167 9 0 } } } 0 0 "Elaborated megafunction instantiation \"%1!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_MEGAFN_PARAM_TOP" "kbd:KEYS\|lpm_ram_dq:\$00021 " "Info: Instantiated megafunction \"kbd:KEYS\|lpm_ram_dq:\$00021\" with the following parameter:" { { "Info" "ISGN_MEGAFN_PARAM_SUB" "LPM_WIDTH 8 " "Info: Parameter \"LPM_WIDTH\" = \"8\"" { } { } 0 0 "Parameter \"%1!s!\" = \"%2!s!\"" 0 0 "" 0 -1} { "Info" "ISGN_MEGAFN_PARAM_SUB" "LPM_WIDTHAD 8 " "Info: Parameter \"LPM_WIDTHAD\" = \"8\"" { } { } 0 0 "Parameter \"%1!s!\" = \"%2!s!\"" 0 0 "" 0 -1} { "Info" "ISGN_MEGAFN_PARAM_SUB" "LPM_FILE KBD_INI2.MIF " "Info: Parameter \"LPM_FILE\" = \"KBD_INI2.MIF\"" { } { } 0 0 "Parameter \"%1!s!\" = \"%2!s!\"" 0 0 "" 0 -1} { "Info" "ISGN_MEGAFN_PARAM_SUB" "LPM_OUTDATA UNREGISTERED " "Info: Parameter \"LPM_OUTDATA\" = \"UNREGISTERED\"" { } { } 0 0 "Parameter \"%1!s!\" = \"%2!s!\"" 0 0 "" 0 -1} } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 167 9 0 } } } 0 0 "Instantiated megafunction \"%1!s!\" with the following parameter:" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "altram kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram " "Info: Elaborating entity \"altram\" for hierarchy \"kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram\"" { } { { "lpm_ram_dq.tdf" "sram" { Text "c:/altera/90sp2/quartus/libraries/megafunctions/lpm_ram_dq.tdf" 101 6 0 } } } 0 0 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Error" "EMIO_MIO_INVALID_LINE" "KBD_INI2.MIF 13 " "Error: Memory Initialization File or Hexadecimal (Intel-Format) File \"KBD_INI2.MIF\" contains illegal syntax at line 13" { } { { "C:/Sprinter/src/altera/quartus/acex/KBD_INI2.MIF" "" { Text "C:/Sprinter/src/altera/quartus/acex/KBD_INI2.MIF" 13 -1 0 } } } 0 0 "Memory Initialization File or Hexadecimal (Intel-Format) File \"%1!s!\" contains illegal syntax at line %2!d!" 0 0 "" 0 -1}
|
||||||
|
{ "Critical Warning" "WCDB_CDB_CANT_READ_CONTENT_FILE" "KBD_INI2.MIF " "Critical Warning: Can't read Memory Initialization File or Hexadecimal (Intel-Format) File KBD_INI2.MIF -- setting all initial values to 0" { } { { "altram.tdf" "" { Text "c:/altera/90sp2/quartus/libraries/megafunctions/altram.tdf" 178 13 0 } } } 1 0 "Can't read Memory Initialization File or Hexadecimal (Intel-Format) File %1!s! -- setting all initial values to 0" 0 0 "" 0 -1}
|
||||||
|
{ "Error" "ESGN_USER_HIER_ELABORATION_FAILURE" "kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram " "Error: Can't elaborate user hierarchy \"kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram\"" { } { { "lpm_ram_dq.tdf" "sram" { Text "c:/altera/90sp2/quartus/libraries/megafunctions/lpm_ram_dq.tdf" 101 6 0 } } } 0 0 "Can't elaborate user hierarchy \"%1!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_MEGAFN_DESCENDANT" "kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram kbd:KEYS\|lpm_ram_dq:\$00021 " "Info: Elaborated megafunction instantiation \"kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram\", which is child of megafunction instantiation \"kbd:KEYS\|lpm_ram_dq:\$00021\"" { } { { "lpm_ram_dq.tdf" "" { Text "c:/altera/90sp2/quartus/libraries/megafunctions/lpm_ram_dq.tdf" 101 6 0 } } { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 167 9 0 } } } 0 0 "Elaborated megafunction instantiation \"%1!s!\", which is child of megafunction instantiation \"%2!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Error" "EQEXE_ERROR_COUNT" "Analysis & Synthesis 2 s 16 s Quartus II " "Error: Quartus II Analysis & Synthesis was unsuccessful. 2 errors, 16 warnings" { { "Error" "EQEXE_END_PEAK_VSIZE_MEMORY" "228 " "Error: Peak virtual memory: 228 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "" 0 -1} { "Error" "EQEXE_END_BANNER_TIME" "Sun Aug 28 03:33:05 2022 " "Error: Processing ended: Sun Aug 28 03:33:05 2022" { } { } 0 0 "Processing ended: %1!s!" 0 0 "" 0 -1} { "Error" "EQEXE_ELAPSED_TIME" "00:00:01 " "Error: Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "" 0 -1} { "Error" "EQEXE_ELAPSED_CPU_TIME" "00:00:01 " "Error: Total CPU time (on all processors): 00:00:01" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "" 0 -1} } { } 0 0 "%6!s! %1!s! was unsuccessful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "" 0 -1}
|
||||||
31
src/altera/quartus/acex/db/prev_cmp_SP2_ACEX.qmsg
Normal file
31
src/altera/quartus/acex/db/prev_cmp_SP2_ACEX.qmsg
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{ "Info" "IQEXE_SEPARATOR" "" "Info: *******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IQEXE_START_BANNER_PRODUCT" "Analysis & Synthesis Quartus II " "Info: Running Quartus II Analysis & Synthesis" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition " "Info: Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition" { } { } 0 0 "%1!s!" 0 0 "" 0 -1} { "Info" "IQEXE_START_BANNER_TIME" "Sun Aug 28 03:32:19 2022 " "Info: Processing started: Sun Aug 28 03:32:19 2022" { } { } 0 0 "Processing started: %1!s!" 0 0 "" 0 -1} } { } 4 0 "Running %2!s! %1!s!" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_map --read_settings_files=on --write_settings_files=off SP2_ACEX -c SP2_ACEX " "Info: Command: quartus_map --read_settings_files=on --write_settings_files=off SP2_ACEX -c SP2_ACEX" { } { } 0 0 "Command: %1!s!" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WSGN_SEARCH_FILE" "SP2_ACEX.tdf 1 1 " "Warning: Using design file SP2_ACEX.tdf, which is not specified as a design file for the current project, but contains definitions for 1 design units and 1 entities in project" { { "Info" "ISGN_ENTITY_NAME" "1 SP2_ACEX " "Info: Found entity 1: SP2_ACEX" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 24 1 0 } } } 0 0 "Found entity %1!d!: %2!s!" 0 0 "" 0 -1} } { } 0 0 "Using design file %1!s!, which is not specified as a design file for the current project, but contains definitions for %2!llu! design units and %3!llu! entities in project" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_START_ELABORATION_TOP" "SP2_ACEX " "Info: Elaborating entity \"SP2_ACEX\" for the top level hierarchy" { } { } 0 0 "Elaborating entity \"%1!s!\" for the top level hierarchy" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "DMD " "Warning: Variable or input pin \"DMD\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 109 5 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "T_SIGNAL " "Warning: Variable or input pin \"T_SIGNAL\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 147 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "RED " "Warning: Variable or input pin \"RED\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 160 5 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "GREEN " "Warning: Variable or input pin \"GREEN\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 161 7 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "BLUE " "Warning: Variable or input pin \"BLUE\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 162 6 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "MDR " "Warning: Variable or input pin \"MDR\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 170 5 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "ISA_CASH " "Warning: Variable or input pin \"ISA_CASH\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 222 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "ROM_WRITE_MODE " "Warning: Variable or input pin \"ROM_WRITE_MODE\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 241 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "/HALT " "Warning: Variable or input pin \"/HALT\" is defined but never used" { } { { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 36 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WSGN_SEARCH_FILE" "MOUSE.tdf 1 1 " "Warning: Using design file MOUSE.tdf, which is not specified as a design file for the current project, but contains definitions for 1 design units and 1 entities in project" { { "Info" "ISGN_ENTITY_NAME" "1 mouse " "Info: Found entity 1: mouse" { } { { "MOUSE.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/MOUSE.tdf" 6 1 0 } } } 0 0 "Found entity %1!d!: %2!s!" 0 0 "" 0 -1} } { } 0 0 "Using design file %1!s!, which is not specified as a design file for the current project, but contains definitions for %2!llu! design units and %3!llu! entities in project" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "MOUSE MOUSE:MS " "Info: Elaborating entity \"MOUSE\" for hierarchy \"MOUSE:MS\"" { } { { "SP2_ACEX.tdf" "MS" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 79 2 0 } } } 0 0 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "KB_OFL " "Warning: Variable or input pin \"KB_OFL\" is defined but never used" { } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 63 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WSGN_SEARCH_FILE" "kbd.tdf 1 1 " "Warning: Using design file kbd.tdf, which is not specified as a design file for the current project, but contains definitions for 1 design units and 1 entities in project" { { "Info" "ISGN_ENTITY_NAME" "1 kbd " "Info: Found entity 1: kbd" { } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 6 1 0 } } } 0 0 "Found entity %1!d!: %2!s!" 0 0 "" 0 -1} } { } 0 0 "Using design file %1!s!, which is not specified as a design file for the current project, but contains definitions for %2!llu! design units and %3!llu! entities in project" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "kbd kbd:KEYS " "Info: Elaborating entity \"kbd\" for hierarchy \"kbd:KEYS\"" { } { { "SP2_ACEX.tdf" "KEYS" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 80 2 0 } } } 0 0 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "/IOM " "Warning: Variable or input pin \"/IOM\" is defined but never used" { } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 15 2 0 } } { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 80 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WTDFX_UNREFERENCED_NODE" "/M1 " "Warning: Variable or input pin \"/M1\" is defined but never used" { } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 16 2 0 } } { "SP2_ACEX.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/SP2_ACEX.tdf" 80 2 0 } } } 0 0 "Variable or input pin \"%1!s!\" is defined but never used" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "lpm_ram_dq kbd:KEYS\|lpm_ram_dq:\$00021 " "Info: Elaborating entity \"lpm_ram_dq\" for hierarchy \"kbd:KEYS\|lpm_ram_dq:\$00021\"" { } { { "kbd.tdf" "\$00021" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 167 9 0 } } } 0 0 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_ELABORATION_HEADER" "kbd:KEYS\|lpm_ram_dq:\$00021 " "Info: Elaborated megafunction instantiation \"kbd:KEYS\|lpm_ram_dq:\$00021\"" { } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 167 9 0 } } } 0 0 "Elaborated megafunction instantiation \"%1!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_MEGAFN_PARAM_TOP" "kbd:KEYS\|lpm_ram_dq:\$00021 " "Info: Instantiated megafunction \"kbd:KEYS\|lpm_ram_dq:\$00021\" with the following parameter:" { { "Info" "ISGN_MEGAFN_PARAM_SUB" "LPM_WIDTH 8 " "Info: Parameter \"LPM_WIDTH\" = \"8\"" { } { } 0 0 "Parameter \"%1!s!\" = \"%2!s!\"" 0 0 "" 0 -1} { "Info" "ISGN_MEGAFN_PARAM_SUB" "LPM_WIDTHAD 8 " "Info: Parameter \"LPM_WIDTHAD\" = \"8\"" { } { } 0 0 "Parameter \"%1!s!\" = \"%2!s!\"" 0 0 "" 0 -1} { "Info" "ISGN_MEGAFN_PARAM_SUB" "LPM_FILE KBD_INI2.MIF " "Info: Parameter \"LPM_FILE\" = \"KBD_INI2.MIF\"" { } { } 0 0 "Parameter \"%1!s!\" = \"%2!s!\"" 0 0 "" 0 -1} { "Info" "ISGN_MEGAFN_PARAM_SUB" "LPM_OUTDATA UNREGISTERED " "Info: Parameter \"LPM_OUTDATA\" = \"UNREGISTERED\"" { } { } 0 0 "Parameter \"%1!s!\" = \"%2!s!\"" 0 0 "" 0 -1} } { { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 167 9 0 } } } 0 0 "Instantiated megafunction \"%1!s!\" with the following parameter:" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "altram kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram " "Info: Elaborating entity \"altram\" for hierarchy \"kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram\"" { } { { "lpm_ram_dq.tdf" "sram" { Text "c:/altera/90sp2/quartus/libraries/megafunctions/lpm_ram_dq.tdf" 101 6 0 } } } 0 0 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Error" "EMIO_MIO_INVALID_LINE" "KBD_INI2.MIF 13 " "Error: Memory Initialization File or Hexadecimal (Intel-Format) File \"KBD_INI2.MIF\" contains illegal syntax at line 13" { } { { "C:/Sprinter/src/altera/quartus/acex/KBD_INI2.MIF" "" { Text "C:/Sprinter/src/altera/quartus/acex/KBD_INI2.MIF" 13 -1 0 } } } 0 0 "Memory Initialization File or Hexadecimal (Intel-Format) File \"%1!s!\" contains illegal syntax at line %2!d!" 0 0 "" 0 -1}
|
||||||
|
{ "Critical Warning" "WCDB_CDB_CANT_READ_CONTENT_FILE" "KBD_INI2.MIF " "Critical Warning: Can't read Memory Initialization File or Hexadecimal (Intel-Format) File KBD_INI2.MIF -- setting all initial values to 0" { } { { "altram.tdf" "" { Text "c:/altera/90sp2/quartus/libraries/megafunctions/altram.tdf" 178 13 0 } } } 1 0 "Can't read Memory Initialization File or Hexadecimal (Intel-Format) File %1!s! -- setting all initial values to 0" 0 0 "" 0 -1}
|
||||||
|
{ "Error" "ESGN_USER_HIER_ELABORATION_FAILURE" "kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram " "Error: Can't elaborate user hierarchy \"kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram\"" { } { { "lpm_ram_dq.tdf" "sram" { Text "c:/altera/90sp2/quartus/libraries/megafunctions/lpm_ram_dq.tdf" 101 6 0 } } } 0 0 "Can't elaborate user hierarchy \"%1!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "ISGN_MEGAFN_DESCENDANT" "kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram kbd:KEYS\|lpm_ram_dq:\$00021 " "Info: Elaborated megafunction instantiation \"kbd:KEYS\|lpm_ram_dq:\$00021\|altram:sram\", which is child of megafunction instantiation \"kbd:KEYS\|lpm_ram_dq:\$00021\"" { } { { "lpm_ram_dq.tdf" "" { Text "c:/altera/90sp2/quartus/libraries/megafunctions/lpm_ram_dq.tdf" 101 6 0 } } { "kbd.tdf" "" { Text "C:/Sprinter/src/altera/quartus/acex/kbd.tdf" 167 9 0 } } } 0 0 "Elaborated megafunction instantiation \"%1!s!\", which is child of megafunction instantiation \"%2!s!\"" 0 0 "" 0 -1}
|
||||||
|
{ "Error" "EQEXE_ERROR_COUNT" "Analysis & Synthesis 2 s 16 s Quartus II " "Error: Quartus II Analysis & Synthesis was unsuccessful. 2 errors, 16 warnings" { { "Error" "EQEXE_END_PEAK_VSIZE_MEMORY" "225 " "Error: Peak virtual memory: 225 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "" 0 -1} { "Error" "EQEXE_END_BANNER_TIME" "Sun Aug 28 03:32:20 2022 " "Error: Processing ended: Sun Aug 28 03:32:20 2022" { } { } 0 0 "Processing ended: %1!s!" 0 0 "" 0 -1} { "Error" "EQEXE_ELAPSED_TIME" "00:00:01 " "Error: Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "" 0 -1} { "Error" "EQEXE_ELAPSED_CPU_TIME" "00:00:01 " "Error: Total CPU time (on all processors): 00:00:01" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "" 0 -1} } { } 0 0 "%6!s! %1!s! was unsuccessful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "" 0 -1}
|
||||||
|
{ "Error" "EFLOW_ERROR_COUNT" "Full Compilation 4 s 16 s " "Error: Quartus II Full Compilation was unsuccessful. 4 errors, 16 warnings" { } { } 0 0 "Quartus II %1!s! was unsuccessful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "" 0 -1}
|
||||||
307
src/altera/quartus/acex/maxplusii_to_quartus_name_mapping.txt
Normal file
307
src/altera/quartus/acex/maxplusii_to_quartus_name_mapping.txt
Normal file
@ -0,0 +1,307 @@
|
|||||||
|
-- Copyright (C) 1991-2004 Altera Corporation
|
||||||
|
-- Any megafunction design, and related netlist (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, netlist, 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, netlist,
|
||||||
|
-- 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.
|
||||||
|
|
||||||
|
-- VERSION "Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition"
|
||||||
|
-- DATE "08/28/2022 15:25:41"
|
||||||
|
|
||||||
|
Conversion results for sp2_acex
|
||||||
|
+--------------------------------------------------------+--------------------------------------------------------+
|
||||||
|
| MAX+PLUS II node name | Quartus II node name |
|
||||||
|
+--------------------------------------------------------+--------------------------------------------------------+
|
||||||
|
| |/M1 | /M[1] |
|
||||||
|
| |/m1 | /m[1] |
|
||||||
|
| |A0 | A[0] |
|
||||||
|
| |a0 | a[0] |
|
||||||
|
| |A1 | A[1] |
|
||||||
|
| |a1 | a[1] |
|
||||||
|
| |A2 | A[2] |
|
||||||
|
| |a2 | a[2] |
|
||||||
|
| |A3 | A[3] |
|
||||||
|
| |a3 | a[3] |
|
||||||
|
| |A4 | A[4] |
|
||||||
|
| |a4 | a[4] |
|
||||||
|
| |A5 | A[5] |
|
||||||
|
| |a5 | a[5] |
|
||||||
|
| |A6 | A[6] |
|
||||||
|
| |a6 | a[6] |
|
||||||
|
| |A7 | A[7] |
|
||||||
|
| |a7 | a[7] |
|
||||||
|
| |A8 | A[8] |
|
||||||
|
| |a8 | a[8] |
|
||||||
|
| |A9 | A[9] |
|
||||||
|
| |a9 | a[9] |
|
||||||
|
| |A10 | A[10] |
|
||||||
|
| |a10 | a[10] |
|
||||||
|
| |A11 | A[11] |
|
||||||
|
| |a11 | a[11] |
|
||||||
|
| |A12 | A[12] |
|
||||||
|
| |A13 | A[13] |
|
||||||
|
| |A14 | A[14] |
|
||||||
|
| |A15 | A[15] |
|
||||||
|
| |CAS_0 | CAS_[0] |
|
||||||
|
| |CAS_1 | CAS_[1] |
|
||||||
|
| |CAS_2 | CAS_[2] |
|
||||||
|
| |CAS_3 | CAS_[3] |
|
||||||
|
| |CASX_0 | CASX_[0] |
|
||||||
|
| |CASX_1 | CASX_[1] |
|
||||||
|
| |CASX_2 | CASX_[2] |
|
||||||
|
| |CASX_3 | CASX_[3] |
|
||||||
|
| |CASXE0 | CASXE[0] |
|
||||||
|
| |CASXE1 | CASXE[1] |
|
||||||
|
| |CLKZ1 | CLKZ[1] |
|
||||||
|
| |D0 | D[0] |
|
||||||
|
| |d0 | d[0] |
|
||||||
|
| |D1 | D[1] |
|
||||||
|
| |d1 | d[1] |
|
||||||
|
| |D2 | D[2] |
|
||||||
|
| |d2 | d[2] |
|
||||||
|
| |D3 | D[3] |
|
||||||
|
| |d3 | d[3] |
|
||||||
|
| |D4 | D[4] |
|
||||||
|
| |d4 | d[4] |
|
||||||
|
| |D5 | D[5] |
|
||||||
|
| |d5 | d[5] |
|
||||||
|
| |D6 | D[6] |
|
||||||
|
| |d6 | d[6] |
|
||||||
|
| |D7 | D[7] |
|
||||||
|
| |d7 | d[7] |
|
||||||
|
| |MA0 | MA[0] |
|
||||||
|
| |ma0 | ma[0] |
|
||||||
|
| |MA1 | MA[1] |
|
||||||
|
| |ma1 | ma[1] |
|
||||||
|
| |MA2 | MA[2] |
|
||||||
|
| |ma2 | ma[2] |
|
||||||
|
| |MA3 | MA[3] |
|
||||||
|
| |ma3 | ma[3] |
|
||||||
|
| |MA4 | MA[4] |
|
||||||
|
| |ma4 | ma[4] |
|
||||||
|
| |MA5 | MA[5] |
|
||||||
|
| |ma5 | ma[5] |
|
||||||
|
| |MA6 | MA[6] |
|
||||||
|
| |ma6 | ma[6] |
|
||||||
|
| |MA7 | MA[7] |
|
||||||
|
| |ma7 | ma[7] |
|
||||||
|
| |MA8 | MA[8] |
|
||||||
|
| |ma8 | ma[8] |
|
||||||
|
| |MA9 | MA[9] |
|
||||||
|
| |ma9 | ma[9] |
|
||||||
|
| |MA10 | MA[10] |
|
||||||
|
| |ma10 | ma[10] |
|
||||||
|
| |MA11 | MA[11] |
|
||||||
|
| |ma11 | ma[11] |
|
||||||
|
| |MA12 | MA[12] |
|
||||||
|
| |ma12 | ma[12] |
|
||||||
|
| |MA13 | MA[13] |
|
||||||
|
| |ma13 | ma[13] |
|
||||||
|
| |MA14 | MA[14] |
|
||||||
|
| |ma14 | ma[14] |
|
||||||
|
| |MD0 | MD[0] |
|
||||||
|
| |md0 | md[0] |
|
||||||
|
| |MD1 | MD[1] |
|
||||||
|
| |md1 | md[1] |
|
||||||
|
| |MD2 | MD[2] |
|
||||||
|
| |md2 | md[2] |
|
||||||
|
| |MD3 | MD[3] |
|
||||||
|
| |md3 | md[3] |
|
||||||
|
| |MD4 | MD[4] |
|
||||||
|
| |md4 | md[4] |
|
||||||
|
| |MD5 | MD[5] |
|
||||||
|
| |md5 | md[5] |
|
||||||
|
| |MD6 | MD[6] |
|
||||||
|
| |md6 | md[6] |
|
||||||
|
| |MD7 | MD[7] |
|
||||||
|
| |md7 | md[7] |
|
||||||
|
| |MD8 | MD[8] |
|
||||||
|
| |md8 | md[8] |
|
||||||
|
| |MD9 | MD[9] |
|
||||||
|
| |md9 | md[9] |
|
||||||
|
| |MD10 | MD[10] |
|
||||||
|
| |md10 | md[10] |
|
||||||
|
| |MD11 | MD[11] |
|
||||||
|
| |md11 | md[11] |
|
||||||
|
| |MD12 | MD[12] |
|
||||||
|
| |md12 | md[12] |
|
||||||
|
| |MD13 | MD[13] |
|
||||||
|
| |md13 | md[13] |
|
||||||
|
| |MD14 | MD[14] |
|
||||||
|
| |md14 | md[14] |
|
||||||
|
| |MD15 | MD[15] |
|
||||||
|
| |md15 | md[15] |
|
||||||
|
| |RA14 | RA[14] |
|
||||||
|
| |ra14 | ra[14] |
|
||||||
|
| |RA15 | RA[15] |
|
||||||
|
| |ra15 | ra[15] |
|
||||||
|
| |RA16 | RA[16] |
|
||||||
|
| |ra16 | ra[16] |
|
||||||
|
| |RA17 | RA[17] |
|
||||||
|
| |ra17 | ra[17] |
|
||||||
|
| |RAS_0 | RAS_[0] |
|
||||||
|
| |RAS_1 | RAS_[1] |
|
||||||
|
| |RASX_0 | RASX_[0] |
|
||||||
|
| |RASX_1 | RASX_[1] |
|
||||||
|
| |TG42 | TG[42] |
|
||||||
|
| |V_CS0 | V_CS[0] |
|
||||||
|
| |v_cs0 | v_cs[0] |
|
||||||
|
| |V_CS1 | V_CS[1] |
|
||||||
|
| |v_cs1 | v_cs[1] |
|
||||||
|
| |V_WR0 | V_WR[0] |
|
||||||
|
| |V_WR1 | V_WR[1] |
|
||||||
|
| |V_WR2 | V_WR[2] |
|
||||||
|
| |V_WR3 | V_WR[3] |
|
||||||
|
| |V_WRX0 | V_WRX[0] |
|
||||||
|
| |V_WRX1 | V_WRX[1] |
|
||||||
|
| |V_WRX2 | V_WRX[2] |
|
||||||
|
| |V_WRX3 | V_WRX[3] |
|
||||||
|
| |VA0 | VA[0] |
|
||||||
|
| |VA1 | VA[1] |
|
||||||
|
| |VA2 | VA[2] |
|
||||||
|
| |VA3 | VA[3] |
|
||||||
|
| |VA4 | VA[4] |
|
||||||
|
| |VA5 | VA[5] |
|
||||||
|
| |VA6 | VA[6] |
|
||||||
|
| |VA7 | VA[7] |
|
||||||
|
| |VA8 | VA[8] |
|
||||||
|
| |VA9 | VA[9] |
|
||||||
|
| |VA10 | VA[10] |
|
||||||
|
| |VA11 | VA[11] |
|
||||||
|
| |VA12 | VA[12] |
|
||||||
|
| |VA13 | VA[13] |
|
||||||
|
| |VA14 | VA[14] |
|
||||||
|
| |VA15 | VA[15] |
|
||||||
|
| |VD00 | VD[00] |
|
||||||
|
| |VD01 | VD[01] |
|
||||||
|
| |VD02 | VD[02] |
|
||||||
|
| |VD03 | VD[03] |
|
||||||
|
| |VD04 | VD[04] |
|
||||||
|
| |VD05 | VD[05] |
|
||||||
|
| |VD06 | VD[06] |
|
||||||
|
| |VD07 | VD[07] |
|
||||||
|
| |VD10 | VD[10] |
|
||||||
|
| |VD11 | VD[11] |
|
||||||
|
| |VD12 | VD[12] |
|
||||||
|
| |VD13 | VD[13] |
|
||||||
|
| |VD14 | VD[14] |
|
||||||
|
| |VD15 | VD[15] |
|
||||||
|
| |VD16 | VD[16] |
|
||||||
|
| |VD17 | VD[17] |
|
||||||
|
| |VD20 | VD[20] |
|
||||||
|
| |VD21 | VD[21] |
|
||||||
|
| |VD22 | VD[22] |
|
||||||
|
| |VD23 | VD[23] |
|
||||||
|
| |VD24 | VD[24] |
|
||||||
|
| |VD25 | VD[25] |
|
||||||
|
| |VD26 | VD[26] |
|
||||||
|
| |VD27 | VD[27] |
|
||||||
|
| |VD30 | VD[30] |
|
||||||
|
| |VD31 | VD[31] |
|
||||||
|
| |VD32 | VD[32] |
|
||||||
|
| |VD33 | VD[33] |
|
||||||
|
| |VD34 | VD[34] |
|
||||||
|
| |VD35 | VD[35] |
|
||||||
|
| |VD36 | VD[36] |
|
||||||
|
| |VD37 | VD[37] |
|
||||||
|
| |XA0 | XA[0] |
|
||||||
|
| |XA1 | XA[1] |
|
||||||
|
| |XA2 | XA[2] |
|
||||||
|
| |XA3 | XA[3] |
|
||||||
|
| "|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_0" | acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment[0][0] |
|
||||||
|
| "|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_1" | acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment[0][1] |
|
||||||
|
| "|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_2" | acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment[0][2] |
|
||||||
|
| "|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_3" | acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment[0][3] |
|
||||||
|
| "|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_4" | acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment[0][4] |
|
||||||
|
| "|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_5" | acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment[0][5] |
|
||||||
|
| "|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_6" | acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment[0][6] |
|
||||||
|
| "|acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment0_7" | acceler:ACC|lpm_ram_dp:RAM|altdpram:sram|segment[0][7] |
|
||||||
|
| "|ay:AY3|lpm_ram_dq:90|altram:sram|segment0_0" | ay:AY[3]|lpm_ram_dq:90|altram:sram|segment[0][0] |
|
||||||
|
| "|ay:AY3|lpm_ram_dq:90|altram:sram|segment0_1" | ay:AY[3]|lpm_ram_dq:90|altram:sram|segment[0][1] |
|
||||||
|
| "|ay:AY3|lpm_ram_dq:90|altram:sram|segment0_2" | ay:AY[3]|lpm_ram_dq:90|altram:sram|segment[0][2] |
|
||||||
|
| "|ay:AY3|lpm_ram_dq:90|altram:sram|segment0_3" | ay:AY[3]|lpm_ram_dq:90|altram:sram|segment[0][3] |
|
||||||
|
| "|ay:AY3|lpm_ram_dq:90|altram:sram|segment0_4" | ay:AY[3]|lpm_ram_dq:90|altram:sram|segment[0][4] |
|
||||||
|
| "|ay:AY3|lpm_ram_dq:90|altram:sram|segment0_5" | ay:AY[3]|lpm_ram_dq:90|altram:sram|segment[0][5] |
|
||||||
|
| "|ay:AY3|lpm_ram_dq:90|altram:sram|segment0_6" | ay:AY[3]|lpm_ram_dq:90|altram:sram|segment[0][6] |
|
||||||
|
| "|ay:AY3|lpm_ram_dq:90|altram:sram|segment0_7" | ay:AY[3]|lpm_ram_dq:90|altram:sram|segment[0][7] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_0" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][0] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_1" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][1] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_2" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][2] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_3" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][3] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_4" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][4] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_5" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][5] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_6" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][6] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_7" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][7] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_8" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][8] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_9" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][9] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_10" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][10] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_11" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][11] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_12" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][12] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_13" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][13] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_14" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][14] |
|
||||||
|
| "|dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment0_15" | dcp:DECODE|lpm_ram_dp:MEM|altdpram:sram|segment[0][15] |
|
||||||
|
| "|kbd:KEYS|lpm_ram_dq:59|altram:sram|segment0_0" | kbd:KEYS|lpm_ram_dq:59|altram:sram|segment[0][0] |
|
||||||
|
| "|kbd:KEYS|lpm_ram_dq:59|altram:sram|segment0_1" | kbd:KEYS|lpm_ram_dq:59|altram:sram|segment[0][1] |
|
||||||
|
| "|kbd:KEYS|lpm_ram_dq:59|altram:sram|segment0_2" | kbd:KEYS|lpm_ram_dq:59|altram:sram|segment[0][2] |
|
||||||
|
| "|kbd:KEYS|lpm_ram_dq:59|altram:sram|segment0_3" | kbd:KEYS|lpm_ram_dq:59|altram:sram|segment[0][3] |
|
||||||
|
| "|kbd:KEYS|lpm_ram_dq:59|altram:sram|segment0_4" | kbd:KEYS|lpm_ram_dq:59|altram:sram|segment[0][4] |
|
||||||
|
| "|kbd:KEYS|lpm_ram_dq:59|altram:sram|segment0_5" | kbd:KEYS|lpm_ram_dq:59|altram:sram|segment[0][5] |
|
||||||
|
| "|kbd:KEYS|lpm_ram_dq:59|altram:sram|segment0_6" | kbd:KEYS|lpm_ram_dq:59|altram:sram|segment[0][6] |
|
||||||
|
| "|kbd:KEYS|lpm_ram_dq:59|altram:sram|segment0_7" | kbd:KEYS|lpm_ram_dq:59|altram:sram|segment[0][7] |
|
||||||
|
| "|lpm_ram_dp:CBL|altdpram:sram|segment0_5" | lpm_ram_dp:CBL|altdpram:sram|segment[0][5] |
|
||||||
|
| "|lpm_ram_dp:CBL|altdpram:sram|segment0_6" | lpm_ram_dp:CBL|altdpram:sram|segment[0][6] |
|
||||||
|
| "|lpm_ram_dp:CBL|altdpram:sram|segment0_7" | lpm_ram_dp:CBL|altdpram:sram|segment[0][7] |
|
||||||
|
| "|lpm_ram_dp:CBL|altdpram:sram|segment0_8" | lpm_ram_dp:CBL|altdpram:sram|segment[0][8] |
|
||||||
|
| "|lpm_ram_dp:CBL|altdpram:sram|segment0_9" | lpm_ram_dp:CBL|altdpram:sram|segment[0][9] |
|
||||||
|
| "|lpm_ram_dp:CBL|altdpram:sram|segment0_10" | lpm_ram_dp:CBL|altdpram:sram|segment[0][10] |
|
||||||
|
| "|lpm_ram_dp:CBL|altdpram:sram|segment0_11" | lpm_ram_dp:CBL|altdpram:sram|segment[0][11] |
|
||||||
|
| "|lpm_ram_dp:CBL|altdpram:sram|segment0_12" | lpm_ram_dp:CBL|altdpram:sram|segment[0][12] |
|
||||||
|
| "|lpm_ram_dp:CBL|altdpram:sram|segment0_13" | lpm_ram_dp:CBL|altdpram:sram|segment[0][13] |
|
||||||
|
| "|lpm_ram_dp:CBL|altdpram:sram|segment0_14" | lpm_ram_dp:CBL|altdpram:sram|segment[0][14] |
|
||||||
|
| "|lpm_ram_dp:CBL|altdpram:sram|segment0_15" | lpm_ram_dp:CBL|altdpram:sram|segment[0][15] |
|
||||||
|
| "|video2:SVIDEO|D_PIC00" | video2:SVIDEO|D_PIC[00] |
|
||||||
|
| "|video2:SVIDEO|D_PIC01" | video2:SVIDEO|D_PIC[01] |
|
||||||
|
| "|video2:SVIDEO|D_PIC02" | video2:SVIDEO|D_PIC[02] |
|
||||||
|
| "|video2:SVIDEO|D_PIC03" | video2:SVIDEO|D_PIC[03] |
|
||||||
|
| "|video2:SVIDEO|D_PIC04" | video2:SVIDEO|D_PIC[04] |
|
||||||
|
| "|video2:SVIDEO|D_PIC05" | video2:SVIDEO|D_PIC[05] |
|
||||||
|
| "|video2:SVIDEO|D_PIC06" | video2:SVIDEO|D_PIC[06] |
|
||||||
|
| "|video2:SVIDEO|D_PIC07" | video2:SVIDEO|D_PIC[07] |
|
||||||
|
| "|video2:SVIDEO|SVA0" | video2:SVIDEO|SVA[0] |
|
||||||
|
| "|video2:SVIDEO|SVA1" | video2:SVIDEO|SVA[1] |
|
||||||
|
| "|video2:SVIDEO|SVA2" | video2:SVIDEO|SVA[2] |
|
||||||
|
| "|video2:SVIDEO|SVA3" | video2:SVIDEO|SVA[3] |
|
||||||
|
| "|video2:SVIDEO|SVA4" | video2:SVIDEO|SVA[4] |
|
||||||
|
| "|video2:SVIDEO|SVA5" | video2:SVIDEO|SVA[5] |
|
||||||
|
| "|video2:SVIDEO|SVA10" | video2:SVIDEO|SVA[10] |
|
||||||
|
| "|video2:SVIDEO|SVA11" | video2:SVIDEO|SVA[11] |
|
||||||
|
| "|video2:SVIDEO|SVA12" | video2:SVIDEO|SVA[12] |
|
||||||
|
| "|video2:SVIDEO|V_CSX0" | video2:SVIDEO|V_CSX[0] |
|
||||||
|
| "|video2:SVIDEO|V_CSX1" | video2:SVIDEO|V_CSX[1] |
|
||||||
|
| "|video2:SVIDEO|V_CSX2" | video2:SVIDEO|V_CSX[2] |
|
||||||
|
| "|video2:SVIDEO|V_WEM2" | video2:SVIDEO|V_WEM[2] |
|
||||||
|
| "|video2:SVIDEO|V_WEY0" | video2:SVIDEO|V_WEY[0] |
|
||||||
|
| "|video2:SVIDEO|V_WEY1" | video2:SVIDEO|V_WEY[1] |
|
||||||
|
| "|video2:SVIDEO|V_WEY2" | video2:SVIDEO|V_WEY[2] |
|
||||||
|
| "|video2:SVIDEO|V_WEY3" | video2:SVIDEO|V_WEY[3] |
|
||||||
|
| "|video2:SVIDEO|V_WR_0" | video2:SVIDEO|V_WR_[0] |
|
||||||
|
| "|video2:SVIDEO|V_WR_1" | video2:SVIDEO|V_WR_[1] |
|
||||||
|
| "|video2:SVIDEO|V_WR_2" | video2:SVIDEO|V_WR_[2] |
|
||||||
|
| "|video2:SVIDEO|V_WR_3" | video2:SVIDEO|V_WR_[3] |
|
||||||
|
| "|video2:SVIDEO|V_WRM2" | video2:SVIDEO|V_WRM[2] |
|
||||||
|
+--------------------------------------------------------+--------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
42
src/altera/quartus/max/db/add_sub_uch.tdf
Normal file
42
src/altera/quartus/max/db/add_sub_uch.tdf
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
--lpm_add_sub CARRY_CHAIN="MANUAL" CARRY_CHAIN_LENGTH=48 DEVICE_FAMILY="MAX7000S" LPM_DIRECTION="ADD" LPM_REPRESENTATION="UNSIGNED" LPM_WIDTH=5 ONE_INPUT_IS_CONSTANT="YES" dataa datab result
|
||||||
|
--VERSION_BEGIN 9.0SP2 cbx_cycloneii 2008:05:19:10:57:37:SJ cbx_lpm_add_sub 2009:05:07:10:25:28:SJ cbx_mgl 2009:02:26:16:06:21:SJ cbx_stratix 2008:09:18:16:08:35:SJ cbx_stratixii 2008:11:14:16:08:42:SJ VERSION_END
|
||||||
|
|
||||||
|
|
||||||
|
-- Copyright (C) 1991-2009 Altera Corporation
|
||||||
|
-- Your use of Altera Corporation's design tools, logic functions
|
||||||
|
-- and other software and tools, and its AMPP partner logic
|
||||||
|
-- functions, and any output files from any of the foregoing
|
||||||
|
-- (including device programming or simulation files), and any
|
||||||
|
-- associated documentation or information are expressly subject
|
||||||
|
-- to the terms and conditions of the Altera Program License
|
||||||
|
-- Subscription Agreement, Altera MegaCore Function License
|
||||||
|
-- Agreement, or other applicable license agreement, including,
|
||||||
|
-- without limitation, that your use is for the sole purpose of
|
||||||
|
-- programming logic devices manufactured by Altera and sold by
|
||||||
|
-- Altera or its authorized distributors. Please refer to the
|
||||||
|
-- applicable agreement for further details.
|
||||||
|
|
||||||
|
|
||||||
|
FUNCTION carry_sum (cin, sin)
|
||||||
|
RETURNS ( cout, sout);
|
||||||
|
|
||||||
|
--synthesis_resources = lut 5
|
||||||
|
SUBDESIGN add_sub_uch
|
||||||
|
(
|
||||||
|
dataa[4..0] : input;
|
||||||
|
datab[4..0] : input;
|
||||||
|
result[4..0] : output;
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
add_sub_cella[4..0] : carry_sum;
|
||||||
|
datab_node[4..0] : WIRE;
|
||||||
|
main_cin_wire : WIRE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
add_sub_cella[].cin = ( ((dataa[4..4] & datab_node[4..4]) # ((dataa[4..4] # datab_node[4..4]) & add_sub_cella[3].cout)), ((dataa[3..3] & datab_node[3..3]) # ((dataa[3..3] # datab_node[3..3]) & add_sub_cella[2].cout)), ((dataa[2..2] & datab_node[2..2]) # ((dataa[2..2] # datab_node[2..2]) & add_sub_cella[1].cout)), ((dataa[1..1] & datab_node[1..1]) # ((dataa[1..1] # datab_node[1..1]) & add_sub_cella[0].cout)), ((dataa[0..0] & datab_node[0..0]) # ((dataa[0..0] # datab_node[0..0]) & main_cin_wire)));
|
||||||
|
add_sub_cella[].sin = ( ((dataa[4..4] $ datab_node[4..4]) $ add_sub_cella[3].cout), ((dataa[3..3] $ datab_node[3..3]) $ add_sub_cella[2].cout), ((dataa[2..2] $ datab_node[2..2]) $ add_sub_cella[1].cout), ((dataa[1..1] $ datab_node[1..1]) $ add_sub_cella[0].cout), ((dataa[0..0] $ datab_node[0..0]) $ main_cin_wire));
|
||||||
|
datab_node[] = datab[];
|
||||||
|
main_cin_wire = B"0";
|
||||||
|
result[] = add_sub_cella[].sout;
|
||||||
|
END;
|
||||||
|
--VALID FILE
|
||||||
5
src/altera/quartus/max/db/prev_cmp_sp2_max.asm.qmsg
Normal file
5
src/altera/quartus/max/db/prev_cmp_sp2_max.asm.qmsg
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{ "Info" "IQEXE_SEPARATOR" "" "Info: *******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IQEXE_START_BANNER_PRODUCT" "Assembler Quartus II " "Info: Running Quartus II Assembler" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition " "Info: Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition" { } { } 0 0 "%1!s!" 0 0 "" 0 -1} { "Info" "IQEXE_START_BANNER_TIME" "Sun Aug 28 03:23:30 2022 " "Info: Processing started: Sun Aug 28 03:23:30 2022" { } { } 0 0 "Processing started: %1!s!" 0 0 "" 0 -1} } { } 4 0 "Running %2!s! %1!s!" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_asm --read_settings_files=off --write_settings_files=off sp2_max -c sp2_max " "Info: Command: quartus_asm --read_settings_files=off --write_settings_files=off sp2_max -c sp2_max" { } { } 0 0 "Command: %1!s!" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IASM_ASM_GENERATING_PROGRAMMING_FILES" "" "Info: Assembler is generating device programming files" { } { } 0 0 "Assembler is generating device programming files" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IQEXE_ERROR_COUNT" "Assembler 0 s 0 s Quartus II " "Info: Quartus II Assembler was successful. 0 errors, 0 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "199 " "Info: Peak virtual memory: 199 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "" 0 -1} { "Info" "IQEXE_END_BANNER_TIME" "Sun Aug 28 03:23:31 2022 " "Info: Processing ended: Sun Aug 28 03:23:31 2022" { } { } 0 0 "Processing ended: %1!s!" 0 0 "" 0 -1} { "Info" "IQEXE_ELAPSED_TIME" "00:00:01 " "Info: Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "" 0 -1} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:00 " "Info: Total CPU time (on all processors): 00:00:00" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "" 0 -1} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "" 0 -1}
|
||||||
5
src/altera/quartus/max/db/prev_cmp_sp2_max.eda.qmsg
Normal file
5
src/altera/quartus/max/db/prev_cmp_sp2_max.eda.qmsg
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{ "Info" "IQEXE_SEPARATOR" "" "Info: *******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IQEXE_START_BANNER_PRODUCT" "EDA Netlist Writer Quartus II " "Info: Running Quartus II EDA Netlist Writer" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition " "Info: Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition" { } { } 0 0 "%1!s!" 0 0 "" 0 -1} { "Info" "IQEXE_START_BANNER_TIME" "Sun Aug 28 03:26:23 2022 " "Info: Processing started: Sun Aug 28 03:26:23 2022" { } { } 0 0 "Processing started: %1!s!" 0 0 "" 0 -1} } { } 4 0 "Running %2!s! %1!s!" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_eda --read_settings_files=on --write_settings_files=off sp2_max -c sp2_max " "Info: Command: quartus_eda --read_settings_files=on --write_settings_files=off sp2_max -c sp2_max" { } { } 0 0 "Command: %1!s!" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WQNETO_NO_OUTPUT_FILES" "" "Warning: Can't generate output files. Specify command-line options to generate output files, or update EDA tool settings using GUI or Tcl script." { } { } 0 0 "Can't generate output files. Specify command-line options to generate output files, or update EDA tool settings using GUI or Tcl script." 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IQEXE_ERROR_COUNT" "EDA Netlist Writer 0 s 1 Quartus II " "Info: Quartus II EDA Netlist Writer was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "163 " "Info: Peak virtual memory: 163 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "" 0 -1} { "Info" "IQEXE_END_BANNER_TIME" "Sun Aug 28 03:26:23 2022 " "Info: Processing ended: Sun Aug 28 03:26:23 2022" { } { } 0 0 "Processing ended: %1!s!" 0 0 "" 0 -1} { "Info" "IQEXE_ELAPSED_TIME" "00:00:00 " "Info: Elapsed time: 00:00:00" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "" 0 -1} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:00 " "Info: Total CPU time (on all processors): 00:00:00" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "" 0 -1} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "" 0 -1}
|
||||||
6
src/altera/quartus/max/db/prev_cmp_sp2_max.fit.qmsg
Normal file
6
src/altera/quartus/max/db/prev_cmp_sp2_max.fit.qmsg
Normal file
File diff suppressed because one or more lines are too long
56
src/altera/quartus/max/db/prev_cmp_sp2_max.map.qmsg
Normal file
56
src/altera/quartus/max/db/prev_cmp_sp2_max.map.qmsg
Normal file
File diff suppressed because one or more lines are too long
5
src/altera/quartus/max/db/prev_cmp_sp2_max.qmsg
Normal file
5
src/altera/quartus/max/db/prev_cmp_sp2_max.qmsg
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{ "Info" "IQEXE_SEPARATOR" "" "Info: *******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IQEXE_START_BANNER_PRODUCT" "EDA Netlist Writer Quartus II " "Info: Running Quartus II EDA Netlist Writer" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition " "Info: Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition" { } { } 0 0 "%1!s!" 0 0 "" 0 -1} { "Info" "IQEXE_START_BANNER_TIME" "Sun Aug 28 03:26:23 2022 " "Info: Processing started: Sun Aug 28 03:26:23 2022" { } { } 0 0 "Processing started: %1!s!" 0 0 "" 0 -1} } { } 4 0 "Running %2!s! %1!s!" 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_eda --read_settings_files=on --write_settings_files=off sp2_max -c sp2_max " "Info: Command: quartus_eda --read_settings_files=on --write_settings_files=off sp2_max -c sp2_max" { } { } 0 0 "Command: %1!s!" 0 0 "" 0 -1}
|
||||||
|
{ "Warning" "WQNETO_NO_OUTPUT_FILES" "" "Warning: Can't generate output files. Specify command-line options to generate output files, or update EDA tool settings using GUI or Tcl script." { } { } 0 0 "Can't generate output files. Specify command-line options to generate output files, or update EDA tool settings using GUI or Tcl script." 0 0 "" 0 -1}
|
||||||
|
{ "Info" "IQEXE_ERROR_COUNT" "EDA Netlist Writer 0 s 1 Quartus II " "Info: Quartus II EDA Netlist Writer was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "163 " "Info: Peak virtual memory: 163 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "" 0 -1} { "Info" "IQEXE_END_BANNER_TIME" "Sun Aug 28 03:26:23 2022 " "Info: Processing ended: Sun Aug 28 03:26:23 2022" { } { } 0 0 "Processing ended: %1!s!" 0 0 "" 0 -1} { "Info" "IQEXE_ELAPSED_TIME" "00:00:00 " "Info: Elapsed time: 00:00:00" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "" 0 -1} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:00 " "Info: Total CPU time (on all processors): 00:00:00" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "" 0 -1} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "" 0 -1}
|
||||||
31
src/altera/quartus/max/db/prev_cmp_sp2_max.tan.qmsg
Normal file
31
src/altera/quartus/max/db/prev_cmp_sp2_max.tan.qmsg
Normal file
File diff suppressed because one or more lines are too long
BIN
src/altera/quartus/max/db/sp2_max.(0).cnf.cdb
Normal file
BIN
src/altera/quartus/max/db/sp2_max.(0).cnf.cdb
Normal file
Binary file not shown.
BIN
src/altera/quartus/max/db/sp2_max.(0).cnf.hdb
Normal file
BIN
src/altera/quartus/max/db/sp2_max.(0).cnf.hdb
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user