University of Portland School of Engineering 5000 N. Willamette Blvd. Portland, OR 97203-5798 Phone 503 943 7314 Fax 503 943 7316 Functional Specifications Project BAT: B2 Logic to ABEL Translator Contributors: Jamie Quint Ian Tagge Approvals Name Dr. Vegdahl Date Name Date Dr. Lillevik Insert checkmark (√) next to name when approved. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: I. TAGGE FUNCTIONAL SPECIFICATIONS PROJECT BAT REV. 1.0 PAGE II Revision History Rev. 0.9 1.0 Date 09/20/06 10/06/06 UNIVERSITY OF PORTLAND Author I. Tagge I. Tagge Reason for Changes Initial draft Updated for 1.0 release SCHOOL OF ENGINEERING CONTACT: I. TAGGE . . . . . Table of Contents . . Summary....................................................................................................................... 1 . . Introduction .................................................................................................................. 2 FUNCTIONAL SPECIFICATIONS PROJECT BAT REV. 1.0 PAGE III Background .................................................................................................................. 2 Requirements ............................................................................................................... 3 Overview ..................................................................................................................................................3 Block Diagram .........................................................................................................................................3 Compatability and Interface ...................................................................................................................3 Software Compatibility ............................................................................................................................3 Chip Compatibility ...................................................................................................................................3 B2 Logic Interpretation .............................................................................................................................3 Command Line Interface ........................................................................................................................3 Conclusions ................................................................................................................. 5 Appendices................................................................................................................... 6 UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: I. TAGGE . . . . List of Figures. . Figure 1. Block Diagram of.BAT Product ......................................................................................................3 . . FUNCTIONAL SPECIFICATIONS PROJECT BAT UNIVERSITY OF PORTLAND REV. 1.0 SCHOOL OF ENGINEERING PAGE IV CONTACT: I. TAGGE FUNCTIONAL SPECIFICATION PROJECT BAT Chapter REV. 1.0 PAGE 1 Summary 1 Project BLT is a B2 Logic to ABEL converter. It will run from the Unix command line, take a single file as input, and produce a single file as output. It will facilitate the design to production function of integrated circuits (ICs) by allowing the conversion of a visual schematic to ABEL hardware description language (HDL) code The intended user of this software is any user of the B2 Logic design program who wants to translate their design into HDL code, most likely electrical engineering students , however, professionals may find this product useful as well. The user will benefit by saving the time normally required to complete this process by hand and will not actually need any knowledge of HDL in order to design and fabricate a chip. Team Bridgeport feels that this is the ideal time to take on such a project because of the access to knowledgeable faculty to assist us with this project. The prototype release of the software will provide described functionality for BLT/MOSIS compatible LS parts and will be programmable to a single type of target chip, the GAL16V8. The program is not meant to intelligently determine the ideal chip to use for each individual design. It is also not meant to determine whether or not the B2 Logic design can actually fit on the selected chip. These functions will not be included in any future release. The long-term purpose of this project is to allow B2 Logic circuit schematics to be completely translatable to ABEL for all chips that ABEL can program. This will allow the end user to complete the entire design function in B2 Logic and subsequently use the translation application to generate the HDL code which can be opened in ABEL. The top priority of this project is the desired feature set, which the team feels goes hand in hand with quality. Success for this project will be determined by taking a B2 Logic file from a number of previous years’ projects, running them through our software, and programming chips using the outputted ABEL HDL codes. These chips will be implemented in circuit and tested against the previous designs to confirm correct functionality. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: I. TAGGE FUNCTIONAL SPECIFICATION PROJECT BAT Chapter REV. 1.0 PAGE 2 Introduction 2 This document, the functional specification, is written for the developers and advisors of this project. The developers will use this document to communicate the goals and implementation details of this project. The advisors will be able to use this document to assess these goals. The functional specification is organized into three sections: background, requirements, and conclusion. The background is an introduction to the technical details of the software involved in this project. The requirements explain the technical components of the project and how they are achieved. The conclusion is an overview of this entire process. Chapter Background 3 B2 Logic is a powerful tool for designing and testing schematics for digital logic circuits in a visual environment. This software is not sufficient in and of itself because it is not capable of producing output that can be programmed directly to an integrated circuit (IC). ABEL is a hardware design language (HDL) whose code can be tested and output in a format that can be converted directly to an IC. These two programs are complementary in that B2 provides visual design with testing, and ABEL interfaces directly with the IC. Project BLT serves to combine the power of these two programs by acting as a converter from B2 Logic to ABEL. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: I. TAGGE FUNCTIONAL SPECIFICATION PROJECT BAT REV. 1.0 Chapter PAGE 3 Requirements 4 Overview The product solves the problem of extra work previously needed to implement a digital logic circuit design from a visual schematic. Currently, this task requires an engineer to design and testa circuit in B2 Logic, then manually translate it to ABEL HDL code. the BAT progam the engineer will be able to convert a B2 Logic EDF file output to fully compatible ABEL code. Figure 1. Block Diagram of BAT Product Compatibility and Interface 100. Software Compatibility 101 B2 Logic Release 3.1 with BLT/MOSIS Compatible LS Library Parts will be used to generate the source EDF files. 102 The output will be a file containing ABEL 7.0 code. 103 BAT will use a *nix server interface. 150. Chip Compatibility 151 A GAL16V8 CPLD will be used as the initial target chip. 152 BAT will be written such that future releases may support additional ICs. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: I. TAGGE FUNCTIONAL SPECIFICATION PROJECT BAT REV. 1.0 PAGE 4 B2 Logic Interpretation 201 BAT will handle any configuration of logic parts supported by BLT/MOSIS library Project BLT will be able to handle any configuration of the logic parts supported by the BLT/MOSIS compatible library. The GAL16V8 has 8 dedicated inputs with 9 pins that can be input, output or some other function. BAT will not take I/O pin-counts into account and will assume that the user has designed the circuit with such constraints in mind. Command Line Interface 301 The user will interact with BAT through a Unix Command Line Interface 302 Syntax Error Handling will be implemented that will return user-friendly error messages indicating the source (i.e. command line input, illegal part usage, etc.) and location (if applicable) of the error. 303 File-Based Error Handling will be implemented to alert the user of file-related issues that may include invalid file types, non-existent or corrupt files. 304 A ‘man Page’ will be available on the server (see Appendix) 305 Output HDL file will have the same name, but a different extension, as the input file. 306 If file already exists, the user will be prompted to cancel or overwrite. The user will access the BAT program through a Unix command line interface. The BAT program will be activated by the command “bat chip inputfilepath” where inputfilepath is a complete file path to the desired input file and chip represents the type of chip to be programmed. The program will handle errors in syntax and other file based errors such as insufficient permissions or disk space by outputting an appropriate error message to the command line. There will be a man page associated with this program (See Appendix B), which the user may reference to learn the appropriate program syntax. On success, the program will output an HDL file with a different extension, but the same name, as the input file. The program will exit quietly unless the output file already exists, in which case it will prompt the user to overwrite (See Appendix A). UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: I. TAGGE FUNCTIONAL SPECIFICATION PROJECT BAT Chapter REV. 1.0 PAGE 5 Conclusions 5 The BAT project will allow engineers to save significant amounts of time converting visual schematics to HDL code. BAT is a powerful tool, but does not set out to do all of the engineer’s work for him. As with any engineering tool, the engineer will have to abide by certain limitations in order that that tool may be fully utilized. This software is designed to work in conjunction with BLT, thus it will not be able to handle such things as hierarchies or the entire LS library. Ideally, BAT will eventually be compatible with several ICs, but even this functionality will be limited. The engineer will still have to determine the proper IC to be used, and design the circuit with that chip and its capabilities in mind. When used properly, BAT can be a powerful tool for converting schematics to HDL code, but it is certainly not intended as a design tool, but a translator. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: I. TAGGE FUNCTIONAL SPECIFICATION PROJECT BAT REV. 1.0 PAGE 6 Appendices See Attached PDFs. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: I. TAGGE