ABEL/CUPL Design File Conversion. Application Note. Converting ABEL Design Files to CUPL. Background for ABEL and CUPL



Similar documents
8-bit Microcontroller. Application Note. AVR400: Low Cost A/D Converter

AT89C5131A Starter Kit... Software User Guide

8-bit Microcontroller. Application Note. AVR222: 8-point Moving Average Filter

AVR106: C functions for reading and writing to Flash memory. 8-bit Microcontrollers. Application Note. Features. Introduction

8-bit RISC Microcontroller. Application Note. AVR236: CRC Check of Program Memory

AVR317: Using the Master SPI Mode of the USART module. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR319: Using the USI module for SPI communication. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR305: Half Duplex Compact Software UART. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

General Porting Considerations. Memory EEPROM XRAM

8-bit RISC Microcontroller. Application Note. AVR182: Zero Cross Detector

8-bit Microcontroller. Application Note. AVR105: Power Efficient High Endurance Parameter Storage in Flash Memory

AVR134: Real Time Clock (RTC) using the Asynchronous Timer. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

How to Calculate the Capacitor of the Reset Input of a C51 Microcontroller 80C51. Application Note. Microcontrollers. Introduction

8-bit Microcontroller. Application Note. AVR201: Using the AVR Hardware Multiplier

AT91 ARM Thumb Microcontrollers. Application Note. Interfacing a PC Card to an AT91RM9200-DK. Introduction. Hardware Interface

Application Note. C51 Bootloaders. C51 General Information about Bootloader and In System Programming. Overview. Abreviations

8-bit Microcontroller. Application Note. AVR314: DTMF Generator

8-bit Microcontroller. Application. Note. AVR204: BCD Arithmetics. Features. Introduction. 16-bit Binary to 5-digit BCD Conversion bin2bcd16

8-bit Microcontroller. Application Note. AVR415: RC5 IR Remote Control Transmitter. Features. Introduction. Figure 1.

Tag Tuning/RFID. Application Note. Tag Tuning. Introduction. Antenna Equivalent Circuit

8-bit Microcontroller. Application Note. AVR461: Quick Start Guide for the Embedded Internet Toolkit. Introduction. System Requirements

Quick Start Guide. CAN Microcontrollers. ATADAPCAN01 - STK501 CAN Extension. Requirements

AVR034: Mixing C and Assembly Code with IAR Embedded Workbench for AVR. 8-bit Microcontroller. Application Note. Features.

AVR030: Getting Started with IAR Embedded Workbench for Atmel AVR. 8-bit Microcontrollers. Application Note. Features.

8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation.

USB Test Environment ATUSBTEST- SS7400. Summary

AVR245: Code Lock with 4x4 Keypad and I2C LCD. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR241: Direct driving of LCD display using general IO. 8-bit Microcontrollers. Application Note. Features. Introduction AVR

ATF15xx Product Family Conversion. Application Note. ATF15xx Product Family Conversion. Introduction

AVR32110: Using the AVR32 Timer/Counter. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

AT91 ARM Thumb Microcontrollers. AT91SAM CAN Bootloader. AT91SAM CAN Bootloader User Notes. 1. Description. 2. Key Features

AVR32100: Using the AVR32 USART. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR120: Characterization and Calibration of the ADC on an AVR. 8-bit Microcontrollers. Application Note. Features. Introduction

Application Note. USB Mass Storage Device Implementation. USB Microcontrollers. References. Abbreviations. Supported Controllers

3-output Laser Driver for HD-DVD/ Blu-ray/DVD/ CD-ROM ATR0885. Preliminary. Summary

AVR442: PC Fan Control using ATtiny13. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

DIP Top View VCC A16 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 I/O0 I/O1 I/O2 GND A17 A14 A13 A8 A9 A11 A10 I/O7 I/O6 I/O5 I/O4 I/O3. PLCC Top View VCC A17

Application Note. 8-bit Microcontrollers. AVR280: USB Host CDC Demonstration. 1. Introduction

USB 2.0 Full-Speed Host/Function Processor AT43USB370. Summary. Features. Overview

