******************************** WELCOME TO Atmel-WINCUPL V4.8a ******************************** This README file contains important information about CUPL. For the latest information about CUPL read this entire file. ***************** TABLE OF CONTENTS ***************** 1. How to Get Assistance -- Sources of information 2. Installation -- Installing WINCUPL 3. New Features 4. Important Information 5. ATMEL ATF1500 Fitter Support 6. CUPL Manual 7. CUPL Examples =========================== 1. |HOW TO GET ASSISTANCE | =========================== If you have any problems, please read this file. If you need need assistance, please contact Atmel at: PLD Hotline at (408) 436-4333 E-mail: pld@atmel.com. WEB Homepage: http://www.atmel.com BBS: (408) 436-4309 You can also contact Logical Devices' technical support at: Phone: (303) 722 6868 Fax: (303) 733 6868 E-mail: logdev@henge.com. Web: http:\\www.logical.com When reporting bugs please be detailed as possible, send your PLD source file and indicate the version of Atmel-CUPL/WINCUPL with the problem. ================== 2. |INSTALLATION | ================== To install Atmel-WINCUPL, 1. Put disk 1 in your floppy drive. 2. In Program Manager, choose File|Run. 3. Type A:\SETUP (If your disk drive is not drive A, type the appropriate letter instead.) 4. Choose OK. 5. Follow the instructions on the screen. It is recommended that you install all of the executable files in the default directories. ================== 3. | NEW FEATURES| ================== Atmel-WINCUPL V4.8a includes the following new features: DEVICE SUPPORT -------------- ATF16V8C/ATF22V10C - This version support these new Atmel product. Selecting these device type (E.g. g22v10cp) automatically enables the pin controlled power down feature on these device. WinCUPL will check if your logic is using the power down pin and report an error. ATF1508 - The ATF1508-68PLCC, ATF1508-84PLCC and ATF1508-100QFP devices are now support on this release. Manually pin assignment like the ATF1500/A are not necessary. A device fitter for the ATF1508 is included in this release. BUG FIXES: ---------- Refer to the CUPL_BUG.TXT file included with this version of CUPL for a list of bug fixes. You can obtain the latest version of this file from the Atmel BBS and check it to see if there is a workaround for your particular bug. If you find a bug that is not included in this list, please contact Atmel PLD Applications. CUPL MODULE CHANGES: -------------------- Device Library: Added ATF16V8C/CZ, ATF22V10C/CZ and ATF1500A device support CUPLB: Fixed f1500 device types that had two term equations being demorganized but were not expanded correctly in the pla file. Module now checks is ISP device is select for a design that uses the JTAG port pins. Syntax error point to signal name. CUPLC: Fixed some memory corruption bugs. Changed the v2500b jedec mapping to configure the IO cells better. VSIMA: Fixed some simulation support bugs for the ATF1500 device. BACKPIN: Upgraded version allows for back-annotation of Atmel ATF1500 fitter pin assignments. ONLINE HELP: ------------ On-line help is available. Use to on-line help to obtain information about CUPL syntax, suffix usage, Keywords, How to use Atmel-Wincupl and error messages. To use the On-line help: 1. Run Atmel-WinCUPL 2. In the Atmel-WinCUPL main menu select the Help topic. 3. Click on Index 4. A list of help topic are displayed. You can either browse through these topic list or find help on a particular topic. 5. To find help on a particular topic. Click Search with the Help Menu open Select the help topic to display from the listing FLIP-FLOP SYNTHESIS: -------------------- You can use D,T,JK or RS type flip-flops to capture your design. WINCUPL can automatically convert equations for these flip-flop into equivalent expression for D or T type flip-flops supported by Atmel devices through the REGISTER_SELECT Keyword. This keyword can also be used to allow WINCUPL to automatically choose the appropriate flip-flop type that results in the fewest number of product terms for your design. More information on this Keyword is available in the WINCUPL On-line HELP. Refer to CONVERT.PLD CUPL example. Note that all CUPL example files are located in the EXAMPLES directory. ========================= 4. IMPORTANT INFORMATION ========================= GENERAL: ------- You may notice that some large text files (> 24Kbytes) such as PLD source, simulation input, output and/or fitter report files may fail to open in WINCUPL. You may see an "Out of Memory","Fail to read" of General Protection Fault errors when attempting to view a particular file. If you experience the "Out of Memory" or "Fail to read" error you can still view the file provided that it exists. To view the file: 1. Select DOS PROMPT under the UTILITIES menu in WINCUPL. This will open the DOS prompt in WINCUPL. 2. Type: edit where represents the DOS path to the file. This will invoke the DOS editor to allow the file to be viewed. 3. Type: EXIT from the FILE Menu in the DOS editor. This will exit the DOS editor and return to the DOS prompt 4. Type: EXIT in the DOS prompt. This will close the DOS prompt and return to the WINCUPL main menu. If you see a General Protection Fault (GPF) error, exit WinCUPL and re-run this should correct the problem. This error can also be minimized by having fewer file open during compilation. DEVICE SPECIFICS: ----------------- A. Support has been added for the Atmel ATF16V8C/CZ device. - If you want to enable the pin-controlled power down feature on the Atmel ATF16V8C select the "g16v8cp" device type. Refer to GATES_C.PLD file. Note: If you select this device type, you will need to select the ATF16V8C device with a "EXT" suffix on your programmer device menu listing. - If you want to disable pin-controlled power down feature select "g16v8a" device type. B. If you are generating a simulation file for the g16v8cp device type you must specify pin 4 to be zero. If you do not, WINCUPL will automatically overwrite it to a zero. This is required for functional verification of the ATF16V8C/CZ on the programmer when the pin-controlled power down mode is enabled. C. Support has been added for the Atmel ATF22V10C/CZ device. - If you want to enable the pin-controlled power down feature select either the "g22v10cp" or "g22v10cplcc" device types for DIP or PLCC packages respectively. Refer to LOOKUP.PLD file. Note: If you select this device type, you will need to select the ATF22V10C device with a "EXT" suffix" on your programmer device menu listing. - If you want to disable the pin-controlled power down feature select either the "g22v10" or "g22v10lcc" device types. Note: If you select this device type, you may need to select the ATF22V10C device with a "U" or "UES" suffix on your programmer device menu listing. D. If you are generating a simulation file for the g22v10cp or g22v10cplcc device types you must specify pin 4 for DIP or pin 5 for PLCC to be zero. If you do not, WINCUPL will automatically overwrite it to a zero. This is required for functional verification of the ATF22V10C/CZ on the programmer when the pin-controlled power down mode is enabled. Refer to CUPL_BUG.TXT for bug information. E. Support has been added for the ATF1500A device. This device allows the Bus-friendly Pin Keeper circuits to be enabled or disabled. The pin keeper circuit will weakly hold all outputs to their previoulsy defined states when the outputs are disabled. The pin-keeper circuits are easily overdriven when the ouputs are enabled. When this feature is disabled all output will float when tri-stated. Note: Pin Keeper circuits are also available on the ATF1500 devices, but they cannot be disabled. Refer to the "Atmel PLD Design Guidelines" applications note on information on the pin-keeper circuits. You can enable of disable the pin-keeper circuits by using the CUPL property statement. 1. To Disable this Feature: In your PLD source file add the line: PROPERTY ATMEL { pin_keep OFF }; and re-compile your design for either the F1500A or F1500AT device types. The fitter will automatically create a JEDEC file which when programming into the ATF1500A device will disable the pin-keeper circuits. 2. To Enable this feature: PROPERTY ATMEL { pin_keep ON }; /* This is the default condition, so this statement can be omitted */ Refer to PINKEEP.PLD CUPL example. F. Security Bit You can secure your ATF1500A designs by programming the security bit. To secure a design 1. Select either the F1500A or F1500AT device type 2. In you PLD source file add the line: PROPERTY ATMEL { security ON }; and re-compile your design. The fitter will automatically create a JEDEC file which, when programmed into the ATF1500A device, will secure the device. Note that some programmers require you to manually enable the security bit via their menu options (regardless of whether the security bit is enabled in the JEDEC file). Refer to PINKEEP.PLD CUPL example. G. For ATF1500/A designs, the Atmel ATF1500 fitter can generate pin assignments for you and WINCUPL can automatically back-annotate them into your PLD source file. It you are interested in using this feature do the following: 1. Generate your PLD source file for the ATF1500/A without pin assignments. 2. Compile the design in WINCUPL. The fitter will run automatically. 3. Run the BACKPIN utility. In the DOS prompt, Type: backpin The is the appropriate CUPL ATF1500 device type For example: f1500, f1500t, f1500a, f1500at The is the (*.pld) PLD source file which describes your design. The BACKPIN utility reads a pin assignment file (*.plc file) automatically generated by the Atmel ATF1500 fitter and produces a new PLD source file (*.pld file). The new source file will have the fitter pin assignments back- annotated within it. Backpin will automatically make a backup copy of the original source file. This file is named using the (*.bak) suffix. 4. In the new source file include this line: PROPERTY ATMEL {PREASSIGN KEEP}; The KEEP fitter pre-assignment property allows you to fix your pin assignments in your PLD source file, whether generated automatically by BACKPIN or manually. 5. Re-save the PLD source file. 6. Re-compile the PLD source File in WINCUPL. H. For ATF1508 design WinCUPL support two device types. One device type disables the JTAG port, and allow design that use the JTAG port pin to be programmed once. The other device type enables the JTAG port and allow design that DO NOT use the JTAG port pin to be programmed. If you plan to program the ATF1508 using In-System Programming (ISP) you must choose the ISP device type. If you select an ISP device type for a design that uses the JTAG port pin WinCUPL will generate an error. See table below for ATF1508 WinCUPL Device types Table 1- WINCUPL ATF1508 Device Types ------------------------------------------------------- |Device | JTAG Port | WINCUPL Device Type | ----------------------------------------------------- |ATF1508 -68PLCC | Enabled | f1508ispplcc68 | | | Disabled | f1508plcc68 | ------------------------------------------------------- |ATF1508 -84PLCC | Enabled | f1508ispplcc84 | | | Disabled | f1508plcc84 | ------------------------------------------------------- |ATF1508 -100QFP | Enabled | f1508ispqfp100 | | | Disabled | f1508qfp100 | ------------------------------------------------------- The information in Table 1 above is subject to change as new device are added contact Atmel PLD Applications for the latest information. ================================== 5. | Atmel ATF1500 Fitter Support| ================================== This version of Atmel-CUPL includes the Atmel ATF1500 device fitter (V2.32) CUPL will automatically run this fitter when compiling ATF1500 designs. If you need a later version of this fitter download the FIT1500.ZIP file from the Atmel BBS. A fitter macro file FIT1500.M has also been included in this version. This macro file allows you to specify commonly used fitter properties in your PLD source file. More information on the Atmel ATF1500 device fitter, it properties and macro support is provided in the ATF1500 CPLD Fitter Manual available from your local Atmel representative. The manual is also available for download from Atmel BBS or Web (Please call the Atmel PLD Hotline for more information.). Note: Property statements are used to control the following ATF1500 features: - preassign = [ TRY | keep | ignore ] - optimize = [ ON | off ] - soft_buffer [ OFF | on | = node1, node2...] - xor_synthesis [ OFF | on | = pin1, pin2...] - cascade_logic [ ON | off | = pin1, pin2...] - foldback_logic [ ON | off | = node1, pin2...] - expander [ = node1, node2... ] (inverted) - output_fast [ on | OFF | = pin1, pin2, ..] - dedicated_input [ ON | off | = pin1, pin2...] - security = [ OFF | on ] - pin_keep = [ ON | off ] - sleep [ OFF | on | = pin_name ] (power_down mode) - jedec_file = file_name - vector_file = file_name - verilog_file = file_name - tPD = [ 15 | 7 | 10 | 12 | 25 ] - time_file = file_name The option in uppercase is the default condition. Please refer to the FIT1500.M file in the WINCUPL\EXAMPLES directory for for information. ============================= 6. | ATF1508 Fitter Support | ============================= This version of Atmel-CUPL includes the Atmel ATF1508 device fitter (V1.7) CUPL will automatically run this fitter when compiling ATF1508 designs. This fitter version is a pre-release version and future updates will occur. Contact Atmel PLD applications for the latest version. Note: Property statement are used to control all ATF1508 fitter strategies shown below. -strategy preassign = [ TRY | keep | ignore ] -strategy optimize = [ ON | off ] -strategy soft_buffer [ OFF | on | = node1, node2...] -strategy xor_synthesis [ OFF | on | = pin1, pin2...] -strategy cascade_logic [ ON | off | = pin1, pin2...] -strategy foldback_logic [ ON | off | = node1, pin2...] -strategy expander [ = node1, node2... ] (inverted) -strategy output_fast [ on | OFF | = pin1, pin2, ..] -strategy dedicated_input [ ON | off | = pin1, pin2...] -strategy security = [ OFF | on ] -strategy pin_keep = [ ON | off ] -strategy jedec_file = file_name -strategy vector_file = file_name -strategy verilog_file = file_name -strategy tPD = [ 15 | 7 | 10 | 12 | 25 ] -strategy time_file = file_name -strategy pd1 [ OFF | on | = pin_name ] (power down 1) -strategy pd2 [ OFF | on | = pin_name ] (power down 2) -strategy power_reset = [ OFF | on ] -strategy MC_power [ OFF | on | = pin1, pin2...] -strategy open_collector [ OFF | on | = pin1, pin2...] -strategy fast_inlatch [ ON | off | = pin1, pin2...] -strategy JTAG = [ OFF | on ] -strategy TDI_pullup = [ OFF | on ] -strategy TMS_pullup = [ OFF | on ] =================== 7. | CUPL Examples| =================== Atmel-WinCUPL has several example file that you can try out to become familiar with the syntax and capabilites of WinCUPL. The example files are installed in the EXAMPLES subdirectory. The EXAMPLES.TXT included in this directory also gives a description for all the examples.