Printed Circuit Board Design with HDL Designer



Similar documents
Digital Systems Design! Lecture 1 - Introduction!!

VHDL Test Bench Tutorial

Quartus II Introduction for VHDL Users

Digital Design with VHDL

Digital Systems. Role of the Digital Engineer

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1

LAB #3 VHDL RECOGNITION AND GAL IC PROGRAMMING USING ALL-11 UNIVERSAL PROGRAMMER

VHDL-Testbench as Executable Specification

Design of Remote Laboratory dedicated to E2LP board for e-learning courses.

9/14/ :38

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation

Implementation of Web-Server Using Altera DE2-70 FPGA Development Kit

Space product assurance

A Program for PCB Estimation with Altium Designer

Hardware Implementation of the Stone Metamorphic Cipher

PCB Project (*.PrjPcb)

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

Printed Circuit Boards. Bypassing, Decoupling, Power, Grounding Building Printed Circuit Boards CAD Tools

Lab 1: Introduction to Xilinx ISE Tutorial

X 4 CONFIDENTIAL X 4 OTHER PROGRAMME: CUSTOMER: CONTRACT NO.: WPD NO.: DRD NO.: CONTRACTUAL DOC.:

Xilinx/Mentor Graphics PCB Guide. UG630 (v 13.1) March 1, 2011

Using CAD Data in Assembly - Advantages and Pitfalls

Project Plan. Project Plan. May Logging DC Wattmeter. Team Member: Advisor : Ailing Mei. Collin Christy. Andrew Kom. Client: Chongli Cai

CNC FOR EDM MACHINE TOOL HARDWARE STRUCTURE. Ioan Lemeni

Xilinx ISE. <Release Version: 10.1i> Tutorial. Department of Electrical and Computer Engineering State University of New York New Paltz

7a. System-on-chip design and prototyping platforms

PCB Design. Gabe A. Cohn. May Using Altium Designer/DXP/Protel. Electrical Engineering University of Washington

Altera Error Message Register Unloader IP Core User Guide

Mentor Tools tutorial Bold Browser Design Manager Design Architect Library Components Quicksim Creating and Compiling the VHDL Model.

Rapid System Prototyping with FPGAs

AC : PRACTICAL DESIGN PROJECTS UTILIZING COMPLEX PROGRAMMABLE LOGIC DEVICES (CPLD)

Module 1: Getting Started With Altium Designer

IIB. Complete PCB Design Using OrCAD Capture and PCB Editor. Kraig Mitzner. ~»* ' AMSTERDAM BOSTON HEIDELBERG LONDON ^ i H

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

BUILD VERSUS BUY. Understanding the Total Cost of Embedded Design.

Using ModelSim, Matlab/Simulink and NS for Simulation of Distributed Systems

A universal forensic solution to read memory chips developed by the Netherlands Forensic Institute. The NFI Memory Toolkit II

Optimising the resource utilisation in high-speed network intrusion detection systems.

How To Design A Chip Layout

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

LEAN NPI AT OPTIMUM DESIGN ASSOCIATES: PART 1 WHERE ARE WE NOW? RANDY HOLT, OPTIMUM DESIGN ASSOCIATES JAMES DOWDING, MENTOR GRAPHICS

Laboratory VHDL introduction

KiCad Step by Step Tutorial

HC(S)08-System for Development and Training

Laboratory 2. Exercise 2. Exercise 2. PCB Design

AES1. Ultra-Compact Advanced Encryption Standard Core. General Description. Base Core Features. Symbol. Applications

VHDL GUIDELINES FOR SYNTHESIS

Switch board datasheet EB

Digital Systems Design. VGA Video Display Generation

Basics of Simulation Technology (SPICE), Virtual Instrumentation and Implications on Circuit and System Design

Quartus II Handbook Volume 2: Design Implementation and Optimization

PICAXE VSM Tutorial Part 4

Using Xilinx ISE for VHDL Based Design

Chapter 11. Using MAX II User Flash Memory for Data Storage in Manufacturing Flow

Introduction. Jim Duckworth ECE Department, WPI. VHDL Short Course - Module 1