Application Note. Migrating from RS-232 to USB Bridge Specification USB Microcontrollers. Doc Control. References. Abbreviations

AVR1600: Using the XMEGA Quadrature Decoder. 8-bit Microcontrollers. Application Note. Features. 1 Introduction. Sensors

How To Prevent Power Supply Corruption On An 8Bit Microcontroller From Overheating

AVR32701: AVR32AP7 USB Performance. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

ATF1500AS Device Family. Application Note. In-System Programming of Atmel ATF1500AS Devices on the HP3070. Introduction.

8-bit. Application Note. Microcontrollers. AVR282: USB Firmware Upgrade for AT90USB

Table of Contents. Section 1 Introduction Section 2 Getting Started Section 3 Hardware Description

8-bit RISC Microcontroller. Application Note. AVR155: Accessing an I 2 C LCD Display using the AVR 2-wire Serial Interface

AVR1309: Using the XMEGA SPI. 8-bit Microcontrollers. Application Note. Features. 1 Introduction SCK MOSI MISO SS

AVR1318: Using the XMEGA built-in AES accelerator. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR115: Data Logging with Atmel File System on ATmega32U4. Microcontrollers. Application Note. 1 Introduction. Atmel

Memory Elements. Combinational logic cannot remember

Two-wire Automotive Serial EEPROM AT24C01A AT24C02 AT24C04 AT24C08 (1) AT24C16 (2)

AVR033: Getting Started with the CodeVisionAVR C Compiler. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

2-wire Serial EEPROM AT24C1024. Advance Information

AVR1900: Getting started with ATxmega128A1 on STK bit Microcontrollers. Application Note. 1 Introduction

Using CryptoMemory in Full I 2 C Compliant Mode. Using CryptoMemory in Full I 2 C Compliant Mode AT88SC0104CA AT88SC0204CA AT88SC0404CA AT88SC0808CA

2-Wire Serial EEPROM AT24C32 AT24C64. 2-Wire, 32K Serial E 2 PROM. Features. Description. Pin Configurations. 32K (4096 x 8) 64K (8192 x 8)

AVR318: Dallas 1-Wire master. 8-bit Microcontrollers. Application Note. Features. Introduction

LAB #4 Sequential Logic, Latches, Flip-Flops, Shift Registers, and Counters

Application Note. 8-bit Microcontrollers. AVR270: USB Mouse Demonstration

AT86RF230 (2450 MHz band) Radio Transceiver... User Guide

AVR1922: Xplain Board Controller Firmware. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Step Motor Controller. Application Note. AVR360: Step Motor Controller. Theory of Operation. Features. Introduction

Application Note. 8-bit Microcontrollers. AVR091: Replacing AT90S2313 by ATtiny2313. Features. Introduction

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

256K (32K x 8) OTP EPROM AT27C256R 256K EPROM. Features. Description. Pin Configurations

ABEL Design Manual. Version 8.0. Technical Support Line: LATTICE DSNEXP-ABL-RM Rev 8.0.2

AVR353: Voltage Reference Calibration and Voltage ADC Usage. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

8-bit Microcontroller. Application Note. AVR410: RC5 IR Remote Control Receiver

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

AVR068: STK500 Communication Protocol. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AT91 ARM Thumb Microcontrollers. Application Note. GNU-Based Software Development on AT91SAM Microcontrollers. 1. Introduction. 2.

AVR1301: Using the XMEGA DAC. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Lecture 8: Synchronous Digital Systems

Two-wire Serial EEPROM AT24C1024 (1)

32-bit AVR UC3 Microcontrollers. 32-bit AtmelAVR Application Note. AVR32769: How to Compile the standalone AVR32 Software Framework in AVR32 Studio V2

Module 3: Floyd, Digital Fundamental

Upon completion of unit 1.1, students will be able to

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

Digital Electronics Detailed Outline

AVR444: Sensorless control of 3-phase brushless DC motors. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Contents COUNTER. Unit III- Counters

Digital Logic Design Sequential circuits

