2347 lines
92 KiB
Plaintext
2347 lines
92 KiB
Plaintext
|
||
OPALjr Software
|
||
|
||
Version 2.0
|
||
April 1993
|
||
|
||
Copyright National Semiconductor Corporation, 1993
|
||
|
||
|
||
OPALjr MANUAL
|
||
TABLE OF CONTENTS - NOTE: This version of the manual does not
|
||
include the v2.01 corrections. If you require a printed manual
|
||
with the latest drawings, examples, and corrections, please
|
||
contact our Applications Group and request a full copy of
|
||
OPALjr with manual.
|
||
|
||
1.0 INTRODUCTION
|
||
1.1 THE OPALjr PACKAGE
|
||
1.2 HOW OPAL WORKS
|
||
1.3 THE OPAL CONCEPT
|
||
|
||
|
||
2.0 DOS GRAPHICAL SHELL
|
||
2.1 COMMAND LINE
|
||
2.2 MOUSE OPERATIONS
|
||
2.3 KEYBOARD
|
||
2.4 HELP MENU
|
||
2.5 THE VIEW MODULES
|
||
2.6 MODULES MENU
|
||
2.7 UTILITIES MENU
|
||
|
||
3.0 WINDOWS GRAPHICAL SHELL
|
||
3.1 MOUSE OPERATIONS
|
||
3.2 HELP MENU
|
||
3.3 VIEW MODULES
|
||
3.4 MODULES MENU
|
||
3.5 UTILITIES MENU
|
||
3.6 THE WINDOWS MENU
|
||
|
||
4.0 OPALjr DESIGN MODULES
|
||
|
||
4.1 EQN2JED (Equations to JEDEC)
|
||
4.2 PAL2GAL
|
||
4.3 JED2EQN (JEDEC to Equations)
|
||
|
||
5.0 DESIGN ELEMENTS IN OPALjr
|
||
|
||
5.1 SIGNAL TYPES
|
||
5.2 SIGNAL EXTENSION
|
||
|
||
6.0 DESIGN EXAMPLES IN THE EQN FILE FORMAT
|
||
|
||
6.1 SIX-BIT CASCADABLE SHIFT REGISTER
|
||
6.1.1 Design
|
||
6.1.2 The Basic Equation File
|
||
6.1.3 Creating The JEDEC Map
|
||
|
||
6.2 MORE EXAMPLES IN THE EQN FILE FORMAT
|
||
6.2.1 6-Bit Cascadable Shift Register
|
||
6.2.2 8-Bit Synchronous Cascadable Counter
|
||
6.2.3 10-Bit Synchronous Up/Down Counter
|
||
6.2.4 16-Bit to 4-Bit Priority Encoder
|
||
6.2.5 16-Bit to 1-Bit Multiplexer
|
||
6.2.6 Hexadecimal Decoder for a 7-Segment Display
|
||
6.2.7 3-Bit Counter With 7-Segment Display Output
|
||
6.2.8 15-Bit Up-Down Counter
|
||
|
||
|
||
7.0 EQN FILE FORMAT DESCRIPTION
|
||
|
||
7.1 VEC FILE
|
||
7.2 EQN FILE
|
||
|
||
|
||
8.0 APPENDIX
|
||
|
||
8.1 DEVICES SUPPORTED
|
||
8.1.1 Buried Registers
|
||
|
||
8.2 USEFUL CONVERSIONS
|
||
8.2.1 Conversions of Flip-Flops
|
||
|
||
|
||
9.0 ERROR MESSAGES
|
||
|
||
9.1 COMMON MESSAGES (0000-0099)
|
||
9.2 MESSAGES WHILE READING AN EQN FILE (0100-0199)
|
||
9.3 MESSAGES WHILE READING A VEC FILE (0300-0399)
|
||
9.4 MESSAGES WHILE READING A JEDEC FILE (0400-0499)
|
||
9.5 MESSAGES FROM EQN2JED (1400-1599)
|
||
9.6 MESSAGES FROM JED2EQN (1800-1999)
|
||
9.7 MESSAGES FROM PAL2GAL (2000-2199)
|
||
9.8 MESSAGES FROM JED2XPT (3400-3600)
|
||
|
||
|
||
|
||
|
||
|
||
1.0 INTRODUCTION
|
||
|
||
The OPALjr software package consists of graphical shell environments for
|
||
both DOS and Windows, three executable modules (EQN2JED.EXE, JED2EQN.EXE and
|
||
PAL2GAL.EXE), a set of library device files, a set of examples and this
|
||
on-disk manual.
|
||
|
||
The example entry files contain Boolean equations and command labels which
|
||
are written in the EQN file format. The entry files are used by the module
|
||
EQN2JED to create JEDEC maps which contain the programming data for a
|
||
target device. By creating your own entry files, you can use the OPAL
|
||
software package as part of a complete PLD (Programmable Logic Device)
|
||
design development system.
|
||
|
||
The OPALjr software disk is ready to run immediately on an IBM PC or
|
||
compatible system. The INSTALL program should be used to install the
|
||
software on your hard disk or another floppy disk.
|
||
|
||
|
||
OPALjr is not copy protected, so you may make working copies for all of your
|
||
personal computer systems. For additional copies of the software and this
|
||
manual, or to request information regarding the full OPAL package, contact
|
||
your local National Semiconductor sales representative. For technical
|
||
assistance or to report software bugs, contact the appropriate office listed
|
||
below:
|
||
|
||
Region Telephone
|
||
|
||
U.S. and Canada 800-272-9959
|
||
Europe +44-793-697472 (U.K.)
|
||
Asia +852-733-1869 (Hong Kong)
|
||
Japan 03-3299-7001
|
||
|
||
|
||
|
||
1.1 THE OPALjr PACKAGE
|
||
|
||
OPALjr is a functional subset of the full OPAL package. It is designed to:
|
||
|
||
a) provide free low-level entry design support for all NSC low-density PAL
|
||
and GAL devices
|
||
|
||
b) demonstrate the syntax and capabilities of the full OPAL PLD development
|
||
software package, including support for higher-density MAPL devices.
|
||
|
||
|
||
|
||
1.2 HOW OPAL WORKS
|
||
|
||
The ultimate goal of any PLD software package is to create a JEDEC map of
|
||
the PLD fuse states that can be downloaded to a device programmer. The
|
||
JEDEC map contains device-dependent data, such as pin assignment, the number
|
||
of fuses per product term, the type of feedback, and so on.
|
||
|
||
Traditional PLD software packages require that you know details of the
|
||
device architecture before you can create a JEDEC map. Historically, this
|
||
was acceptable, since the complexity and density of the available
|
||
programmable logic devices was limited. Devices with greater complexity and
|
||
density are more difficult to utilize effectively and efficiently.
|
||
|
||
The current generation of PLD software packages strives to be
|
||
device-independent; a design can be contructed without any knowledge of the
|
||
device targeted for the design. The designer need not worry about the
|
||
architecture of the target device. They are free to concentrate on the
|
||
design of the system.
|
||
|
||
The Open Programmable Array Language (OPAL) software package is designed to
|
||
take this a step further. Instead of only providing device independence, we
|
||
also supply tool independence. All of the file formats supported (OPAL,
|
||
PLA, EQN, JEDEC) are completely "open" and compatible with recognized
|
||
software tools such as the industry-standard ESPRESSO logic minimizer. This
|
||
approach results in a highly modular software system which gives the
|
||
designer visibility and control over every step of the logic design and
|
||
implementation process. The designer has the freedom to alter a design at
|
||
any step of the compilation, and to utilize familiar tools.
|
||
|
||
1.3 THE OPAL CONCEPT
|
||
|
||
The OPAL language is a high-end solution which is included only in the full
|
||
PAL package. This language gives the designer the choice of using state
|
||
machine language, multi-level Boolean equations, enhanced truth table
|
||
functions, or any combination of the three. This gives the designer freedom
|
||
to choose the implementation which best suits the specific design task.
|
||
|
||
For a center platform, the logic is compiled into the industry standard
|
||
Berkeley PLA format, which is the input format for the popular Espresso
|
||
logic minimizer. At this level, the logic is the most compact. Designers
|
||
with specific optimization techniques can incorporate those techniques into
|
||
the software by manipulating the PLA data. Two such tools, developed by
|
||
National Semiconductor, are the "FITMAPL1" and "FITMAPL2" programs, which
|
||
will take a generic PLA table and partition it into the individual arrays
|
||
present on the MAPL1 and 2 product family. FITMAPL1 and FITMAPL2 and the
|
||
PLA file format are only available with the full OPAL package.
|
||
|
||
At the lowest level, the logic can be expressed in the standard sum of
|
||
products (SOP) format. This format can be compiled into the JEDEC map of a
|
||
specific PLD. No further logic manipulation is done at this level, so
|
||
designers who want the highest degree of control over the logic processing
|
||
can enter designs at this level. However, even at this level, OPAL does
|
||
provide for automatically mapping the logic into a specific PLD via an
|
||
automatic pin assignment option. This feature is available in both OPAL and
|
||
OPALjr.
|
||
|
||
|
||
2.0 DOS GRAPHICAL SHELL (OPAL.EXE)
|
||
|
||
OPAL-DOS requires DOS version of 2.0 or above to run. OPAL-DOS is a very
|
||
powerful graphical shell that can be utilized to perform any operation in
|
||
PLD design provided with OPAL software.
|
||
|
||
2.1 COMMAND LINE
|
||
|
||
Synopsis:
|
||
opal [filename.ext][options]
|
||
|
||
where filename is usually the OPAL entry file (optional).
|
||
|
||
Options:
|
||
|
||
-h or -? Display help screen.
|
||
-m Use minimum shell memory for swapping. This is
|
||
useful for floppy disk systems.
|
||
-n Don't include help file into memory. This is
|
||
useful for systems with limited memory.
|
||
-v Displays version number of the OPAL-DOS shell
|
||
itself, not the full OPAL software package.
|
||
-x Don't show OPAL title screen.
|
||
|
||
2.2 MOUSE OPERATIONS
|
||
|
||
The following table shows the different operations which can be performed by
|
||
the mouse.
|
||
|
||
|
||
OPERATION MOUSE ACTION
|
||
|
||
Select a Menu Item Click on the item
|
||
|
||
Toggle a check field
|
||
in a dialogue box Click on the field
|
||
|
||
Display contents of
|
||
a directory in an
|
||
open file dialog box Click on the directory name
|
||
|
||
Perform an action
|
||
in a Dialog box Click on the action button
|
||
|
||
Display Options of a
|
||
field in a dialog box Click on the field
|
||
|
||
Scroll up/down
|
||
in a display area Click on the up/down arrow on top of
|
||
the scroll bar
|
||
|
||
Move the cursor Click on the new location
|
||
|
||
Scroll down one line
|
||
at a time in the
|
||
editor screen or a
|
||
dialog box listing
|
||
files or options Click on the down arrow in the
|
||
bottom of the scroll bar
|
||
|
||
Quick Scroll. Point to the highlighted area of the
|
||
scroll bar and drag the mouse up or
|
||
down
|
||
|
||
Mark a block of data Point to the beginning of the block
|
||
and drag the mouse to the end
|
||
|
||
Select a file
|
||
in a dialog box. Double click on the filename, or
|
||
click on the filename and then click
|
||
OK button
|
||
|
||
Select an option
|
||
from a list in a
|
||
dialog box Double click on the option
|
||
|
||
Select a field to
|
||
modify in a dialog box Point to the field.
|
||
|
||
List possible options
|
||
in a field in
|
||
a dialog box Point to the field and click
|
||
|
||
|
||
2.3 KEYBOARD OPERATION
|
||
|
||
All actions performed by the mouse can be performed by the keyboard. In
|
||
this section the functions that can be performed by the keyboard are listed
|
||
along with the keystrokes to press.
|
||
|
||
OPERATION KEYSTROKE
|
||
|
||
Access the Top-Level
|
||
menu bar <F10> or <Alt> <highlighted-letter>
|
||
|
||
|
||
Access a submenu <F10> Then use right and left arrow
|
||
keys to move to the item then
|
||
<Enter>
|
||
|
||
Select a submenu item <highlighted-letter> or use up/down arrow
|
||
keys,then <Enter>
|
||
|
||
Highlight a field
|
||
in a dialog box <Tab> or arrow keys
|
||
|
||
Select an item
|
||
in a dialog box Highlight item then <Enter>
|
||
|
||
Toggle a check field <Space>
|
||
|
||
List options of
|
||
dialog box field <Alt-L>
|
||
|
||
Exit a dialog box
|
||
without saving changes <Esc>
|
||
|
||
|
||
2.4 THE HELP MENU
|
||
|
||
The OPAL-DOS shell provides an online help for all menu items and the
|
||
editor. To access the help on a specific item, highlight that item and
|
||
press <F1>. A screen containing an explanation of the item and its
|
||
operation will appear. To exit a help screen, press <Esc>. In the editor
|
||
screen, <F1> will display a summary of the editor commands. Some Help
|
||
screens contains some keywords that contain further details about the
|
||
subject. To access these topics, use the arrow keys to move to the desired
|
||
keyword and press <Enter> or click on the highlighted keyword.
|
||
|
||
|
||
2.5 THE VIEW MODULES MENU
|
||
|
||
This menu is very useful during a design phase, when the user is compiling
|
||
the source file for the first time. This menu contains selections that allow
|
||
the user to view the different output files of the last executed procedure.
|
||
|
||
Any of the following files can be quickly opened and displayed if they were
|
||
an output or an input of the last executed procedure.
|
||
|
||
|
||
EQN File This is the equation file created by PLA2EQN,
|
||
or JED2EQN.
|
||
|
||
JEDEC Map This is the JEDEC file created by EQN2JED, or
|
||
FITMAPL2.
|
||
|
||
GAL File This file is created by the PAL2GAL or XOR2GAL
|
||
modules.
|
||
|
||
LIS File This is the list file created by
|
||
EQN2JED or EQN2OPL.
|
||
|
||
LOG File This is the log file created by OPALPLA.
|
||
|
||
|
||
2.6 THE MODULES MENU
|
||
|
||
Selecting any of these items will invoke a Module Execution dialog box to
|
||
prompt for options and parameters. Only EQN and JED modules are available in
|
||
OPALjr.
|
||
|
||
|
||
2.7 UTILITIES MENUS
|
||
|
||
All of the selections directly correspond to the modules with the same name
|
||
except for Device Selection. The Device Selection is actually the same as
|
||
running EQN2JED with -d@selfile option.
|
||
|
||
The output will be a log file showing all devices capable of accommodating
|
||
the design. A dialog box will appear to allow the user to input the equation
|
||
file name, and to specify one of the four device choices or a file that
|
||
lists the devices the user wishes to select from.
|
||
|
||
|
||
|
||
|
||
3.0 WINDOWS GRAPHICAL SHELL (OPALWIN.EXE)
|
||
|
||
This is an MS-Windows 3.x application and will be referred to it as
|
||
OPAL-WIN. OPAL-WIN gives the user a complete PLD design environment with the
|
||
power and ease of MS-Windows. It is assumed that the user is already familiar
|
||
with the Windows environment. Therefore, details on menu, Window and help
|
||
operations are not provided except in special cases. The user is advised to
|
||
refer to the Windows User Manual for more detail.
|
||
|
||
|
||
3.1 MOUSE OPERATIONS
|
||
|
||
OPAL-WIN is compatible with a mouse. The mouse operations in the OPAL-WIN are
|
||
the same as those in the Windows environment. Refer to the Windows User
|
||
Manual for more information.
|
||
|
||
|
||
3.2 HELP MENU
|
||
|
||
The OPAL-DOS shell provides an online help for all menu items and the editor.
|
||
To access the help on a specific item, highlight that item and press <F1>.
|
||
A screen containing an explanation of the item and its operation will appear.
|
||
To exit a help screen, press <Esc>. In the editor screen, <F1> will display
|
||
a summary of the editor commands. Some Help screens contains some keywords
|
||
that contain further details about the subject. To access these topics, use
|
||
the arrow keys to move to the desired keyword and press <Enter> or click on
|
||
the highlighted keyword.
|
||
|
||
|
||
|
||
3.3 VIEW MODULES MENU
|
||
|
||
This menu is very useful during a design phase, when the user is compiling the
|
||
source file for the first time. This menu contains items that allow the user
|
||
to view the different outputs of the last executed procedure.
|
||
|
||
|
||
EQN File This is the Equation file output by
|
||
PLA2EQN or JED2EQN.
|
||
|
||
JEDEC Map This is the JEDEC file output by EQN2JED or
|
||
FITMAPL2.
|
||
|
||
GAL File This file is output by the PAL2GAL or
|
||
XOR2GAL.
|
||
|
||
LIS This is the list file created by EQN2JED or
|
||
EQN2OPL.
|
||
|
||
LOG File This is the log file output by most
|
||
procedures.
|
||
|
||
|
||
|
||
3.4 THE MODULES MENU
|
||
|
||
This menu contains items that will execute any of the main design procedures.
|
||
Selecting any of these items will invoke a Module Execution dialog box. Only
|
||
EQN to JED modules are available in OPALjr.
|
||
|
||
|
||
3.5 THE UTILITIES MENU
|
||
|
||
This menu contains OPAL modules that are not included in the other menus.
|
||
Selecting any of these items will invoke a module execution dialog box.
|
||
|
||
|
||
3.6 THE WINDOWS MENU
|
||
|
||
Unlike OPAL-DOS, OPAL-WIN has the ability to open several files at once. This
|
||
menu contains functions that are designed to manage multiple windows.
|
||
|
||
|
||
|
||
|
||
4.0 OPALjr DESIGN MODULES
|
||
|
||
This chapter contains command line descriptions of the OPAL Jr. modules and
|
||
utilities.
|
||
|
||
|
||
4.1 EQN2JED (Equations to JEDEC)
|
||
|
||
EQN2JED converts basic sum-of-products Boolean equations to a device-specific
|
||
JEDEC file.
|
||
|
||
The JEDEC file contains all the necessary design details which can be
|
||
downloaded to a device programmer for programming the target PLD. The JEDEC
|
||
file is fully compatible with JEDEC standard 3B which is supported by
|
||
industry-standard device programmers.
|
||
|
||
A variety of information is stored to the .log file. Primarily, it documents
|
||
the final fitting of the design with a detailed description of how each pin
|
||
was used and what label it represents. It also includes information on the
|
||
utilization of the device resources, and a diagram (DIP or PLCC) of the device
|
||
and the labels assigned to the exterior pins.
|
||
|
||
Enhanced support for the GAL16V8 and GAL20V8 devices is incorporated.
|
||
Different GAL modes are evaluated automatically to fit a design into the
|
||
device. For a design with only combinatorial outputs, it is not possible to
|
||
use Medium-PAL mode if more than six outputs are I/Os. This is because there
|
||
are 6 combinatorial I/Os and 2 dedicated outputs in Medium-PAL mode. Instead
|
||
Small-PAL mode is used. However, it is possible to use Registered-PAL mode to
|
||
get more than six combinatorial I/Os for such a design. The trade-off is that
|
||
the clock and OE pins are not used.
|
||
|
||
EQN2JED has the ability to perform device selection. When supplied with a
|
||
device selection file (using the -d @selfile option on the command line, or
|
||
CHIP design @selfile in the equation file), the module will attempt to fit the
|
||
equation file design into each of the devices listed in the selection file.
|
||
This is available for all devices, except for the MAPL devices, which have
|
||
their own fitter.
|
||
|
||
There are predefined selection files called:
|
||
ALL To attempt to fit into any device,
|
||
TTL To attempt to fit into any TTL device,
|
||
ECL To attempt to fit into any ECL device,
|
||
CMOS To attempt to fit into any CMOS device.
|
||
|
||
The name of any device that fits will be printed to the screen. The fitting
|
||
status for every device will be written to the log file. Device utilization
|
||
statistics and pin assignments will also be written to the log file for any
|
||
device that fits.
|
||
|
||
Synopsis:
|
||
eqn2jed [options] eqnfile
|
||
|
||
where eqnfile is the equations file. The default extension is .eqn.
|
||
|
||
Options:
|
||
|
||
-b
|
||
Select old versions of the 16V8 and 20V8 devices.
|
||
|
||
-c
|
||
Enable the security fuse on the device.
|
||
|
||
-d device
|
||
Override the device name in equation file.
|
||
|
||
-d @selfile
|
||
If the argument following the -d flag begins with the character @, the
|
||
remaining text is interpreted as a device selection filename, as discussed
|
||
above. There are predefined selectors called ALL, TTL, ECL, and CMOS. The
|
||
selfile has a default extension of .sel.
|
||
|
||
-e errfile
|
||
Specify the error log file for error messages instead of directing them to the
|
||
standard error stream. This is provided since neither DOS nor UNIX C-Shell
|
||
provides a way to redirect the errors. Default extension is .err.
|
||
|
||
-f
|
||
Turn on the automatic pin assignment switch. The JEDEC file created reflects
|
||
the pin assignment if successful. The pin list in the original EQN file (if
|
||
any) is no longer valid. The pin assignment is indicated by the pin out
|
||
diagram in the log file that is created by EQN2JED. If the -f option fails to
|
||
assign the pins, it does not mean that there is no solution. In such cases,
|
||
the designer may have to verify if the design will fit into the PLD and then
|
||
manually assign the pins before compiling with EQN2JED again.
|
||
|
||
-g logfile
|
||
Specify a different name for the log file; the default extension is .log.
|
||
|
||
-j
|
||
Select JEDEC PLCC package for chip diagram in the log file. For ECL parts, a
|
||
24-pin Quad Cerpak is selected.
|
||
|
||
-k
|
||
Select non-JEDEC PLCC package for chip diagram in log file. For ECL parts, a
|
||
24-pin Quad Cerpak is selected.
|
||
|
||
-l listfile
|
||
Specify the list file name. The list file contains a listing of the equation
|
||
source file with all warning and error messages at the corresponding lines.
|
||
The default extension is .lis.
|
||
|
||
-m
|
||
Produce a full JEDEC map as output which programs every location in the
|
||
device. Without this option, unused sections of the device are not programmed,
|
||
which results in a smaller JEDEC map.
|
||
|
||
-n
|
||
The old log file will be deleted. This is often desirable since the program
|
||
appends to the log file, if it exists, and it can become quite large after a
|
||
number of successful calls to the module.
|
||
|
||
-o outfile
|
||
Specify the output JEDEC file name. If no -o option is specified, the input
|
||
file name is used with the extension .jed.
|
||
|
||
-r
|
||
Retain repeating product terms for PALs.
|
||
|
||
-s
|
||
Shuts off diagnostic messages.
|
||
|
||
-u ues
|
||
Specify the User Electronic Signature as ues for GAL devices in ASCII format
|
||
(8 bits per character). If only hexadecimal characters are used, it will use a
|
||
hexadecimal representation (4 bits per character).
|
||
|
||
-v vecfile
|
||
Specify the input test vector file name. The vector file must conform to the
|
||
JEDEC standard for defining vectors. The vector file is appended to the JEDEC
|
||
file. Each individual vector is tested to ensure that vector characters are
|
||
valid for the pins they are assigned to. This feature ensures that vectors are
|
||
defined correctly, however, it does not perform any simulation to ensure that
|
||
the vector has the correct output response for the given inputs. The default
|
||
extension is .vec.
|
||
|
||
Example:
|
||
eqn2jed -f -s -dgal16v8 6_shift
|
||
|
||
The above command invokes the EQN2JED module. The input is the EQN file called
|
||
6_SHIFT.EQN. The output file will be 6_SHIFT.JED, by default. As specified by
|
||
the options, pin declaration and assignment will be done automatically and no
|
||
diagnostic messages will be displayed on the screen. Also, the device
|
||
specified in the equation file will be overridden by the GAL16V8.
|
||
|
||
|
||
4.2 PAL2GAL
|
||
|
||
The PAL2GAL module converts a PAL JEDEC file into a GAL JEDEC file. PAL2GAL
|
||
first checks to ensure that there is a pin-to-pin match between the PAL and a
|
||
supported GAL before it proceeds to do the conversion.
|
||
|
||
PAL functions that are replaceable by a GAL16V8 are:
|
||
|
||
PAL10H8 PAL10L8 PAL10P8 PAL12H6
|
||
PAL12L6 PAL12P6 PAL14H4 PAL14L4
|
||
PAL14P4 PAL16H2 PAL16H8 PAL16L2
|
||
PAL16L8 PAL16P2 PAL16P8 PAL16R4
|
||
PAL16R6 PAL16R8 PAL16RP4 PAL16RP6
|
||
PAL16RP8
|
||
|
||
PAL functions that are replaceable by a GAL20V8 are:
|
||
PAL14H8 PAL14L8 PAL14P8 PAL16H6 PAL16L6
|
||
PAL16P6 PAL18H4 PAL18L4 PAL18P4 PAL20H2
|
||
PAL20H8 PAL20L2 PAL20L8 PAL20P2 PAL20P8
|
||
PAL20R4 PAL20R6 PAL20R8 PAL20RP4 PAL20RP6
|
||
PAL20RP8
|
||
|
||
PAL functions that are replaceable by a GAL22V10 are:
|
||
|
||
PAL12H10 PAL12L10 PAL12P10
|
||
PAL14H8 PAL14L8 PAL14P8
|
||
PAL16H6 PAL16L6 PAL16P6
|
||
PAL18H4 PAL18L4 PAL18P4
|
||
PAL20H2 PAL20H8 PAL20L2
|
||
PAL20L8 PAL20P2 PAL20P8
|
||
PAL20H10 PAL20L10 PAL20P10
|
||
PAL20R4 PAL20R6 PAL20R8
|
||
PAL20RP4 PAL20RP6 PAL20RP8
|
||
PAL22V10
|
||
|
||
Note that PALs with registered outputs in the above list have a dedicated OE
|
||
for tristate control (pin 13). When the design is converted to the GAL22V10, a
|
||
product term tristate will be used instead; this may produce some timing
|
||
differences.
|
||
|
||
Many devices can be converted to either a GAL20V8 or a GAL22V10. The option
|
||
<EFBFBD>-g device is provided to specify which device should be used, although it
|
||
will default to the GAL20V8 if the option is not used.
|
||
|
||
Synopsis:
|
||
|
||
pal2gal [options] palfile
|
||
|
||
where palfile is the PAL JEDEC file to be converted. The default extension is
|
||
.jed.
|
||
|
||
Options:
|
||
|
||
-b
|
||
Debug mode to show intermediate diagnostics. This option will show all of the
|
||
other modules which are executed, as well as keep all intermediate files.
|
||
|
||
-d device
|
||
Specify the PAL device name. Override the device name in PAL JEDEC file (if
|
||
any).
|
||
|
||
-e errfile
|
||
Specify the error log file for error messages instead of directing them to the
|
||
standard error stream. This is provided since neither DOS nor UNIX C-Shell
|
||
provides a way to redirect the errors.
|
||
|
||
-g device
|
||
Specify a GAL device to convert to. This option should be used whenever
|
||
converting to a GAL22V10.
|
||
|
||
-o galfile
|
||
Specify the output GAL JEDEC file. If the -o option is not specified, the PAL
|
||
JEDEC filename is used with the extension of .gjd.
|
||
|
||
-s
|
||
Shuts off diagnostic messages.
|
||
|
||
-v
|
||
Do not include vectors in GAL JEDEC file. If this option is not used, then any
|
||
vectors in the PAL JEDEC file are copied into the GAL JEDEC file. The vectors
|
||
must conform to the JEDEC standard for defining vectors. The vector file is
|
||
appended to the GAL JEDEC file. Note that no check is done to ensure the
|
||
correctness of the vectors.
|
||
|
||
-u ues Specify the User Electronic Signature as <20>ues<65> for GAL devices in
|
||
ASCII format (8 bits per character). If only hexadecimal characters are used,
|
||
it will use a hexadecimal representation (4 bits per character).
|
||
|
||
Example:
|
||
|
||
pal2gal -d pal12h6 gates
|
||
|
||
This command invokes the PAL2GAL module. The input file is the PAL JEDEC file
|
||
gates.jed. the output file will be the GAL JEDEC file with the default name
|
||
gates.gjd.
|
||
the device PAL12H6 specified with the -d option on the command line will
|
||
override any device name (if any) in the PAL JEDEC file.
|
||
|
||
|
||
4.3 JED2EQN
|
||
|
||
The JED2EQN module will disassemble a JEDEC file into the corresponding basic
|
||
Boolean equations.
|
||
|
||
The labels used in the basic Boolean equations created by JED2EQN contain the
|
||
pin number preceded by the type of signal. Observing the labels makes it easy
|
||
to determine if the pin is used as a dedicated input, combinatorial or
|
||
registered output, and whether or not the output is used as feedback into the
|
||
device.
|
||
|
||
Synopsis:
|
||
|
||
jed2eqn [options] jedfile
|
||
|
||
where jedfile is the JEDEC file to be disassembled. The default extension is
|
||
.jed.
|
||
|
||
It is recommended that the -d option be used to avoid potential conflicts
|
||
between the device name and any comments which may exist in the JEDEC file.
|
||
However, if the JEDEC file was created by EQN2JED, this option does not need
|
||
to be specified. JED2EQN finds this device name in the JEDEC file by searching
|
||
the header section for the strings PAL,
|
||
GAL, or MAPL.
|
||
|
||
JED2EQN attempts to supply meaningful label names for the pins. It does this
|
||
by examining the JEDEC file for user-supplied labels in the NOTE PINS and NOTE
|
||
NODES statements. The format for such statements is as follows:
|
||
|
||
'NOTE' <'PINS' | 'NODES'> [<label> [ ':' <pin number> '*'
|
||
|
||
Only pins which are used need to be supplied. Note that in a JEDEC file, any
|
||
line beginning with N and ending with a * is a comment.
|
||
|
||
If the number of labels is equivalent to the number of pins on the device and
|
||
none of the labels have pin numbers assigned to them, it is assumed that the
|
||
labels have consecutive pin numbers beginning from 1.
|
||
|
||
Note that JED2EQN does not translate test vectors within the JEDEC file.
|
||
|
||
Options:
|
||
|
||
-a
|
||
Select the alternate operator set for output:
|
||
|
||
! = NOT, & = AND, # = OR and $ = XOR.
|
||
|
||
-d device
|
||
Specify the device name. This will override the device name that is in the
|
||
JEDEC file. There is no standard defined for placing the device name in the
|
||
JEDEC file.
|
||
|
||
-e errfile
|
||
Specify the error log file for error messages instead of directing them to the
|
||
standard error stream. This is provided since neither DOS nor UNIX C-Shell
|
||
provides a way to redirect the errors. Default extension
|
||
is .err.
|
||
|
||
-o eqnfile
|
||
Specify the output Boolean equations file. If the -o option is not specified,
|
||
the jedfile name is used with the extension of .eqn.
|
||
|
||
-s
|
||
Shuts off all diagnostic messages.
|
||
|
||
Example:
|
||
|
||
jed2eqn -dpal12h6 gates
|
||
|
||
This command invokes the JED2EQN module. The input is the JED file called
|
||
gates.jed. The output file will default to gates.eqn. And, the device in the
|
||
equation file will be
|
||
PAL12H6.
|
||
|
||
|
||
|
||
5.0 DESIGN ELEMENTS IN OPALjr
|
||
|
||
In the OPAL design language, all signals must be predefined before they can be
|
||
used.
|
||
|
||
|
||
5.1 SIGNAL TYPES
|
||
There are five types of signals supported by OPAL:
|
||
|
||
1. Input
|
||
2. Output
|
||
3. Feedback
|
||
4. Node
|
||
5. Statebit(not supported by OPALjr.)
|
||
|
||
Inputs define the signals that go into a design while outputs define the
|
||
signals that leave a design. Both inputs and outputs are unidirectional
|
||
signals.
|
||
|
||
Feedbacks define signals that are both inputs and outputs (bidirectional).
|
||
|
||
NODE is mainly used for the Input Logic Macro Cells (ILMC) structure of the
|
||
GAL6001. The ILMC is provided to store a fast changing input for later use by
|
||
the device. Therefore, the node is an input to the AND array of the device. A
|
||
feedback is an input to the AND array, and at the same time it is also an
|
||
output of the OR array. A register will be between the node and the input pin
|
||
and a register can be between a feedback and the OR array.
|
||
|
||
|
||
5.2 SIGNAL EXTENSIONS
|
||
|
||
If a designer, for example, defines o1 as output of JK flip-flop he/she can
|
||
define in the equation block
|
||
|
||
o1 := i1 * i2 + i3.j.
|
||
|
||
In this case the software will divide the input functions into j input and k
|
||
input. It will also use default clock, and reset or preset. On the other hand,
|
||
if the designer wishes to have complete control over the design he/she can use
|
||
signal extensions to explicitly define the functions that control the
|
||
different inputs of the JK flip-flop.
|
||
|
||
For example:
|
||
o1.j = defines the function to j input of the flip-flop.
|
||
o1.k = defines the function to the k input of the flip-flop.
|
||
o1.c = defines the function of the clock input of the flip-flop.
|
||
o1.re = defines the function to the reset input of the flip-flop.
|
||
o1.oe = defines the function to the tri-state control of
|
||
the output.
|
||
|
||
|
||
Recognized Dot Extensions
|
||
|
||
EXTENSION FUNCTION
|
||
|
||
AP Asynchronous Register Preset
|
||
AR Asynchronous Register Reset
|
||
C Clock Input
|
||
CE Clock Enable for DE Flip-flop
|
||
D D Input to D or DE Flip-flop
|
||
FB Pre-buffer Feedback
|
||
J J Input to JK Flip-flop
|
||
K K Input to JK Flip-flop
|
||
LE Latch Enable Control for Latch
|
||
OE Output Enable
|
||
PIN Post-buffer Feedback
|
||
PR Register Preset
|
||
RE Register Reset
|
||
REG Input to Generic Flip-flop
|
||
SP Synchronous Register Preset
|
||
SR Synchronous Register Reset
|
||
|
||
Register Types Versus Valid Extensions
|
||
|
||
|
||
REGISTER TYPE VALID EXTENSIONS
|
||
|
||
COM OE, FB, PIN
|
||
REG OE, REG, C, PR, RE, AP, AR, SP, SR, FB, PIN
|
||
JK OE, J, K, C, PR, RE, AP, AR, SP, SR, FB, PIN
|
||
D OE, D, C, PR, RE, AP, AR, SP, SR, FB, PIN
|
||
DE OE, D, CE, C, PR, RE, AP, AR, SP, SR, FB, PIN
|
||
LCH OE, LE, C, PR, RE, AP, AR, SP, SR, FB, PIN
|
||
|
||
|
||
|
||
6.0 DESIGN EXAMPLES IN THE EQN FORMAT
|
||
|
||
|
||
Summary of Examples and Their Features
|
||
|
||
|
||
Filename Section
|
||
(*.eqn) Reference Features
|
||
|
||
6_shift 6.1 Low Complexity
|
||
CombinatorialSignals
|
||
Output Enables
|
||
Common Subexpressions
|
||
Device and Pin Independent
|
||
|
||
8_count 6.2.2 Low Complexity
|
||
Registered and
|
||
CombinatorialSignals
|
||
XOR Equations
|
||
Mixed Polarities
|
||
PAL20X8 Device
|
||
|
||
10_count 6.2.3 Medium Complexity
|
||
Registered and
|
||
Combinatorial Signals
|
||
Output Enables
|
||
XOR Equations
|
||
Mixed Polarities
|
||
PAL20X10 Device
|
||
|
||
16_4_pri 6.2.4 Low Complexity
|
||
GAL20V8 Device
|
||
|
||
16_1_mux 6.2.5 Low Complexity
|
||
PAL20C1 Device
|
||
|
||
hex_7seg 6.2.6 Medium Complexity
|
||
Mixed Polarities
|
||
Output Enables
|
||
PAL16L8 Device
|
||
|
||
3b_7seg 6.2.7 Medium Complexity
|
||
Common Subexpressions
|
||
Registered and
|
||
Combinatorial Signals
|
||
GAL22V10 Device
|
||
|
||
15_count 6.2.8 High Complexity
|
||
UES Specification
|
||
JK Type Registers
|
||
MAPL128 Device
|
||
|
||
|
||
|
||
6.1 SIX-BIT CASCADABLE SHIFT REGISTER
|
||
|
||
This example will show a few of the software features and the usage of the
|
||
module, EQN2JED.
|
||
|
||
|
||
CHIP 6_shift unknown
|
||
; Device not selected yet
|
||
|
||
sr sl d5 d4 d3 d2 d1 d0
|
||
; Declare order of inputs
|
||
rilo q5 q4 q3 q2 q1 q0 liro
|
||
; Declare order of outputs
|
||
|
||
@define Hold "/sr * /sl"
|
||
@define Right " sr * /sl"
|
||
@define Left "/sr * sl"
|
||
@define Load " sr * sl"
|
||
|
||
EQUATIONS
|
||
|
||
/q0 := /q0 * Hold + /q1 * Right + /liro * Left + /d0 * Load
|
||
/q1 := /q1 * Hold + /q2 * Right + /q0 * Left + /d1 * Load
|
||
/q2 := /q2 * Hold + /q3 * Right + /q1 * Left + /d2 * Load
|
||
/q3 := /q3 * Hold + /q4 * Right + /q2 * Left + /d3 * Load
|
||
/q4 := /q4 * Hold + /q5 * Right + /q3 * Left + /d4 * Load
|
||
/q5 := /q5 * Hold + /rilo * Right + /q4 * Left + /d5 * Load
|
||
|
||
/liro = /q0
|
||
liro.oe = Right
|
||
|
||
/rilo = /q5
|
||
rilo.oe = Left
|
||
|
||
|
||
Basic Equation File for the Six-bit Shift Register PAL16R6
|
||
EQN2JED - Boolean Equations to JEDEC file assembler
|
||
Copyright (R) National Semiconductor Corporation 1990,1991
|
||
Assembled from "6_shift.eqn". Date: 4-3-91
|
||
|
||
|
||
6-Bit Cascadable Shift Register
|
||
National Semiconductor OPAL Example
|
||
*
|
||
QF2048*QP20*F0*
|
||
L0000
|
||
01111011111111111111111111111111
|
||
11111111111111101111111111111111*
|
||
L0256
|
||
10111010111111111111111111111111
|
||
01111011111011111111111111111111
|
||
10110111111111101111111111111111
|
||
01110111111111111111111110111111*
|
||
L0512
|
||
10111011111011111111111111111111
|
||
01111011111111111110111111111111
|
||
10110110111111111111111111111111
|
||
01110111111111111111101111111111*
|
||
L0768
|
||
10111011111111101111111111111111
|
||
01111010111111111111111111111111
|
||
10100111111111111111111111111111
|
||
01110111111111111111111111111011*
|
||
L1024
|
||
10111011111111111110111111111111
|
||
01111011111111111111111011111111
|
||
10110111111011111111111111111111
|
||
01110111111111111011111111111111*
|
||
L1280
|
||
10111011111111111111111011111111
|
||
01111011111111111111111111101111
|
||
10110111111111111110111111111111
|
||
01110111111110111111111111111111*
|
||
L1536
|
||
10111011111111111111111111101111
|
||
01111011111111111111111111111110
|
||
10110111111111111111111011111111
|
||
01110111101111111111111111111111*
|
||
L1792
|
||
10110111111111111111111111111111
|
||
11111111111111111111111111101111*
|
||
C6743*
|
||
|
||
JEDEC Map File for a Six-bit Shift Register on the PAL16R6
|
||
|
||
|
||
|
||
Behavior of the Shift Register
|
||
|
||
SR SL ACTION
|
||
0 0 Hold current value
|
||
0 1 Shift left
|
||
1 0 Shift right
|
||
1 1 Load from D5-D0
|
||
|
||
|
||
|
||
6.1.1 Design
|
||
The shift register example shown below has four modes of operation (hold,
|
||
shift right, shift left, or load) controlled by two input signals (SR, SL). It
|
||
has six registered outputs which show the current register value, and two I/O
|
||
pins for the shift in and shift out, depending on the direction of shift. It
|
||
also has six input pins so that a new value can be loaded into the
|
||
register.The operation of the shift register is controlled by the input
|
||
signals SR and SL. Table10-1 shows the behavior of the design.
|
||
|
||
6.1.2 The Basic Equation File
|
||
With these requirements in mind, the basic sum-of-products Boolean equation
|
||
file can be written.
|
||
|
||
The source file begins with the design header, which usually describes the
|
||
design and its author. The header is different from comments in two ways.
|
||
First, the header will be reproduced in the JEDEC file, whereas comments are
|
||
ignored. Secondly, the header is any text prior to the CHIP keyword, and
|
||
comments are denoted by either beginning with a semicolon (;) or enclosed
|
||
within curly braces ({ and }).
|
||
|
||
NOTE: Don't use the keyword chip in the header or comments.--
|
||
The next portion is the declaration block, which begins with the CHIP keyword,
|
||
then the name of the design (for documentation purposes), followed by the
|
||
device name, if any. In this case, a device has not yet been selected, so
|
||
unknown is entered so as not to forget to specify the -d devicename option to
|
||
EQN2JED later on. Note that the comment on this line will not be passed to the
|
||
JEDEC file.
|
||
|
||
The declaration block specifies a required device and/or assigns labels to
|
||
specific pins. The next portion lists the pins which are used. By including
|
||
all of the pins, including GND and VCC, in the proper order, we can force
|
||
signals to specific pins. In this case, not all pins were included (e.g., CLK,
|
||
GND, and VCC), so EQN2JED treats it as a partial pin list. A partial pin list
|
||
specifies the order in which you would like the pins to appear; this is useful
|
||
for buses or groups of related signals, such as in this example.
|
||
|
||
The label @define is used for declaring common subexpressions. In this case,
|
||
it would be unclear and tedious to type /sr * /s1 in every equation. Using the
|
||
@define statement as shown, we only need to type Hold. Since the @define
|
||
statement simply replaces the symbol with the supplied string, particular care
|
||
should be taken with OR-terms, which have higher precedence than AND-terms.
|
||
|
||
In addition, it is possible to specify a user electronic signature (@ues) for
|
||
GAL devices, and declare input identifiers to be latched (@ilch) or registered
|
||
(@ireg) on the GAL6001 within the declaration section. This is discussed in
|
||
Appendix C and shown in the included examples.
|
||
|
||
The basic equation block, which starts with the keyword EQUATIONS and
|
||
continues through the end of the file, is where the design is described. It is
|
||
described using standard sum-of-products notation (XOR is also valid). The
|
||
list of operators is described in Section C.5, and is mostly self-explanatory.
|
||
|
||
Of particular note are the operators = and :=. The former describes a
|
||
combinatorial (asynchronous) assignment, and the latter is for registered
|
||
(synchronous with the clock) assignment. Both are used in this design.
|
||
Registered outputs are necessary since we wish to hold the register value (q5
|
||
- q0), and combinatorial I/O pins (for rilo and liro) are used for cascading
|
||
since we desire an asynchronous signal.
|
||
|
||
The designer, knowing that this device would probably be programmed onto a
|
||
small PAL device (which often have active-low outputs), decided to declare the
|
||
outputs as active low by placing a / in front of each output equation. If the
|
||
design were to be programmed on a device with active-high outputs, these
|
||
symbols would not be included.
|
||
|
||
6.1.3 Creating The JEDEC Map
|
||
The EQN2JED module assembles the basic Boolean equation file, as shown above,
|
||
and generates a JEDEC map file. The command to execute this is as follows:
|
||
|
||
eqn2jed [options] eqnfile
|
||
|
||
The default extension of the eqnfile is .eqn. Many flags and options can also
|
||
be included to override default values or direct the process (refer to Section
|
||
9.4 for more details). In this example, the equation file name is 6_SHIFT.EQN.
|
||
Since the EQN source file has no device specified, a -d option with a device
|
||
name must be supplied on the command line. This is because the JEDEC map is
|
||
device specific. A PAL16R6 is the target device. Pin numbers were also not
|
||
defined in the original source file, so the -f flag must be specified to
|
||
enable an automatic pin assignment. Since we supplied a partial pin list, the
|
||
-f option will attempt to assign pins in the order listed. Therefore, to
|
||
assemble this example, type in the following:
|
||
|
||
eqn2jed -f -dpal16r6 6_shift
|
||
|
||
The output of this process is the standard JEDEC map file that has the
|
||
extension .jed by default. It is listed above.
|
||
|
||
In addition to the JEDEC file, this process will append design documentation
|
||
to the .log file. This file contains the pin types and labels, and it will
|
||
document the usage of product resources. A listing file with the extension
|
||
.lis will only be generated if specified with the -l option. It contains a
|
||
source listing excluding comments. It will also show all warnings and error
|
||
messages in their appropriate location.
|
||
|
||
6.2 MORE EXAMPLES IN THE EQN FILE FORMAT
|
||
In this section all examples in the distribution disk in the EQN file format
|
||
will be briefly discussed. The user can view these files directly and
|
||
experiment with them as suggested here. Table10-2 provides a summary of the
|
||
examples and their illustrated features.
|
||
|
||
6.2.1 6-Bit Cascadable Shift Register
|
||
This is the best EQN format example provided with the package and should be
|
||
understood before examining the more complex examples or designing your own
|
||
files. This example uses both the = (combinatorial) and := (registered)
|
||
assignments, as well as the output enable signal.This example does not have a
|
||
device or pin numbers declared. An appropriate device for this design is the
|
||
PAL16R6.
|
||
|
||
To create a JEDEC map, type:
|
||
|
||
eqn2jed -f -d pal16r6 6_shift
|
||
|
||
6.2.2 8-Bit Synchronous Cascadable Counter
|
||
This design is an eight bit up-down counter design which can be cascaded with
|
||
similar devices. This example illustrates combinatorial and registered
|
||
signals, mixed signal polarities, and the XOR operator. Pin assignments have
|
||
already been provided, but can be overridden with the -f option. Note that if
|
||
the pin assignments are overridden, the pin polarity information will be kept
|
||
in tact.
|
||
|
||
The device name is also specified. Specifying a device in the equation file,
|
||
avoids having to type -d device_name for every compilation. This is useful if
|
||
the device to be programmed is known.
|
||
|
||
This example is designed for the PAL20X8. The compiler EQN2JED can be run
|
||
without any flags: eqn2jed 8_count
|
||
|
||
To force the design to be placed on another device, simply specify the -d
|
||
option, which will override any device name in the source file:
|
||
eqn2jed -f -d pal20r8 8_count
|
||
|
||
Executing this command will cause an error declaring that the design will not
|
||
fit in the selected device. This is due to the fact that the design utilizes
|
||
nine outputs, and the PAL20R8 only has eight.
|
||
|
||
6.2.3 10-Bit Synchronous Up/Down Counter
|
||
This design is a more complex version of the 8-bit counter. It has more
|
||
functionality, but lacks a carry out signal due to the limits of the device.
|
||
The designer also used the mixed polarities slightly differently than the
|
||
designer of the 8-bit counter.Since both the device and pin list have been
|
||
specified, this design can be compiled with: eqn2jed 10_count
|
||
|
||
6.2.4 16-Bit to 4-Bit Priority Encoder
|
||
This is a straightforward design. An encoder is a circuit that has a number of
|
||
inputs, and encodes whichever line is high into its binary representation. A
|
||
priority encoder also handles the case where multiple signals may be high
|
||
simultaneously; it encodes the highest one.
|
||
|
||
The only trick in this design is the equation for Y3, the highest bit. The
|
||
desired equation would be:
|
||
|
||
Y3 = D15 + D14 + D13 + D12 + D11 + D10 + D9 + D8
|
||
|
||
but this would take eight product terms if programmed in that manner, so
|
||
DeMorgan<EFBFBD>s Law was applied to the equation so that it would fit into smaller
|
||
devices. A similar decision was made with the ANY signal.
|
||
|
||
This design is compiled by: eqn2jed 16_4_pri
|
||
|
||
6.2.5 16-Bit to 1-Bit Multiplexer
|
||
This is the simplest included design example, implementing a 16-bit to 1-bit
|
||
multiplexer via combinatorial logic.
|
||
|
||
To compile this design, type: eqn2jed 16_1_mux
|
||
|
||
6.2.6 Hexadecimal Decoder for a 7-Segment Display
|
||
No set of examples is complete without this design for a 7-segment LED driver
|
||
for hexadecimal inputs. This is a combinatorial design, utilizing mixed
|
||
polarities and output enable equations.
|
||
|
||
To run this example, type: eqn2jed hex_7seg
|
||
|
||
6.2.7 3-Bit Counter With 7-Segment Display Output
|
||
This design is a three bit up-down counter which has a set of outputs for a
|
||
7-segment LED. This example illustrates additional complexity, combinatorial
|
||
and registered signals, and the use of @define for common subexpressions. By
|
||
specifying a specific device in the equation file, we also avoid having to
|
||
type -d device_name for every compilation.
|
||
|
||
This example is designed for the GAL22V10. The compiler EQN2JED should be run
|
||
with the -f flag to assign the pins, since the pins were left unassigned:
|
||
eqn2jed -f 3_7seg
|
||
|
||
To force the design to be placed on another device, simply specify the -d
|
||
option, which will override any device name in the source file: eqn2jed -f -d
|
||
pal20r8 3_7seg
|
||
|
||
Executing this command will cause an error declaring that the design will not
|
||
fit in the selected device. This is due to the fact that the design utilizes
|
||
ten outputs, and the PAL20R8 only has eight.
|
||
|
||
6.2.8 15-Bit Up-Down Counter
|
||
This design is a 15-bit up-down counter design which uses four state bits for
|
||
a state-machine-like design. It shows the use of JK type registers and the
|
||
@ues directive. Since it is such a large design, the MAPL128 device, which is
|
||
an ideal part for large state machines, was selected. Note that the pins have
|
||
been assigned within the file, and that both the state bits and the page bits
|
||
have been assigned to buried registers. The advantage of buried registers is
|
||
that external pins are not wasted for unneeded signals.This example was
|
||
compiled into the EQN file format from an original design using a state
|
||
machine in the OPAL file format.
|
||
|
||
Since this design has been specifically written for the MAPL128, neither a
|
||
device nor automatic pin assignment need to be specified on the command line.
|
||
In general, if you are using a PLCC packaged device, it may be useful to
|
||
specify the -j option to get a PLCC instead of a DIP diagram. For devices such
|
||
as the MAPL128, which are available only in the PLCC package, the default is
|
||
to use the PLCC diagram.
|
||
|
||
eqn2jed 15_count
|
||
After this command has been executed, examine the log file, which will be
|
||
named 15_COUNT.LOG in the same directory. From the information presented in
|
||
the log file, one can see that the design utilized the device<63>s external pins
|
||
reasonably well, using seven out a possible twenty-six. However, the file also
|
||
shows that the internal product terms were not utilized nearly as well, making
|
||
use of only twenty-five percent of the available terms. A designer will often
|
||
try to fit the final design to many devices, and choose the cheapest or
|
||
fastest of those available.
|
||
|
||
|
||
7.0 FILE FORMAT DESCRIPTIONS
|
||
|
||
7.1 VEC FILE
|
||
|
||
A VEC file is given the default extension of ".vec". It is used as an
|
||
intermediate file for the design test vectors. The first line in the file is
|
||
usually "$OPAL VECTORS". Although this line is optional, the _OPAL software
|
||
will always generate it. This line indicates that the file was translated from
|
||
a vector block in the OPAL design language.
|
||
|
||
The second line is the $PIN statement which defines the pin labels for each
|
||
column of the vector table that is to follow. The $PIN statement begins with
|
||
the keyword "$PIN", followed _by a number to indicate the number of labels.
|
||
This number is followed by a list of that many signal labels.
|
||
|
||
The optional $BUS statements come next. A $BUS statement is used to declare a
|
||
related group of signals. The $BUS statement begins with the keyword "$BUS",
|
||
followed by the bus label. Following this is a number to indicate the
|
||
number of labels in the bus, followed by a list of that many signal labels.
|
||
|
||
After the $PIN statement (or $BUS statements, if present), there may be an
|
||
optional VNUM statement which declares the number of test vectors in the file.
|
||
|
||
An optional $PROBE statement can be used to re-specify the order of the
|
||
pins/nodes or to specify extra signals to be included in the circuit file
|
||
.PROBE statement. If the $PROBE statement does not exist, the labels in the
|
||
$PIN statement will be used.
|
||
|
||
The remainder of the file is made up of the test vectors. The allowable
|
||
characters and format of the test vectors is identical to the JEDEC Test
|
||
Vector Format.
|
||
|
||
The VEC file format test vectors are very similar to the JEDEC test vectors
|
||
with only one difference. This difference is that the JEDEC format requires
|
||
that every pin on the device PIN _be included in every test vector. For
|
||
example, there must be 20 test conditions defined within every vector for a 20
|
||
pin device.
|
||
|
||
The VEC file format only includes the symbols thatyou are interested in
|
||
testing. Two special symbols can be used to repeat test vectors. The $LOOP and
|
||
$END statements to define a section of test vectors to be repeated.
|
||
|
||
|
||
|
||
|
||
|
||
7.2 EQN FILE
|
||
|
||
|
||
The EQN file format is a simple sum-of-products equation format for describing
|
||
Boolean logic. It has three components
|
||
|
||
1. Header
|
||
2. Declaration block
|
||
3. Basic equation block
|
||
|
||
There are four reserved keywords that cannot be used as identifiers in an EQN
|
||
file:
|
||
|
||
CHIP
|
||
EQUATIONS
|
||
GLOBAL
|
||
STRING
|
||
|
||
|
||
7.2.2 COMMENTS
|
||
|
||
Comments can be freely inserted anywhere in the source file. There are two
|
||
types of comments.
|
||
|
||
1. begins with a semi-colon ";" and ends with the end-of-line character.
|
||
2. begins with a "{" and ends with a "}."
|
||
|
||
7.2.3 HEADER
|
||
|
||
The header is any text before the "CHIP" keyword, with the exception of
|
||
comments. This will be passed on to a similar header (if one is available) of
|
||
the output file.
|
||
|
||
7.2.4 DECLARATION BLOCK
|
||
|
||
The declaration block begins with the "CHIP" keyword, followed by a chip name
|
||
and a device name. Following that is an optional pin list and directives.
|
||
The declaration block ends when the EQUATIONS keyword is encountered.
|
||
|
||
<declaration> := CHIP <chip name> <device name>
|
||
[ <pin list> ]
|
||
[ <directives>]
|
||
|
||
The "CHIP" keyword indicates the end of the header (if any) and the beginning
|
||
of the declaration block. The chip name is a name for the design. The device
|
||
name is the target device for the logic design.
|
||
|
||
An optional list of pin identifier names follows the device name. This is
|
||
usually a list of pin names, which can also indicate if a pin is not connected
|
||
("NC"), power ("Vcc"), or ground ("GND"). After the physical pins, the buried
|
||
pins (if there are any on the device, are listed. If a specific pin number
|
||
should be assigned to a label, it can be specified with the "=" character.
|
||
|
||
An optional inverting operator ("/" or "!") may precede a label to indicate
|
||
negative polarity.
|
||
|
||
If there is no pin list, or a partial pin list, or a pin list (complete or
|
||
partial) with some of the labels having pin numbers assigned, then it is an
|
||
error unless an automatic pin assignment feature is invoked to assign the pins
|
||
automatically.
|
||
|
||
Note that some devices (GAL6001 and MAPL128) have buried registers, which are
|
||
feedbacks without an external pin. Any assigned pin numbers greater than the
|
||
number of external pins on the device are assumed to be buried.
|
||
|
||
|
||
7.2.5 DIRECTIVES
|
||
|
||
One or more optional directives may follow the pin list. Directives are
|
||
declared after the pin list and before the "EQUATIONS" keyword. There are
|
||
five directives being used currently.
|
||
|
||
1. STRING Defines common sub-expressions to help clarify or shorten the
|
||
equations in the equations block.
|
||
|
||
2. @define Equivalent with STRING. Particular care should be taken with the
|
||
define statement. Using OR or XOR terms in the replacement string may not
|
||
produce the expected behavior, since @define blindly substitutes the
|
||
replacement string for the symbol and the OR operator takes precedence over
|
||
the AND operator. In addition, using an inverting operator ("/" or "!") in
|
||
front of the @define label will only invert the first symbol, not the entire
|
||
replacement string
|
||
|
||
3. @ues Defines a user electronic signature.
|
||
|
||
4. @ilch Declares identifiers with latched inputs.
|
||
|
||
5. @ireg Declares identifiers with registered inputs.
|
||
|
||
|
||
7.2.6 BASIC EQUATIONS BLOCK
|
||
|
||
The basic equations block begins with the "EQUATIONS" keyword and is followed
|
||
by one or more equations through end of file.
|
||
|
||
The equations assign the value of an expression to a signal. The equation
|
||
assigns a value to the righ hand side (RHS) of the assingment operator to the
|
||
output/feedback signal on the left hand side (LHS) of the assignment operator.
|
||
Two different assignment operators are used: "=" for combinatorial assignment
|
||
and "=" for registered assignment.
|
||
|
||
The LHS of the equation consists of a signal name. This could be followed by
|
||
an optional signal extension or preceded by an inversion symbol ("/" or "!").
|
||
A label that is an input only cannot appear on the LHS of the equation.
|
||
|
||
The RHS of an equation is a logical expression that evaluates to a single
|
||
value. The logical expression must be described using the sum-of-products
|
||
form, but must be reduced. The use of parentheses for grouping is not
|
||
permitted.
|
||
|
||
VALID OPERATORS IN AN EQUATION BLOCK
|
||
|
||
OPERATOR EXAMPLE OPERATION PRECEDENCE
|
||
|
||
/ /signal invert 4 (highest)
|
||
! ! signal invert 4
|
||
* A * B and 3
|
||
& A & B and 3
|
||
| A | B or 2
|
||
+ A + B or 2
|
||
^ A ^ B xor 1
|
||
$ A $ B xor 1
|
||
:+: A:+:B xor 1
|
||
= A = B assignment 0
|
||
:= A:=B registered
|
||
assignment 0 (lowest)
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
8.0 APPENDIX
|
||
|
||
8.1 DEVICES SUPPORTED
|
||
|
||
The following sections list the devices which are supported by the OPAL
|
||
package. To use these devices within a design, enter the device name exactly
|
||
as shown below. Shortened forms of the name can be used if there is only one
|
||
version of that device; for example, 16R8 can be used instead of PAL16R8.
|
||
Note that some devices have both a PAL and GAL version, so you should specify
|
||
which device you intend.
|
||
|
||
EECMOS GAL DEVICES
|
||
|
||
GAL16V8
|
||
GAL16V8A
|
||
GAL16V8QS
|
||
GAL20V8
|
||
GAL20V8A
|
||
GAL20V8QS
|
||
GAL20RA10
|
||
GAL22V10
|
||
GAL22CV10
|
||
GAL6001
|
||
|
||
Most GAL16V8 and GAL20V8 devices manufactured prior to March 1991 are slightly
|
||
different than those currently manufactured by National Semiconductor. When
|
||
using these older devices, the EQN2JED -B switch should be used. To determine
|
||
the status of any old devices, contact your National representative.
|
||
|
||
|
||
TTL PAL Devices
|
||
|
||
PAL16R4
|
||
PAL16R6
|
||
PAL16L8
|
||
PAL16R8
|
||
PAL20R4
|
||
PAL20R6
|
||
PAL20L8
|
||
PAL20R8
|
||
|
||
ECL PAL Devices
|
||
PAL1016C4
|
||
PAL10016C4
|
||
PAL1016P4A
|
||
PAL10016P4A
|
||
PAL1016P8
|
||
PAL10016P8
|
||
PAL1016PE8
|
||
PAL10016PE8
|
||
PAL1016RD8
|
||
PAL10016RD8
|
||
PAL1016RM4A
|
||
PAL10016RM4A
|
||
|
||
|
||
EECMOS MAPL Devices
|
||
|
||
MAPL128
|
||
MAPL144
|
||
|
||
|
||
Other Supported PAL Device Architectures
|
||
|
||
PAL10H8
|
||
PAL10L8
|
||
PAL10P8
|
||
PAL12H6
|
||
PAL12L6
|
||
PAL12P6
|
||
PAL12H10
|
||
PAL12L10
|
||
PAL12P10
|
||
PAL14H4
|
||
PAL14L4
|
||
PAL14P4
|
||
PAL14H8
|
||
PAL14L8
|
||
PAL14P8
|
||
PAL16C1
|
||
PAL16H2
|
||
PAL16L2
|
||
PAL16P2
|
||
PAL16RP4
|
||
PAL16H6
|
||
PAL16L6
|
||
PAL16P6
|
||
PAL16RP6
|
||
PAL16H8
|
||
PAL16P8
|
||
PAL16RA8
|
||
PAL16RP8
|
||
PAL18H4
|
||
PAL18L4
|
||
PAL18P4
|
||
PAL20C1
|
||
PAL20H2
|
||
PAL20L2
|
||
PAL20P2
|
||
PAL20X4
|
||
PAL20RP4
|
||
PAL20RP6
|
||
PAL20X8
|
||
PAL20H8
|
||
PAL20P8
|
||
PAL20RP8
|
||
PAL20X10
|
||
PAL20H10
|
||
PAL20L10
|
||
PAL20P10
|
||
PAL20RA10
|
||
PAL22V10
|
||
|
||
8.1.2 Buried Registers
|
||
A number of devices supported by OPAL have buried registers. Whenever an
|
||
appropriate signal has been specified as buried and there are no pins
|
||
available, the signal may be assigned to a buried register. In some cases,
|
||
such as for the page bits on the MAPL devices, the designer may wish to assign
|
||
a signal to a specific buried register.
|
||
|
||
Each buried register has been assigned a number which can be treated as if it
|
||
were a pin within OPAL.The buffered input registers in the MAPL2 devices are
|
||
used only in double-buffered input mode and refers to the output of the
|
||
D-register nearer to the external pin.
|
||
|
||
GAL6001
|
||
|
||
Buried Registers (SLMC) 7:0
|
||
25, 26, 27, 28, 29, 30, 31, 32
|
||
Buried Feedback from pins 14:23
|
||
33, 34, 35, 36, 37, 38, 39, 40, 41, 42
|
||
|
||
MAPL128
|
||
|
||
Buried Registers 0:7
|
||
29, 30, 31, 32, 33, 34, 35, 36
|
||
Buried Page Bits 0:2
|
||
37, 38, 39
|
||
|
||
MAPL144
|
||
Buried Page Bits 0:2
|
||
45, 46, 47
|
||
|
||
|
||
|
||
8.2 USEFUL CONVERSIONS
|
||
|
||
8.2.1 Conversion of Flip-Flops
|
||
The table below lists forms which might be found in other languages and their
|
||
conversion into a register-independent OPAL expression.
|
||
|
||
In addition, if the register type is known and is a DE or JK register, the
|
||
designer may want to convert a register-independent expression into its
|
||
register-dependent form for maximal implementation efficiency.
|
||
|
||
Register Conversions
|
||
|
||
OPAL EXPRESSION D/DE FORM J/K FORM
|
||
|
||
s := A; s.d = A; s.j = A;
|
||
s.ce = 1;
|
||
|
||
s := A + B*s; s.d = A; s.j = A;
|
||
s.ce = A + !B; s.k = !(A + B);
|
||
|
||
s := A + C*!s; s.j = A + C;
|
||
s.k = !A;
|
||
|
||
s := A + B*s + C*!s; s.j = A + C;
|
||
s.k = !(A + B);
|
||
|
||
s := A $ s; s.j = A;
|
||
s.k = A;
|
||
|
||
s := (A + B*s) $ s; s.j = A;
|
||
s.k = A + B;
|
||
|
||
s := (A + C*!s) $ s; s.j = A + C;
|
||
s.k = A;
|
||
|
||
s := (A + B*s + C*!s) $ s; s.j = A + C;
|
||
s.k = A + B;
|
||
|
||
Note that the last four equations synthesize a toggle flip-flop from a D
|
||
flip-flop, so they allow conversions from T to JK registers as well.
|
||
|
||
For the full generalization, we can say:
|
||
s := (A + B*s + C*!s) $ D*s;
|
||
s.j = A + C;
|
||
s.k = !(A + B)*!D + (A + B)*D;
|
||
which reduces to:
|
||
s := A*!D + (!A*!B*D + B*!D)*s + (A + C)*!s
|
||
s.j = A + C;
|
||
s.k = !A*!B*!D + A*D + B*D;
|
||
|
||
In other words, the functions SET, RESET, TOGGLE, and HOLD can be given as:
|
||
|
||
SET = A*!D + !A*B*C*!D + !A*!B*C*D;
|
||
RESET = !A*!B*!C*!D + !A*B*!C*D;
|
||
TOGGLE = !A*!B*C*!D + A*D + !A*B*C*D;
|
||
HOLD = !A*B*!C*!D + !A*!B*!C*D;
|
||
|
||
And from this you can synthesize the equations for any flip-flop, with any
|
||
polarity of inputs.
|
||
|
||
|
||
9.0 ERROR MESSAGES
|
||
|
||
There are three types of messages:
|
||
|
||
1.Error messages, which begin with the character E. These are problems which
|
||
will cause the program to fail or will result in incorrect output.
|
||
|
||
2.Warning messages, which begin with the character W. These are messages which
|
||
alert the designer to possible problems in the design or in operation of the
|
||
program.
|
||
|
||
3.Information messages, which begin with the character I. These are messages
|
||
which give the designer additional information about the processing of the
|
||
design or operation of the program.
|
||
|
||
The four digits following the message type identifier are a unique number
|
||
which indexes additional information in the following error list. In
|
||
addition, the error number should be specified in any software bug reports.
|
||
|
||
The typical user will initially create an OPAL file and use the OPAL modules
|
||
to automatically generate the PLA, EQN, and JEDEC files. Since these files
|
||
were generated automatically, file format errors should not occur. This class
|
||
of errors contain the statement, If the file was automatically generated,
|
||
please contact your representative. If you get one of these errors, and you
|
||
did not edit the file in any way, you should report the problem to the
|
||
appropriate National Semiconductor representative listed at the front of the
|
||
manual.
|
||
|
||
9.1 COMMON MESSAGES (0000-0099)
|
||
|
||
E0001: Cannot open file XXX.--
|
||
The indicated file XXX could not be opened. If XXX is an input file to read
|
||
from, check to see if it exists. If it exists, you should check the file
|
||
protection settings which allow you to access it. If XXX is an output file to
|
||
write to, possible problems could be a full disk drive, invalid directory path
|
||
or file protection that will not allow file to be written to. On DOS, you
|
||
should also check your FILES value in the system file config.sys.
|
||
|
||
E0002: Unable to allocate memory.--
|
||
The program tried to allocate memory dynamically but was unable to do so.
|
||
This indicates either not enough memory or an internal error. If you are
|
||
compiling a small to moderate design or are on a machine with ample memory,
|
||
please contact your representative listed at the front of this manual.
|
||
Otherwise, attempt the design on a machine with more memory.
|
||
|
||
E0003: Unable to write to disk.--
|
||
An internal program file could not be written to. The disk drive being
|
||
written to could be full or there may be problems in closing the file. It is
|
||
possible that you do not have write permission to the file or directory. On a
|
||
floppy disk, check the write protect tab.
|
||
|
||
E0004: Invalid/unsupported device name XXX.--
|
||
XXX could be a misspelled device name or one that is not supported. Another
|
||
possible reason is a missing library file for XXX. You should check that XXX
|
||
is a supported device.
|
||
|
||
E0006: Wrong library version number #.## for device XXX.--
|
||
The version number in the library file for the device XXX is wrong. See I0007
|
||
for the expected version number. Try recopying the library files from your
|
||
original release diskette, particularly if the expected version number is
|
||
higher than the incorrect library number. If this does not correct the
|
||
problem, contact your representative.
|
||
|
||
I0007: Expected library version number is #.## for device XXX.--
|
||
The version number in the library file for the device XXX is wrong. The wrong
|
||
version number is printed by message E0006.
|
||
|
||
E0010: Unexpected EOF encountered in file XXX.--
|
||
An unexpected EOF is encountered while reading the file XXX. This could be
|
||
caused by a syntax error. Specify the source listing option on the next
|
||
recompilation, and examine it for more information.
|
||
|
||
E0012: Unknown option -X on command line.--
|
||
The option -X on the command line is not recognized by the program. Check the
|
||
list of command line options for this program.
|
||
|
||
E0013: Expect an argument after -X option on command line.--
|
||
An argument is expected after the - X option on the command line. Check the
|
||
list of command line options to see what type of argument this option
|
||
requires.
|
||
|
||
E0014: Input file name missing in command line.--
|
||
Every program requires the input file to be specified on the command line.
|
||
Although the extension will default to a certain extension if not specified,
|
||
the base file name must be given. If you did supply it, check the syntax of
|
||
your command line against the list of command line options.
|
||
|
||
E0015: Input file already defined - XXX.--
|
||
You already specified a different input file name. The programs cannot
|
||
process more than one source file at a time. If you did supply only one file
|
||
name, check the syntax of your command line against the list of command line
|
||
options.
|
||
|
||
E0016: All switches must be separated by a space.--
|
||
Although some programs allow you to specify a number of options with only a
|
||
single dash (-), this program does not. Please give each option its own dash
|
||
and separate all options and arguments by a space.
|
||
|
||
E0018: Path name is too long.--
|
||
The complete file name (including the path) for OPL2PLA exceeds 80 characters.
|
||
|
||
E0020: The subprogram XXX did not complete
|
||
execution.--
|
||
The subprogram XXX could not be completely executed. Either there is not
|
||
enough memory to execute the module XXX or error(s) occurred during the
|
||
execution of the module. If the problem cannot be solved by examining the
|
||
messages produced by XXX, please contact your representative.
|
||
|
||
E0021: Invalid/Unsupported "OPTION" "XXX" on command line.--
|
||
The command line specified the option OPTION with an illegal argument of XXX.
|
||
The argument is either invalid or unsupported within the module. You should
|
||
also check the spelling of the argument.
|
||
|
||
E0100: Unknown internal error.--
|
||
An unknown internal error has occurred. Do not continue to use this program
|
||
and report the problem to your representative listed at the front of this
|
||
document. Please save the input files that you were using so that we may more
|
||
accurately find your problem.
|
||
|
||
|
||
9.2 MESSAGES WHILE READING AN EQN FILE (0100-0199)
|
||
|
||
E0101: (Line ##): Chip keyword previously declared.--
|
||
The chip keyword is declared more than once. Either delete or comment out the
|
||
undesired line.
|
||
|
||
E0102: (Line ##): Invalid device name XXX.--
|
||
XXX could be a misspelled device name or one that is not supported. Check the
|
||
list of supported devices, and contact your representative if you suspect a
|
||
problem.
|
||
|
||
E0103: (Line ##): @define keyword found before chip keyword.--
|
||
All @ directives must be declared in the declaration section. The declaration
|
||
section is defined as the area following the chip keyword and before the
|
||
equation keyword.
|
||
|
||
E0104: (Line ##): @define keyword found after equations keyword.--
|
||
All @ directives must be declared in the declaration section. The declaration
|
||
section is defined as the area following the chip keyword and before the
|
||
equation keyword.
|
||
|
||
E0105: (Line ##): Missing chip keyword.--
|
||
The chip keyword is missing. The chip and equation keyword are the only
|
||
keywords that must be present in an EQN file. You may have attempted to use
|
||
the wrong type of file as input.
|
||
|
||
E0106: (Line ##): Missing equations keyword.--
|
||
The equation keyword is missing. The chip and equation keyword are the only
|
||
keywords that must be present in an EQN file.
|
||
|
||
E0107: (Line ##): Too many labels in the pin list or missing equations
|
||
keyword.--
|
||
The number of labels is more than the number of device pins. Another possible
|
||
reason could be a missing equation keyword. Check your source file and the
|
||
pin-out diagram for the device in question.
|
||
|
||
E0108: (Line ##): Invalid character X in identifier YYY.--
|
||
An valid identifier consists of one or more alphanumeric, underscore _ or
|
||
tilde ~ characters. Remove the offending character.
|
||
|
||
W0109: (Line ##): 0 is an identifier, NOT logic zero (gnd).--
|
||
The keyword gnd is used to represent logic zero. The character 0 will be
|
||
treated like any other identifier. If this is not the desired behavior,
|
||
replace the 0 with gnd.
|
||
|
||
W0110: (Line ##): 1 is an identifier, NOT logic one (vcc).--
|
||
The keyword vcc is used to represent logic one. The character 1 will be
|
||
treated like any other identifier. If this is not the desired behavior,
|
||
replace the 1 with vcc.
|
||
|
||
E0111: (Line ##): Invalid dot extension XXX.--
|
||
The dot extension XXX is either not supported or misspelled. Consult the list
|
||
of valid dot extensions.
|
||
|
||
E0112: (Line ##): Invalid assigned pin ## for label XXX.--
|
||
The assigned pin ## for label XXX is invalid. The label attributes do not
|
||
match those of the assigned pin. For example, an active-high output is
|
||
assigned to an active-low output.
|
||
|
||
E0113: (Line ##): Incomplete or missing pin list.--
|
||
The number of labels in the pin list is less than the number of device pins or
|
||
the pin list is completely missing. Specify the automatic pin fitting option
|
||
if you do not wish to assign the pins yourself.
|
||
|
||
E0114: (Line ##): Keyword XXX used as identifier.--
|
||
The keyword XXX is used as an identifier. Either rename the symbol, or check
|
||
the syntax of your source file.
|
||
|
||
E0115: (Line ##): @define definition must be enclosed in "s.--
|
||
The @define statement begins with the keyword @define followed by a label and
|
||
a string enclosed in "s. It must also be on a single line.
|
||
|
||
W0116: (Line ##):Empty @define string for label XXX.--
|
||
An empty string is defined for the label XXX. Recheck your design to see if
|
||
this is what you intended.
|
||
|
||
E0117: (Line ##): @define statement must end
|
||
with a ".--
|
||
There is a missing " at the end of the defined string. The statement must be
|
||
on a single line.
|
||
|
||
E0118: (Line ##): Previous equation ends with XXX. XXX is ignored.--
|
||
An unexpected end of equation was found. Check your source file with the EQN
|
||
file format.
|
||
|
||
E0119: (Line ##): Unexpected character X ignored.--
|
||
An unexpected character X is encountered while reading the EQN file. The
|
||
character is ignored in an attempt to continue reading the EQN file and catch
|
||
as many errors as possible. If this character is in error, remove it from the
|
||
source file, otherwise check your source file with the EQN file format.--
|
||
|
||
E0120: (Line ##): Identifier XXX is undefined.--
|
||
The identifier XXX is not defined in the declaration section. Either you
|
||
misspelled the identifier or forgot to declare it.
|
||
|
||
W0121: (Line ##): Only first label in "@define XXX" is inverted.--
|
||
The @define string is directly substituted for the @define label XXX. A NOT
|
||
operator in front of a @define label inverts the first label in the @define
|
||
string. It does not perform the inversion of the entire @define string. This
|
||
is probably not the desired behavior.
|
||
|
||
E0122: (Line ##): Expecting : after :+. :+ is ignored.--
|
||
A semicolon is expected after the string :+ is encountered. The :+: is the
|
||
exclusive-OR operator in the EQN format. If you did not intend to use the XOR
|
||
operator, check your syntax against the EQN file format.
|
||
|
||
E0123: (Line ##): Expecting = or + after :. : is ignored.--
|
||
An = or + character is expected after a semicolon : is found. := is the
|
||
registered assignment operator. :+: is the exclusive-OR operator. If you did
|
||
not intend either of these operators, check your syntax against the EQN file
|
||
format.
|
||
|
||
E0124: (Line ##): Mismatched braces for comments.--
|
||
A comment begins with a { and end with a }. The ending brace } is missing.
|
||
Edit the source file to correct the problem.
|
||
|
||
E0125: (Line ##): Invalid character X for start of comment.--
|
||
Internal error. A ; or { character is expected for the start of a comment.
|
||
If there is not an obvious error with your source file, please contact your
|
||
representative.
|
||
|
||
E0126: (Line ##): UES exceeds MM ASCII (NN HEX) characters for device XXX.--
|
||
The UES string for the device XXX cannot be more than MM ASCII characters or
|
||
more than NN HEX characters. An ASCII character takes up 8 UES bits while a
|
||
HEX character takes up 4 UES bits. This limitation is device dependent.
|
||
|
||
E0127: (Line ##): Unexpected EOF encountered.--
|
||
An unexpected EOF is encountered while reading the EQN file. This could be
|
||
caused by a syntax error. Please check your source file against the EQN file
|
||
format.
|
||
|
||
E0128: (Line ##): Unassigned labels found and the "-f" option was not used.--
|
||
Only some of the labels have been assigned pin numbers in your source file.
|
||
To assign the others, either do it manually or specify the -f option on the
|
||
command line.
|
||
|
||
E0129: Expect a number after XXX keyword.--
|
||
A number is expected after XXX keyword which represents the number of labels
|
||
in the list. XXX is either @ILCH or @IREG. Place the correct number there in
|
||
accordance with the EQN file format.
|
||
|
||
W0130: OR/XOR operator in @define statement.--
|
||
An OR (+) or XOR (:+:) operator was used in the @define block. The @define
|
||
statement performs an exact substitution of the defined string for the defined
|
||
word. No logical grouping is implied or enforced. The designer should be
|
||
wary of the precedence of AND over OR and XOR after the string has been
|
||
substituted into the equations.
|
||
|
||
E0133: Unable to select a device from file XXX.--
|
||
When the argument following the -d option begins with @, the string following
|
||
the @ character is a file containing a list of device names to select from.
|
||
The most likely cause of this error message is that the device selection file
|
||
XXX is empty.
|
||
|
||
E0134: Pin assignment operator @ is not supported; use =.--
|
||
Some equations file formats allow a pin assignment which look like pinName @
|
||
P15, which is not supported in our format. Please change this to pinName =
|
||
15.
|
||
|
||
9.3 MESSAGES WHILE READING A VEC FILE (0300-0399)
|
||
|
||
E0301: Missing $VNUM number.--
|
||
A number indicating the number of vectors in the file is expected after the
|
||
$VNUM keyword. Either delete the optional $VNUM line or insert the correct
|
||
number of vectors which follow.
|
||
|
||
W0302: Extra $VNUM ignored.--
|
||
More than one $VNUM encountered in the vector file. The first one will be the
|
||
valid number of vectors. You should delete the incorrect line.
|
||
|
||
E0303: Missing $PIN number.--
|
||
A number indicating the number of labels in the pin list is expected after the
|
||
$PIN keyword. Count the number of labels and insert the correct number.
|
||
Please see the documentation of the VEC file format.
|
||
|
||
E0304: Unknown or unsupported keyword XXX.--
|
||
The keyword XXX is either unknown or not supported. Please see the
|
||
documentation of the VEC file format.
|
||
|
||
E0305: file_name: Not an intermediate vector file.--
|
||
file_name is not an intermediate vector file.
|
||
|
||
E0306: Incorrect number of labels in $PIN declaration.--
|
||
The number of labels does not match the number after the $PIN keyword. Count
|
||
the number of labels and correct the number specified after the $PIN keyword.
|
||
|
||
W0307: Vector span more than one line.--
|
||
The vector span more than one line. This could indicate a possible error in
|
||
the vector file. Please consult the VEC file format description.
|
||
|
||
E0308: Illegal character X in vector.--
|
||
There is an illegal character X in the vector. Please consult the VEC file
|
||
format description.
|
||
|
||
E0309: Missing $PIN statement in file XXX.--
|
||
The $PIN statement is required. Please consult the VEC file format
|
||
description.
|
||
|
||
E0310: P field must be defined before any V fields in vector file XXX.--
|
||
Since the P field indicates the order of the test conditions in the vectors,
|
||
it must come before any V fields which defines the vectors. Please consult
|
||
the VEC file format description.
|
||
|
||
E0311: Missing pin numbers in P Field of vector file XXX.--
|
||
The P field indicates the order of the test conditions in the vectors. The P
|
||
field begins with a P followed by a list of space-separated numbers equal to
|
||
the number of pins for the device and ends with a *. The list of numbers in
|
||
the P field must match the number of pins for the device.
|
||
|
||
E0312: Invalid character ? in P Field of vector file XXX.--
|
||
The P field indicates the order of the test conditions in the vectors. The P
|
||
field begins with a P followed by a list of space-separated numbers equal to
|
||
the number of pins for the device and ends with a *. Only numbers are
|
||
expected in the P Field.
|
||
|
||
E0313: Missing * to end the P Field in vector file XXX.--
|
||
The P field indicates the order of the test conditions in the vectors. The P
|
||
field begins with a P followed by a list of space-separated numbers equal to
|
||
the number of pins for the device and ends with a *. The * is required as a
|
||
delimiter to indicate the end of the P field.
|
||
|
||
E0314: Missing * to end vector ## of
|
||
vector file XXX.--
|
||
The V field begins with a V followed by a vector number. This is followed by
|
||
a list of the test conditions equal to the number of pins for the device.
|
||
Finally a * is used as a delimiter to end the V field. The * is missing for
|
||
vector ##.
|
||
|
||
E0315: Missing $BUS number.--
|
||
A number indicating the number of signals in the bus is missing. Please refer
|
||
to the VEC file format description.
|
||
|
||
E0316: Unknown/Bad vector format in file XXX.--
|
||
The file XXX does not conform to the VEC file format or the JEDEC Test Vector
|
||
format. Check the file to make sure that is your vector file.
|
||
|
||
E0317: Missing $LOOP number.--
|
||
The number indicating how many times a vector or group of vectors must be
|
||
iterated through is missing.
|
||
|
||
E0318: Mismatched $END and $LOOP statements.--
|
||
The number of $END and $LOOP keywords in the vector file should be the same.
|
||
|
||
E0319: Missing $PROBE number.--
|
||
A number indicating the number of labels in the probe list is expected after
|
||
the $PROBE keyword. Count the number of labels in the statement and insert
|
||
the correct number.
|
||
|
||
9.4 MESSAGES WHILE READING A JEDEC FILE (0400-0499)
|
||
|
||
W0401: Missing/invalid pin number for label label in file filename.--
|
||
A pin number is expected after the label label in the JEDEC file. This pin
|
||
number is either missing or invalid for the device.
|
||
|
||
W0402: Default labels will be used for equations.--
|
||
The program attempts to extract label names from the NOTE PINS or NOTE NODES
|
||
statements in the JEDEC file. If it is not successful for any reason, default
|
||
labels will be created instead.
|
||
|
||
W0403: More than one label assigned to pin ## in file XXX.--
|
||
The pin number ## has been assigned to more than one label within the JEDEC
|
||
file XXX. This is illegal.
|
||
|
||
E0404: Incorrect QF value for XXX. Correct value is ####. --
|
||
The QF field specifies the maximum number of fuses in the JEDEC fusemap. The
|
||
QF value is incorrect for the device XXX, and should be #### for that device.
|
||
You have probably specified an incorrect device on the command line. If the
|
||
file and device type were automatically generated, please contact your
|
||
representative.
|
||
|
||
E0405: Fuse number in L field is greater than QF value. --
|
||
The QF value specifies the maximum number of fuses in the JEDEC fusemap. It
|
||
is an error if a fuse number in an L field exceeds the QF value. You have
|
||
probably specified an incorrect device on the command line. If the file and
|
||
device type were automatically generated, please contact your representative.
|
||
|
||
E0406: Incorrect QP value for XXX. Correct value is ##.--
|
||
The QP field specifies the number of pins for the device XXX. The QP value is
|
||
incorrect in the JEDEC map, and should be ## for that device. You have
|
||
probably specified an incorrect device on the command line. If the file and
|
||
device type were automatically generated, please contact your representative.
|
||
|
||
E0407: Illegal character X in JEDEC fusemap ignored.--
|
||
The illegal character X in the JEDEC fusemap was found and is being ignored.
|
||
Only 0s and 1s are allowed in the JEDEC fusemap (or L field).
|
||
|
||
E0408: Illegal macrocell fuse configuration in JEDEC map.--
|
||
The macrocell fuse configuration in the JEDEC map is incorrect. Please check
|
||
the JEDEC file for possible missing macrocell fuses.
|
||
|
||
E0409: No fuse number found in JEDEC file XXX.--
|
||
There is no fuse map information (L fields) found in the JEDEC file. This
|
||
indicates an incorrect JEDEC file or some non-standard file format. Go back
|
||
to the program that originally created the JEDEC map.
|
||
|
||
E0410: Illegal JEDEC field character X (##).--
|
||
An illegal JEDEC field character X (decimal value ##) was found in the JEDEC
|
||
file. See JEDEC Standard 3-A for the valid list of field characters. If you
|
||
are unable to determine the problem, contact your representative.
|
||
|
||
E0411: F Field must appear before L Field in JEDEC file.--
|
||
The F field indicates what the default fuse state is if the fuse is not
|
||
specified in the JEDEC file. It must appear before any of the L fields which
|
||
define the fuse states.
|
||
|
||
9.5 MESSAGES FROM EQN2JED (1400-1599)
|
||
E1401: Missing equations filename on command line.--
|
||
The input equations filename is missing on the command line. The default
|
||
extension is .eqn.
|
||
|
||
W1402: Both -j and -k options specified. "-X" option ignored.--
|
||
You can only have one of the two options.
|
||
|
||
W1403: UES ues_string on command line is ignored for device XXX.--
|
||
The device XXX does not have a User Electronic Signature. The UES string
|
||
specified with the -u option on the command line is ignored.
|
||
|
||
E1404: Unable to do automatic pin assignment for device XXX.--
|
||
The automatic pin assignment feature does not work for the device XXX. You
|
||
will have to assign the pins manually or use a special fitter program (such as
|
||
FITMAPL) to do that.
|
||
|
||
E1405: P field must be defined before any V fields in vector file XXX.--
|
||
Since the P field indicates the order of the test conditions in the vectors,
|
||
it must come before any V fields which defines the vectors.
|
||
|
||
E1406: Missing pin numbers in P Field of vector file XXX.--
|
||
The P field indicates the order of the test conditions in the vectors. The P
|
||
field begins with a P followed by a list of space separated numbers equal to
|
||
the number of pins for the device and ends with a *. The list of numbers in
|
||
the P field must match the number of pins for the device.
|
||
|
||
E1407: Invalid character ? in P Field of vector file XXX.--
|
||
The P field indicates the order of the test conditions in the vectors. The P
|
||
field begins with a P followed by a list of space separated numbers equal to
|
||
the number of pins for the device and ends with a *. Only numbers are
|
||
expected in the P Field.
|
||
|
||
E1408: Missing * to end the P Field in vector file XXX.--
|
||
The P field indicates the order of the test conditions in the vectors. The P
|
||
field begins with a P followed by a list of space separated numbers equal to
|
||
the number of pins for the device and ends with a *. The * is required as a
|
||
delimiter to indicate the end of the P field.
|
||
|
||
E1409: Missing test conditions for vector ## in file XXX.--
|
||
The V field begins with a V followed by a vector number. Then comes a list of
|
||
the test conditions equal to the number of pins for the device. Finally a * is
|
||
used as a delimiter to end the V field. The number of test conditions for
|
||
vector ## must not match the number of pins for the device.
|
||
|
||
E1410: Missing * to end vector ## of vector
|
||
file XXX.--
|
||
The V field begins with a V followed by a vector number. Then comes a list of
|
||
the test conditions equal to the number of pins for the device. Finally a * is
|
||
used as a delimiter to end the V field. The * is missing for vector ##.
|
||
|
||
W1411: vec_file: vector ##: Invalid character X for pin_type pin ##.--
|
||
The test condition X in vector ## is illegal for a pin_type pin. pin_type
|
||
could be input, output, feedback, unused, power, clock or output enable.
|
||
|
||
E1413: Pin ## in gal_name is not an I/O pin in Medium-PAL mode.--
|
||
In the Medium-PAL mode, pins 12 and 19 in the GAL16V8 (or 15 and 22 for the
|
||
GAL20V8) are not I/O pins.
|
||
|
||
I1414: Using Registered-PAL mode with no registered outputs.--
|
||
In the registered-PAL mode, pin 1 is the clock pin for the buried registers
|
||
and pin 11 in the GAL16V8 (or pin 13 in the GAL20V8) is the dedicated OE pin
|
||
for the registered outputs.
|
||
|
||
W1415: Clock term ignored for COM output (pin ##).--
|
||
A clock equation is defined for the combinatorial output at pin ##. The
|
||
equation is ignored. This message is for 16RA8 or 20RA10 only.
|
||
|
||
E1416: XXX term must be high to bypass register for output pin ##.--
|
||
Both the preset and reset terms must be high to bypass the register for a
|
||
combinatorial output.
|
||
|
||
E1417: Label XXX (pin ##) specified to be both a JK and DE macrocell.--
|
||
This is usually caused by mismatched extensions for the label XXX.
|
||
|
||
E1418: Label XXX (pin ##) cannot be a combinatorial macrocell.--
|
||
The macrocell at pin ## cannot be configured as a combinatorial output. This
|
||
message is for the MAPL128/144.
|
||
|
||
E1419: Both clock and CE function defined for label XXX (pin ##).--
|
||
A sum term clock and sum term CE cannot be declared for the same label XXX in
|
||
the GAL6001.
|
||
|
||
E1420: label: Declared as both latched and registered input.--
|
||
label is declared to be a latched as well as a registered input.
|
||
|
||
E1421: Pins M-N must be configured to the same input type.--
|
||
For GAL6001 only. The pins M through N must be configured to be the same
|
||
input type.
|
||
|
||
E1423: Pin ## is an output/buried node and cannot be an input.--
|
||
Pin ## is an output with buried feedback. When the output is disabled, there
|
||
is no external input into the AND array.
|
||
|
||
E1424: Too many product terms for output XXX.--
|
||
There are not enough product terms in the device at output XXX to fit the
|
||
given equations. Try specifying the -m flags in OPL2PLA and FITMAPL. In
|
||
addition, attempt to minimize the design using Espresso.
|
||
|
||
E1425: Multiple dedicated output enables declared.--
|
||
More than one dedicated output enables declared. The device has only one
|
||
dedicated OE pin.
|
||
|
||
E1426: Insufficient pin_type pins in device XXX to fit equations.--
|
||
The equations requires more pin_type pins than available in the device XXX.
|
||
pin_type can be input, output or feedback. Either redefine some of your
|
||
signals (possibly using external wiring for feedbacks), or try fitting to a
|
||
different device.
|
||
|
||
E1427: Wrong pin assignment for label XXX (pin ##).--
|
||
The label XXX which is assigned to pin ## is assigned wrongly. For example,
|
||
an active-high output is assigned to an active-low output. Usually this
|
||
message occurs when the label XXX is assigned manually. However, if the label
|
||
was assigned automatically using the -f option, there is a possible internal
|
||
error in EQN2JED. If this is the case, it is advisable to assign the labels
|
||
manually. If you suspect an internal error, please contact your
|
||
representative listed at the front of the manual.
|
||
|
||
E1428: Unable to assign pin_type label XXX.--
|
||
The label XXX cannot be assigned to any pin. Either the device has
|
||
insufficient pin_type pins or there are no matching pins for the label XXX.
|
||
pin_type can be input, output or feedback.
|
||
|
||
E1429: Cannot set pin_type pin for label XXX (pin ##) to VCC or GND.--
|
||
pin_type is clock or output enable.
|
||
|
||
E1430: Label XXX (pin ##) is not an output.--
|
||
nternal error. The label XXX which is assigned to pin ## is not an output.
|
||
Please contact your representative listed at the front of this manual.
|
||
|
||
E1431: Term ## is not a XXX term.--
|
||
Internal error (for MAPL parts only). XXX could be reset or output enable.
|
||
Please contact your representative listed at the front of this manual.
|
||
|
||
E1432: No more OE terms to disable I/O pin ## used as input only.--
|
||
There are no more output enable terms to disable an I/O pin that is used as a
|
||
dedicated input. This error occurs for the MAPL128 and MAPL144 only where we
|
||
have 3 OE terms for 12 I/O pins. You could try different assignments for the
|
||
pins or new equations for the output enables. If you did the pin assignment
|
||
manually, try letting the OPAL software do it for you.
|
||
|
||
W1433: No more OE terms to disable unused I/O pin ##.--
|
||
In the MAPL128, unused I/O pins are disabled by default rather than left
|
||
floating provided there are enough OE terms to do it.
|
||
|
||
E1434: Global XXX equation is invalid.--
|
||
The global equation of type XXX is invalid.
|
||
|
||
E1435: Label XXX (pin ##) is not an input to the AND array.--
|
||
Internal error. The label XXX which is assigned to pin ## is not an input to
|
||
the AND array. Please contact your representative listed at the front of the
|
||
manual.
|
||
|
||
E1436: Out of term_type terms for label XXX (pin ##).--
|
||
There are more terms of type term_type for label XXX in the design than are
|
||
available at pin ##. Examine your design and the device which you are trying
|
||
to fit your design into for requirements and limitations.
|
||
|
||
E1437: label: No type terms at pin ## in device XXX.--
|
||
There are no terms of function type at pin ## in the device XXX for the label.
|
||
type is either a clock or output enable.
|
||
|
||
E1438: label: Pin ## is not a dedicated pin_type pin.--
|
||
Pin ## (assigned to label) is not a dedicated pin of type pin_type.
|
||
|
||
E1439: label: No active low function in device XXX.--
|
||
The active low dot extension equation for label is not available in device
|
||
XXX. Either use a different dot extension or a different device.
|
||
|
||
E1440: Label XXX cannot be assigned to pin ## (pintype).--
|
||
The label XXX cannot be assigned to the pin ## of type pin_type. If the
|
||
pin_type is not given, the pin ## has a configurable macrocell.
|
||
|
||
E1441: Missing assignment operator in equation for output XXX.--
|
||
The assignment operator := or = is missing in the equation for the output XXX.
|
||
|
||
E1442: Equation for label XXX has already been defined.--
|
||
There is more than one equation defined for the same label XXX.
|
||
|
||
E1443: Multiple clocks defined. Device XXX has one clock pin only.--
|
||
There is more than one clock defined in the equations. The device XXX has
|
||
only one dedicated clock pin.
|
||
|
||
E1444: The dedicated OE pin ## in device XXX is active low.--
|
||
The dedicated output enable pin ## in the device XXX is active low.
|
||
|
||
W1445: Dedicated OE pin ## is not an input for the term in XXX.OE.--
|
||
Although there is a dedicated output enable pin, it cannot be used in the
|
||
product term for the signal XXX.OE. If that is necessary for the design, try
|
||
to use an input pin as an output enable and make all of your OE equations
|
||
dependent upon that pin.
|
||
|
||
I1446: Output enable is an AND of a dedicated OE pin and an OE product term.--
|
||
The output enable for the outputs in a 16RA8 or a 20RA10 is the ANDing of a
|
||
dedicated output enable pin with a product term. If you do not want to use
|
||
the OE pin and this message appears, then you may consider connecting the OE
|
||
pin to VCC in the final design.
|
||
|
||
E1447: Conflicting register types for label XXX.--
|
||
There are two or more equations for label XXX with dot extensions which
|
||
conflict in the register types. For example, XXX.d and XXX.j conflict.
|
||
|
||
E1448: Wrong polarity for label XXX (Pin ##).--
|
||
The label XXX cannot be assigned to pin ## due to a polarity mismatch.
|
||
|
||
E1449: Invalid extension(s) ext for type output XXX.--
|
||
There are invalid extensions `ext' for the label XXX of type type.
|
||
|
||
E1450: Label XXX requires an OE, but pin ## does not have one.--
|
||
The label XXX needs an output enable due to the design, but the pin to which
|
||
it has been assigned does not have one. Try assigning it to a different pin
|
||
after you have looked at the device databook.
|
||
|
||
W1451: No test condition for label L. Character X used instead. --
|
||
No test vector conditions were supplied for the label, so it will be treated
|
||
as unknown (for inputs) or dont cares (for outputs).
|
||
|
||
E1452: XXX is expected to be an active-low dedicated OE (pin ##).--
|
||
For the device specified, the dedicated output enable pin is active-low. You
|
||
should define the label XXX to be active-low.
|
||
|
||
E1453: XXX: Latch input not available in device deviceName.--
|
||
Latched inputs were specified on a device that does not supporte them. Either
|
||
select another device, or remove the lached input designation in the original
|
||
design file.
|
||
|
||
E1454: XXX: Register input not available in device deviceName.--
|
||
Registered inputs were specified on a device that does not support them.
|
||
Either select another device, or remove the registered input designation in
|
||
the original design file.
|
||
|
||
E1455: Unknown/Bad vector format in file XXX.--
|
||
The vector format in the file `XXX' does not conform to either the VEC file
|
||
format or the JEDEC test vector format. Please consult Appendicies D and E.
|
||
|
||
E1456: Equations defined for both XXX (pin ##1) and YYY (node ##2).--
|
||
In the GAL6001, equations cannot be defined for both the external output pin
|
||
and its corresponding buried (dual) node which shares the same register.
|
||
|
||
E1457: Same pin assigned to labels 'XXX' and 'YYY'.--
|
||
|
||
9.6 MESSAGES FROM JED2EQN (1800-1999)
|
||
|
||
E1801: Missing JEDEC filename on command line.--
|
||
The input JEDEC filename is missing on the command line. The default
|
||
extension is .jed.
|
||
|
||
E1802: Illegal input mode for GAL6001.--
|
||
The macrocell configuration bits LATCH = 0 and SYN = 1 were specified for an
|
||
input or input/output latch macrocell for the GAL6001 device. This is an
|
||
invalid input mode on the device.
|
||
|
||
E1803: Duplicate label XXX found.--
|
||
There is more than one instance of the label XXX in the NOTE PIN or NOTE NODE
|
||
statements in the JEDEC file.
|
||
|
||
E1804: Device name not found in file XXX.--
|
||
The device name could not be found in the JEDEC file XXX. For the device name
|
||
to be recognized automatically, it must begin with PAL, GAL, PLA, or MAPL, as
|
||
listed in Appendix G. In addition, it must be prior to the first * character
|
||
in the file. You can either specify the device name on the command line, or
|
||
edit the JEDEC file to conform to these requirements.
|
||
|
||
9.7 MESSAGES FROM PAL2GAL (2000-2199)
|
||
|
||
E2001: Device name not found in file XXX.--
|
||
The device name is not found in the JEDEC file XXX. You can either specify
|
||
the device name on the command line with the -d option or edit the JEDEC file
|
||
by placing the device name at the beginning of the file.
|
||
|
||
E2002: Unable to convert PAL device XXX.--
|
||
This module does not support device XXX. Please refer to Section 6.2 for a
|
||
list of PAL devices that can be converted to supported GALs.
|
||
|
||
E2003: Illegal character X in UES string XXX.--
|
||
The UES string specified with the "-u" option on the command line must
|
||
consists of alphanumeric characters only.
|
||
|
||
E2004: Missing PAL JEDEC filename on command line.--
|
||
The program expected the PAL JEDEC filename to be specified on the command
|
||
line. The default extension is .jed.
|
||
|
||
E2005: XXX: Invalid/unsupported GAL specified on command line.--
|
||
The GAL device name specified with the -g option on the command line is either
|
||
invalid or not supported. Please refer to Section 6.2 for a list of supported
|
||
devices.
|
||
|
||
E2006: Cannot convert PALxxxx to GALxxxx.--
|
||
The PAL device PALxxxx cannot be converted to the GAL device GALxxxx. Please
|
||
refer to Section 6.2 for the correct GAL to convert to.
|
||
|
||
9.8 MESSAGES FROM JED2XPT (3400-3600)
|
||
|
||
E3401: Missing JEDEC filename on command line.--
|
||
The input JEDEC filename is missing on the command line. The default
|
||
extension is .eqn.
|
||
|
||
E3402: Device name not found in file XXX.--
|
||
The device name was not found in the JEDEC file XXX. You can either specify
|
||
the device name on the command line with the -d option or edit the JEDEC file
|
||
by placing the device name at the beginning of the file.
|
||
|