Executive Summary. Table of Contents

Component, Model and Library Concepts

Importing and Exporting Design Files. Contents

ALS Configuration Management Plan. Nuclear Safety Related

GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8

12. A B C A B C A B C 1 A B C A B C A B C JK-FF NETr

Open Flow Controller and Switch Datasheet

Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure

VHDL programmering H2

KiCad Step by Step Tutorial

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

Xilinx/ Mentor Graphics PCB Guide

Digital Design and Synthesis INTRODUCTION

Verification of Triple Modular Redundancy (TMR) Insertion for Reliable and Trusted Systems

INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE

CADSTAR Training Centre >>>

Cypress Semiconductor: Arduino Friendly PSoC Shield

Android Controlled Based Interface

10/100/1000Mbps Ethernet MAC with Protocol Acceleration MAC-NET Core with Avalon Interface

DATASHEET. ADAM Arduino Display Adaptor Module. Arduino Compatible Shield P/N: 4Display-Shield-FT843 For the 4D Systems 4DLCD-FT843 Display

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

[PROJECT PLAN: IPOD BARCODE SCANNER]

An Example VHDL Application for the TM-4

Technical Aspects of Creating and Assessing a Learning Environment in Digital Electronics for High School Students

ULC Technology: High-performance gate array package using multiple metal layer CMOS technology featuring sub-micron channel lengths (0.

Wurth Electronics Midcom Altium Library Training Module Altium Designer layout software and the Wurth Electronics Midcom Altium libraries

Selecting and Implementing H-Bridges in DC Motor Control. Daniel Phan A

PCIe Core Output Products Generation (Generate Example Design)

A Verilog HDL Test Bench Primer Application Note

After opening the Programs> Xilinx ISE 8.1i > Project Navigator, you will come to this screen as start-up.

Quartus II Introduction Using VHDL Design

No serious hazards are involved in this laboratory experiment, but be careful to connect the components with the proper polarity to avoid damage.

Lab 1: Full Adder 0.0

PCB Artist Tutorial:

A Platform for Visualizing Digital Circuit Synthesis with VHDL

A Mechanism for VHDL Source Protection

Technical Training Module ( 30 Days)

CADENCE LAYOUT TUTORIAL

TIP-VBY1HS Data Sheet

Custom design services

Active Learning in the Introduction to Digital Logic Design Laboratory Course

Lecture N -1- PHYS Microcontrollers

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

Implementation and Design of AES S-Box on FPGA

GTS-4E Hardware User Manual. Version: V1.1.0 Date:

Transcription:

Printed Circuit Board Design with HDL Designer Tom Winkert Teresa LaFourcade NASNGoddard Space Flight Center 301-286-291 7 NASNGoddard Space Flight Center 301-286-0019 tom.winkert8 nasa.gov teresa. 1. lafourcade @I nasa. gov 1 Abstract Staying up to date with the latest CAD tools both from a cost and time perspective is difficult. Within a given organization there may be experts in Printed Circuit Board Design tools and experts in FPGANHDL tools. Wouldn t it be great to have someone familiar with HDL Designer be able to design PCBs without having to learn another tool? This paper describes a limited experiment to do this. 2 PCB Design Process The PCB design process consists of three phases. Schematic capture, input of component information, and netlist conversion. 3 Schematic Capture Most designers typically use Mentor Board Station or DxDesigner. These tools have robust front-end schematic capture features. For small applications there may be another alternative. For this project HDL Designer version 2004.1 was used. The HDL Designer block diagram editor was used for schematic capture. The HDL Designer symbol editor created the individual component symbols. This feature allows someone already familiar with the tool to design a PCB. The HDL designer tool can be used in conjunction with the Modelsim simulator for PCB simulation. An FPGA designer can now work under the same simulation environment for the PCB that is currently utilized for the FPGA. Two part symbols are shown in Figures 1 and 2. Each of these symbols displays the part number, the package type, the layout of the pin numbers, and the signal list. VHDL generics, explained in the next section, were used to hold and display this component informat ion. Figure 3 is a block diagram or schematic containing two part symbols connected together as well as to VCC and GND. The parts are an AC08 (shown in Figure 2) and an AC04. The reference designators IO and 11, which are displayed on the schematic, are automatically assigned to the parts by the program. 4 VHDL The plan is to use VHDL for the PCB netlist format. Very little information explaining how to accomplish this is available. A major effort was taken to standardize VHDL descriptions of not only physical component package information, such as pin and part numbers, but also digital timing, AC. and DC characteristics as well. This standard was eventually abandoned. Various approaches were studied on how to convey this information into the VHDL net list primarily focusing on pin numbers since that would be essential to the netlist creation. Possible approaches included: o o o VHDL comments VHDL attributes VHDL generics Although VHDL comments would work, it is more desirable to have this information as part of the language since there may be future extensions to this experiment that would need to use the part information for simulation. The simulator does not read comments. 1

VHDL user defined attributes were logically a good choice since part information can be used in the component code and passed on to the board schematic. This approach turned out to be unfeasible because HDL designer does not display component attributes on its block diagrams. If these block diagrams are to be used as schematics they must display component pin numbers. VHDL generics can be displayed on the block diagrams so that approach was chosen. Generics will display the pin numbers as a large block of text rather than on individual ports (see Figure 2). 5 Net list Conversion PCB layout tools do not usually import VHDL net lists. Even if such a tool did exist there is no standard VHDL netlist format. A typical PADS format was chosen for PCB layout. The challenge is now to take the VHDL net list and convert it to the PADS format. A search for conversion utilities turned up one company that specialized in doing just that. EDAX-NET from Conversion Factors [l] has converted many different formats including VHDL. Their VHDL conversion only assigned part package pin numbers based upon the ordering in the VHDL component declaration. Some of the drawbacks to this approach are: -Every pin on a part in the component declaration (such as no connects) may not need to be listed. -Ports need to be listed in the same order in the component declaration and on the part. -Multiple pin numbers cannot be used for a single port (such as power and ground). a PCB netlist. Two test boards are currently in the design phase that is using HDL Designer to create actual hardware. The approach described here is not envisioned as a replacement for current PCB design tools. Obviously, those tools have many features that would take a substantial overhaul of HDL designer to begin to compare. However, some improvements could be made to make this an attractive alternative to many customers. Improvements could be in schematic display, adding PCB net list output format options, and some level of design rule checking, and part list generation. 6 References [l] Conversion Factors, Inc. 918-825-9300 http://www.confac.com 7 Acronyms CAD EIA FPGA HDL PCB VHDL GND vcc PADS Computer Aided Design Electronic Industries Alliance Field Programmable Gate Array Hardware Description Language Printed Circuit Board VHSIC Hardware Description Language ground power Mentor Trade Mark Conversion Factors then modified their utility to eliminate those drawbacks. Their utility now inputs generic mapping information for part pin numbers, part numbers and part package type. This information combined with the port mapping enables EDAX-NET to produce a PADS compatible net list. The test circuit VHDL shown in Figure 3 is listed in Appendix A. The output PADS net list is Appendix B. 5 Conclusion This study has shown schematic capture using HDL designer and net list conversion to create 2

~ Figure 1. 3

t i ' C O r n lmrm ~ enter CDmmenfS hero, pin-d = '10' (strii) J 1: pin-oz = '11' (string) pin-bz = '12' (string) pin_& = '13' (string ) pin-vcc = '14' (string) end GND pori-run = part-mo6' [ sirin) ) pkg-tvpo = 41ip14. (string) pind = T (strtng ) pm-ycc = '14' (string) pin-03 ='13' (string) pin-03 =W' (strq) pm-a4 = '11' (stmng) pin-4 = YO* (string) c n4 pin-& = '9' (stmng) Grid pin-05 = '8' (string) &Lip z 'dip14' ( string ) part-run = kc+. ( string ) I dlafourcade 4