Flip-Flops and Sequential Circuit Design. ECE 152A Winter 2012

Flip-Flops and Sequential Circuit Design

Lecture-3 MEMORY: Development of Memory:

Design Verification & Testing Design for Testability and Scan

Counters and Decoders

BINARY CODED DECIMAL: B.C.D.

Chapter 7. Registers & Register Transfers. J.J. Shann. J. J. Shann

More Verilog. 8-bit Register with Synchronous Reset. Shift Register Example. N-bit Register with Asynchronous Reset.

Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

ECE232: Hardware Organization and Design. Part 3: Verilog Tutorial. Basic Verilog

Introduction to Atmel ATF16V8C. Designing with the CUPL Language

Atmel AVR4903: ASF - USB Device HID Mouse Application. Atmel Microcontrollers. Application Note. Features. 1 Introduction

Lesson 12 Sequential Circuits: Flip-Flops

Application Note. 8-bit Microcontrollers. AVR307: Half Duplex UART Using the USI Module

2-wire Serial EEPROM AT24C512

AVR287: USB Host HID and Mass Storage Demonstration. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Transcription:

Converting ABEL Design Files to CUPL This application note is intended to assist users in converting designs written in ABEL- HDL language to CUPL. It also includes an example in ABEL and equivalent representation in CUPL. Atmel no longer offers ABEL compilers. Instead users are encouraged to convert their designs to CUPL and use Atmel Design software tools such as Atmel-WinCUPL or ProChip Designer. Background for ABEL and CUPL ABEL-HDL and CUPL-HDL are behavioral design languages used to describe logic circuits at a high level. ABEL evolved over the eighties and early nineties as a language that was written to take advantage of the architectural features of an EPLD. As late as 1995, Atmel continued to offer ABEL V5.1 (DOS-based program). This required a Dongle (Key from Data I/O Corp. WA) to be plugged into the parallel port of a PC. Subsequently, Atmel offered an EDA package called Atmel-Synario that included a windows version of the ABEL compiler until the year 2000. Atmel-Synario V4.11 was an OEM version specific for Atmel EPLDs and ABEL 6.5 (windows version) was the last version of ABEL-HDL offered by Atmel as part of this package. Subsequently, Data I/O spun off Synario as an EDA company and a little later Synario's assets became a part of MINC Inc., another EDA Company. MINC then re-sold specific tools from the Synario package to Xilinx,Inc. Logical Devices, Inc. developed CUPL and the structure of the language has not changed much for the last two decades. Atmel offered a DOS version of CUPL until the late nineties. The most recent DOS version of Atmel-WinCUPL shipped by Atmel was Rev 4.8. Subsequently a windows version of CUPL (Rev 5.x) was offered and called Atmel-WinCUPL. ABEL/CUPL Design File Conversion Application Note Rev. 1

Compiler and Tool Options Process of Conversion of an ABEL Example File to CUPL Description of Example The CUPL compiler is available in Atmel-WinCUPL Version 5.2.16 software as well as part of Atmel-ProChip Designer that uses a Third Party tool from Altium called Design Explorer 99SE. Forsimpledesigns,usersareencouragedtouseAtmel-WinCUPLwhichisafreetool and available for download from Atmel's website. The ABEL compiler (Rev. 6.5) used to compile the ABEL example was part of Atmel- Synario Version 4.11 software, which is no longer offered. The conversion is presented in the form of a Table (Table 1) and shows comparative implementation in ABEL and CUPL. Users can first go through this example and then refer to Overview of Syntax Differences between ABEL and CUPL on page 7 for Syntax details. Simulation files are not required for every design unless users specifically want to functionally generate a set of Test Vectors that can be applied on a Third Party Programmer hardware. The process of writing Test vector files is listed in the section titled Converting an ABEL Simulation Input File to CUPL on page 5. Please note that in ABEL, it is possible to include Test vectors as part of the main source file. The ABEL compiler will then extract the test vectors (.TMV) for simulation purposes and to append the test vectors to the Jedec file. The following example in Table 1 shows how to implement a 4-bit loadable counter that can count up (from 0-15 in decimal mode) as well as count down (15-0). In this example, the counter resets to zero if rst is one. If ld is set, then the output (q3..q0) will be set to the input (d3..d0). If cnten is set, then the counter is enabled and will count up/down depending on the state of u_d (control pin). If cnten is not set the output will be held to the last count. 2 ABEL/CUPL Design File Conversion

ABEL/CUPL Design File Conversion Table 1. 4-bit Loadable Counter Implementation ABEL Source File (.ABL) Module unicnt Interface (d3..d0, clk, rst, cnten, ld, u_d -> q3..q0); Title '4 bit counter with load, reset, count up, count down'; //Constants X, C, Z =.X.,.C.,.Z. ; //Inputs d3..d0 pin; clk pin; rst pin; cnten pin; ld pin; u_d pin; //Output q3..q0 pin is_type 'reg'; //Counter output, user can choose reg_d to select //D type registers or reg_t for T-type Registers. //Sets data = [d3..d0]; //Data Set count = [q3..q0]; //Counter Set // Forming group of signals into a vector MODE = [cnten,ld,u_d]; // Selecting different modes base on vector values // possible values are 0, 1, or don't cares LOAD = (MODE==[X,1,X]); HOLD = (MODE==[0,0,X]); UP = (MODE == [1, 0, 1]); DOWN=(MODE==[1,0,0]); CUPL Source File (.pld) Name counter; PartNo 00 ; Date 6/30/02; Revision 01; Designer Engineer; Company XYZ; Assembly ; Location San Jose; Device virtual; /*See Table 6 for description of each field in the header section*/ /* Input */ pin = [d3..0]; pin = clk; pin = rst; pin = cnten; pin = ld; pin = u_d; /* Output */ pin = [q3..0]; /* Data Set */ field data = [d3..0]; field count = [q3..0]; /* field is a way to group a set of signals */ /* Forming a group of signals into a vector */ field MODE = [cnten,ld,u_d]; /* Selecting different modes based on vector values possible values are 0, 1, or don't cares */ load = MODE:'b'X1X; hold = MODE:'b'00X; up = MODE:'b'101; down = MODE:'b'100; 3

Table 1. 4-bit Loadable Counter Implementation (Continued) ABEL Source File (.ABL) Equations when LOAD then count := data; // Abel does things sequentially else when UP then count := count + 1; // Count up logic else when DOWN then count := count - 1; // Count down logic else when HOLD then count := count; // Hold otherwise count.clk = clk; // Assign Flip-Flop clock pin count.ar = rst; // Assign asynchronous reset for Flip-Flop END unicnt //This specifies the end of the //equations section of the module ABEL Test Vectors test_vectors ([clk, rst, cnten, ld, u_d, data] -> count) [.c., 1, 0, 0, 0, 0] -> 0; [.c., 0, 0, 1, 0, 8] ->8 ; [.c., 0, 1, 0, 1, 8] -> 9; [.c., 0, 1, 0, 1, 8] -> 10; [.c., 0, 1, 0, 1, 8] -> 11; [.c., 0, 1, 0, 1, 8] -> 12; [.c., 0, 0, 1, 0, 15] -> 15; [.c., 0, 1, 0, 0, 15] -> 14; [.c., 0, 1, 0, 0, 15] -> 13; [.c., 0, 1, 0, 0, 15] -> 12; [.c., 1, 0, 0, 0, 15] -> 0; // The abel test vectors can be included in the source code file(.abl). See Converting an ABEL Simulation Input File to CUPL on page 5 for further information. CUPL Source File (.pld) /* The following will create a Moore FSM where the output will be a function of the state */ SequenceD count { /* Explicitly choose D-FF, */ $REPEAT i = [0..15] /* This macro will expand from 0 to 15 */ Present 'h'{i} /* similar to case statement for each state */ If!load & up Next 'h'{(i+1)%16}; /* Logic for count up */ If!load & down Next 'h'{((i-1)+16)%16}; /* Logic for count down */ If!load & hold Next 'h'{i}; /* Logic for hold */ $REPEND} APPEND count.d = load & data; /* This is when we want to load */ count.ar = rst; /* Asynchronous reset */ count.ck = clk; CUPL Test Vectors CUPL test vectors cannot be part of the Source file. A separate (.si) file must be created as described on page 5. See Converting an ABEL Simulation Input File to CUPL on page 5 for further information. 4 ABEL/CUPL Design File Conversion