Appendix A - VHDL Entity rnygroject-lib.test_ckt.syrnbl - - Created: - by - tlafourca (TERESANTl) - Generated by Mentor Graphics' HDL Desgner(TM) 2004.1 - LIBRARY ieee; USE ieee.std-logic-1164.all; USE ieeestd-logic-arith.all; ENTITY test-ckt IS PORT( a : IN std-logic; b :IN std-logic; 00 : OUT std-logic 1; - Declarations END test-ckt ; LIBRARY ieee; USE ieee.std-logic-1164.all; USE ieee.std-iogic-arith.all; ARCHITECTURE strut3 OF test-ckt IS - Internal signal declarations SIGNAL Vcc : std-logic; SIGNAL c : std-logic; SIGNAL gnd : std-logic; - Component Declarations COMPONENT ACO4 GENERIC ( pin-ao : string := "1"; pin-o0 : string := "2"; pin-a1 : string := "3"; pin-ol : string := "4"; pin-a2 : string := "5"; pin-02 : string := "6"; pingnd : string := 7"; pin-vcc : string := "14'; pin-a3 : string := "13"; pin-03 : string := "12"; pin-a4 : string := "11"; pin-04 : string := "10"; pin-a5 : string := "9"; pin-05 : string := "8"; pkg-type : string := "dipl4"; part-nurn : string := "part-ac04" 1; PORT ( Gnd : IN std-logic ; Vcc : IN std-logic ; a0 : IN std-logic; a1 : IN std-logic; a2 : IN std-logic ; 5

a3 : IN std-logic; a4 : IN std-logic ; a5 : IN std-logic ; 00 : OUT std-logic ; 01 :OUT std-togic; 02 : OUT std-logic ; 03 : OUT std-logic ; 04 : OUT std-logic ; 05 :OUT std-logic ); END COMPONENT; COMPONENT AC08 GENERIC ( pin-ao : string := "1.; pin-b0 : string := "2"; pin-00 : string := "3"; pin-a1 : string := "4"; pin-bl : string := "5"; pin-ol : string := "6"; pingnd : string := T; pin-03 : string := "8"; pin-b3 : string := "9"; pin-a3 : string := "10"; pin-02 : string := "11"; pin-b2 : string :="lz"; pin-a2 : string := "13"; pin-vcc : string := "14"; part-num : string := "part-afl"; pkg-type : string := "dipl4" ); PORT ( GND : IN std-kgii ; Vcc : IN std-logic ; a0 : IN std-logic; a1 :IN std-logic; a2 : IN std-logic ; a3 : IN std-logic; b0 : IN std-logic; bl : IN std-logic; b2 : IN std-logic; b3 : IN std-logic; 00 : OUT std-logic ; 01 :OUT std-logic; 02 : OUT std-logic ; 03 :OUT std-logic ); END COMPONENT; BEGIN - Instance port mappings. IO : AC04 PORT MAP ( Gnd => gnd, vcc => vcc, a0 =>c, a1 =>grid, a2 =>grid, a3 =>grid, a4 =>grid, a5 =>grid, 6

00 =>oo, 01 =>OPEN, 02 =>OPEN, 03 =>OPEN, 04 =>OPEN, 05 =>OPEN ); I1 : AC08 PORT MAP ( GND => gnd, vcc => vcc,. a0 =>grid. a1 =>grid, a2 =>a, a3 =>grid. bo =>grid, bl =>grid, b2 => b, b3 =>grid, 00 =>OPEN, 01 =>OPEN, 02 =>c, 03 =>OPEN h END struct 7

, '.* Appendix B PADS-LOGIC" *REMARK* created with EDAX-NET V7.0.3 *REMARK* *PART* IO PART-AC04,AC04@DIP14 I1 PART_ACOS,ACO8@DIP14 *NET* *SIGNAL* GND 10.7 10.3 10.5 10.13 10.11 10.9 11.7 11.1 11.4 11.10 11.2 11.5 11.9 *SIGNAL* VCC 10.14 11-14 *SIGNAL* C 10.1 11-11 *SIGNAL* 00 10.2 *SIGNAL* A 11-13 *SIGNAL* B 11.12 *END* OF ASCII OUTPUT FILE 8