ABEL/CUPL Design File Conversion Converting an ABEL Simulation Input File to CUPL CUPL This section describes the features of ABEL and CUPL Simulation input files and the process of converting an ABEL Simulation input file to a CUPL file. Test vectors must be created for the simulator to function and they specify the expected functional operation of a PLD by defining the outputs as a function of the inputs. Test vectors are also used to do functional testing of a device once it has been programmed, to see if the device functions as expected. There are two tools within Atmel-WinCUPL that can be used to simulate the test vectors. WinSim is a windows-based graphical tool used for creating and editing simulator (.si) input files and for displaying the results of the simulation in the form of a waveform. The CUPL simulator requires that a CUPL source file be successfully compiled prior to running simulation. The CUPL compiler generates an intermediate file (with extension.abs) that is used by the simulator to run functional simulation. CSIM is a device-specific simulator and VSIM is a virtual simulator (virtual device) that is text-based and inherently a DOS process. A test specification source file (filename.si) is the input to CSIM/VSIM. The ATF15xx family of Atmel devices only runs VSIM. The source file may be created using a standard text editor in non-document mode. The source specification file contains three major parts: header information and title block, ORDER statement and a VECTORS statement. A.si file must have the same header information as.pld (source) to ensure that the proper files, including current revision level, are being compared against each other. Therefore, first copy.pld to.si and then use a text editor to delete everything in.si, except the header and title block. ABEL There are two ways to specify test vectors. The most common method is to place test vectors in the ABEL source file. If the user decides to use this method, the Project Navigator (Atmel-Synario) will detect the presence of test vectors in the source file and create a dummy test vector file. This file indicates to the system that the actual test vectors are in the ABEL source file. The other way to specify test vectors is to create a real test vector file by selecting the "New" menu item in the Source menu and then choosing test vectors. Note that test vector files have the.abv file extension and must have the same name as the top-level module. The user must use the Module and End statements exactly as he does when creatinganabelsourcefile. Table 2 shows comparative implementation of describing test vectors for ABEL simulation (.ABV) and CUPL simulation (.SI) for the 4-bit counter. 5

Table 2. Test Vector Description Counter.abv Module unicnt "Constants X, C, Z =.X.,.C.,.Z.; //Inputs d3..d0 pin; clk pin; rst pin; cnten pin; ld pin; u_d pin; //Output q3..q0 pin istype 'reg'; //Counter output, //Sets data = [d3..d0]; //Data Set count = [q3..q0]; //Counter Set test_vectors ([clk, rst, cnten, ld, u_d, data] -> count) [.c., 1, 0, 0, 0, 0] -> 0; [.c., 0, 0, 1, 0, 8] -> 8; [.c., 0, 1, 0, 1, 8] -> 9; [.c., 0, 1, 0, 1, 8] -> 10; [.c., 0, 1, 0, 1, 8] -> 11; [.c., 0, 1, 0, 1, 8] -> 12; [.c., 0, 0, 1, 0, 15] -> 15; [.c., 0, 1, 0, 0, 15] -> 14; [.c., 0, 1, 0, 0, 15] -> 13; [.c., 0, 1, 0, 0, 15] -> 12; [.c., 1, 0, 0, 0, 15] -> 0; End Counter.si Name counter; PartNo 00 ; Date 6/30/02 ; Revision 01 ; Designer Engineer ; Company XYZ ; Assembly ; Location San Jose; Device virtual ; ORDER: clk, rst, cnten, ld, u_d, d3, d2, d1, d0, q3, q2, q1, q0; VECTORS: c 1000 0000 LLLL c 0010 1000 HLLL c 0101 1000 HLLH c 0101 1000 HLHL c 0101 1000 HLHH c 0101 1000 HHLL c 0010 1111 HHHH c 0100 1111 HHHL c 0100 1111 HHLH c 0100 1111 HHLL c 1000 1111 LLLL 6 ABEL/CUPL Design File Conversion

ABEL/CUPL Design File Conversion Overview of Syntax Differences between ABEL and CUPL Reserved Identifiers (Keywords) The following section includes various tables that show the syntax differences between the two languages pertaining to extensions, operators and keywords. Table 3. Syntax Differences ABEL Keyword ASYNCH_RESET CASE DECLARATIONS DEVICE ELSE END } ENDCASE } ENDWITH EQUATIONS EXTERNAL FLAG (OBSELETE) FUNCTIONAL_BLOCK FUSES GOTO IF IN INTERFACE CUPL Keyword IF (in a CONDITION statement) PARTNO ELSE FUSES PRESENT, NEXT IF (In a CONDITION statement) ISTYPE Note 1 LIBRARY MACRO MODULE NODE OPTIONS PIN FUNCTION NODE/PINNODE PIN PROPERTY PROPERTY (Note 2) STATE STATE_DIAGRAM STATE_REGISTER SYNC_RESET TEST_VECTORS THEN PRESENT and $DEFINE SEQUENCE No equivalent but can be achieved with FIELD Generated.SI file NEXT 7

Table 3. Syntax Differences (Continued) ABEL Keyword TITLE TRACE TRUTH_TABLE WHEN WITH NAME TABLE No equivalent but can be replaced by CONDITION {} Notes: 1. Instead of using ISTYPE in ABEL, one can use a suitable extension in CUPL. Extensions such as.d (specify input to a D-type flip flop) can be used with any pin name. The compiler will determine whether it is valid. The ISTYPE statement defines attributes (characteristics) of signals (pins and nodes) in ABEL. Please refer to Table 4 for further details on ATTRIBUTES. The user should use signal attributes to remove ambiguities in architecture-independent designs. Even when a device has been specified, using attributes ensures that the design operates consistently if the device is changed later. 2. Property statements are used specifically for the ATF1500A and the ATF15xx family of devices to describe specific feature of the device that can be used by the Device Fitter to generate the appropriate FITTER and Jedec files. For Example: Atmel-ABEL defines such as: ATMEL property 'DEDICATED_INPUT ON'; Atmel-CUPL defines such as: Property ATMEL {DEDICATED_INPUT ON}; Table 4. Attributes Table Signal Attributes 'buffer' 'collapse' 'com' 'dc' 'invert' 'keep' Description No Inverter in Target Device Collapse (remove) this signal Combinational output Unspecified logic is don't care Inverter in Target Device Do not collapse this signal from equations 'neg' Unspecified logic is 1 'pos' Unspecified logic is 0. 'retain' 'reg' 'reg_d' 'reg_g' 'reg_jk' 'reg_sr' 'reg_t' 'xor' CUPL Keyword Do not minimize this output. Preserve redundant product terms Clocked Memory Element D Flip-flop Clocked Memory Element D Flip-flop Gated Clocked Memory Element JK Flip-flop Clocked Memory Element SR Flip-flop Clocked Memory Element T Flip-flop Clocked Memory Element XOR Gate in Target Device 8 ABEL/CUPL Design File Conversion

ABEL/CUPL Design File Conversion Comments in ABEL and CUPL Number Representation in Different Bases Header Information Keywords ABEL: Comments begin with a double quotation mark (") or double forward slash (//). CUPL: Comments begin with /* and end with */. Table 5. Number Representation in Different Bases Base Name Base ABEL Symbol CUPL Binary 2 ^b b Octal 8 ^o o Decimal 10 ^d d Hexadecimal 16 ^h h Table 6. Header Information Keywords ABEL CUPL Description Module Name Just a filename. Title Partno Revision Date Used to give a title or description for the module. (Optional) The part number for the particular PLD design. Begin with 01 when first creating a file and increment each time a file is altered. Change to the current date each time a source file is altered. Designer Specify the designer's name. Company Specify the company's name. Assembly Give the assembly name or number of the PC board. Location The abbreviation LOC can be used. Device Used to set the default device type for the compilation. Logical Operator Table 7. Logical Operator ABEL CUPL Description!! NOT (ones complement) & & AND # # OR $ $ XOR (exclusive OR)!$!$ XNOR(exclusiveNOR) 9

Arithmetic Operators CUPL arithmetic operators can only be used inside $REPEAT and $MACRO blocks. Table 8. Arithmetic Operators ABEL CUPL Description - - Subtraction + + Addition * * Multiplication / / Division % % Modulus << Shift left by bits >> Shift right by bits Relational Operators Table 9. Relational Operators ABEL CUPL Description == Equal! = Not equal < Less than <= Less than or equal > Greater than >= Greater than or equal Assignment Operators Table 10. Assignment Operators ABEL CUPL Set Description = = ON(1) Combinational or detailed assignment : = = ON(1) Implied registered assignment? = DC(X) Combinational or detailed assignment?:= DC(X) Implied registered assignment?:= DC(X) Implied registered assignment 10 ABEL/CUPL Design File Conversion

ABEL/CUPL Design File Conversion Operator Priority Table 11. Operator Priority ABEL CUPL Priority Description - 1 Negate!! 1 NOT & & 2 AND << 2 Shift left >> 2 Shift right * * 2 Multiply / / 2 Unsigned division % % 2 Modulus + + 3 Add - - 3 Subtract # # 3 OR $ $ 3/4 XOR: exclusive OR!$ 3 XNOR: exclusive NOR == 4 Equal!= 4 Not equal < 4 Less than <= 4 Less than or equal > 4 Greater than >= 4 Greater than or equal Dot Extension The dot extensions valid for pins or specific signals in CUPL as well as ABEL are listed in Table 12. Table 12. Dot Extension ABEL CUPL Description.ACLR Asynchronous clear.aset Asynchronous set.clk.ck Clock input to an edge-triggered flip-flop.clr Synchronous clear.com.oe.oe Output enable.pin Pin feedback.set Synchronous set.ap.ap Asynchronous preset.ar.ar Asynchronous reset Combinational feedback normalized to the pin value 11

Table 12. Dot Extension (Continued) ABEL CUPL Description.CE.CE Clock-enable input to a gated-clock flip-flop.d.d Data input to a D-type flip-flop.j.j J input to a JK-type flop-flop.k.k K input to a JK-type flip-flop.ld Register load input.le Latch-enable input to a latch.lh.le Latch-enable (high) to a latch.pr.pr Register preset.q Register feedback.r.r R input to an SR-type flip-flop.re Register reset.s.s S input to an SR-type flip-flop.sp.sp Synchronous register preset.sr.sr Synchronous register reset.t.t T input to a T-type (toggle) flip-flop Note 1.CKMUX Clock multiplexer selection.fb (Note 2).DFB D registered feedback path selection.q (Note 2).DQ Q output of D-type flip-flop.int Internal feedback path for registered macro cell.io Pin feedback path selection.iock Clock for pin feedback register.iod Pin feedback path through D register.iol Pin feedback path through latch.l D input of transparent latch.lemux Latch enable multiplexer selection.lfb Latched feedback path selection.lq Q output of transparent input latch.oemux Tri-state multiplexer selection.tfb T registered feedback path selection Notes: 1. The.CKMUX dot extension used in CUPL is specific to the Atmel ATV750B and ATF750C devices. The.CKMUX extension is used to connect the clock input of a register to the Synchronous clock pin. This is needed because some devices have a multiplexer for connecting the clock to one set of pins. 2..DFB and.dq on CUPL are only used for D-type flip-flop. However,.FB and.q in ABEL can be used for any type of flip-flops such as D, T, JK, SR flip-flops. 12 ABEL/CUPL Design File Conversion

ABEL/CUPL Design File Conversion Extensions Applicable for Atmel EPLD Devices Table 13 lists specific extensions valid for Atmel EPLD devices. Table 13. Valid Atmel EPLD Device Extensions Atmel PLDs ATF16V8B/BQ/BQL ATF16V8C/CZ ATF20V8B/BQ/BQL ATF20V8C/CQ/CQZ ATF22V10C/CQ/CQZ ATF22LV10C/CZ/CQZ ATV750/L ATV750B/BL ATF750C/CL/LVC/LVCL ATF1500A/AL/ABV ATV2500B/BL/BQ/BQL ATF2500C/CQ/CQL ATF1502AS/ASL/ASV/ASVL ATF1504AS/ASL/ASV/ASVL ATF1508AS/ASL/ASV/ASVL Valid Extensions OE, D OE, D, AR, SP D, AR, CK, OE, SP, DFB, IO D,T,AR,CK,CKMUZ,OE,SP,DFB,IO D, AR, CK, CE, OE, AP, IO, T, L, LE D, T, AR, CK, OE, SP, IO, CE D, T, S, R, OE, OEMUX, CK, CKMUX, AR, DQ, LQ, IO 13

Atmel Headquarters Corporate Headquarters 2325 Orchard Parkway San Jose, CA 95131 TEL 1(408) 441-0311 FAX 1(408) 487-2600 Europe Atmel Sarl Route des Arsenaux 41 Case Postale 80 CH-1705 Fribourg Switzerland TEL (41) 26-426-5555 FAX (41) 26-426-5500 Asia Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimshatsui East Kowloon Hong Kong TEL (852) 2721-9778 FAX (852) 2722-1369 Japan 9F, Tonetsu Shinkawa Bldg. 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 Japan TEL (81) 3-3523-3551 FAX (81) 3-3523-7581 Atmel Operations Memory 2325 Orchard Parkway San Jose, CA 95131 TEL 1(408) 441-0311 FAX 1(408) 436-4314 Microcontrollers 2325 Orchard Parkway San Jose, CA 95131 TEL 1(408) 441-0311 FAX 1(408) 436-4314 La Chantrerie BP 70602 44306 Nantes Cedex 3, France TEL (33) 2-40-18-18-18 FAX (33) 2-40-18-19-60 ASIC/ASSP/Smart Cards Zone Industrielle 13106 Rousset Cedex, France TEL (33) 4-42-53-60-00 FAX (33) 4-42-53-60-01 1150 East Cheyenne Mtn. Blvd. Colorado Springs, CO 80906 TEL 1(719) 576-3300 FAX 1(719) 540-1759 Scottish Enterprise Technology Park Maxwell Building East Kilbride G75 0QR, Scotland TEL (44) 1355-803-000 FAX (44) 1355-242-743 RF/Automotive Theresienstrasse 2 Postfach 3535 74025 Heilbronn, Germany TEL (49) 71-31-67-0 FAX (49) 71-31-67-2340 1150 East Cheyenne Mtn. Blvd. Colorado Springs, CO 80906 TEL 1(719) 576-3300 FAX 1(719) 540-1759 Biometrics/Imaging/Hi-Rel MPU/ High Speed Converters/RF Datacom Avenue de Rochepleine BP 123 38521 Saint-Egreve Cedex, France TEL (33) 4-76-58-30-00 FAX (33) 4-76-58-34-80 e-mail literature@atmel.com Web Site http://www.atmel.com Atmel Corporation 2002. Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company s standard warranty which is detailed in Atmel s Terms and Conditions located on the Company s web site. The Company assumes no responsibility for any errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel s products are not authorized for use as critical components in life support devices or systems. ATMEL is the registered trademark of Atmel; Atmel-WinCUPL,Atmel-Synario and ProChip Designer are the trademarks of Atmel. Xilinx is the registered trademark of Xilinx, Inc. WinSim is the registered trademark of WinSim, Inc. Altium and Design Explorer are the trademarks of Altium Limited. Data I/O is the trademark of Data I/O Corporation. Other terms and product names may be the trademarks of others.3303a Printed on recycled paper. xm