Compul. & Graphics Vol. 8, No. 3, pp. 255-263, 1984
0097-8493/84 $3.00 + .00 Pergamon Press Ltd.
Printed in the U.S.A.
Computer Graphics in Brazil
DEVELOPMENT AND IMPLEMENTATION OF CAD/CAM TECHNOLOGY IN THE ITAU G R O U P GILBERTO J. CUNHA, ANTONIO L. DOMINGUES,JOSE C. S. GUSHI and RONALDO M. ARAKI Itau Tecnologia S.A., R. Bela Cintra 1149, CEP 01415 S~o Pauio, Brazil Abstract--This article describes the CAD/CAM technology that is being developed within the ltau group. First, there is an introduction to the environment, giving some background information about the group. Second, there is an item about the two generations of our PCB CAD software, giving the history of the first generation and describing the goals and the architecture of the second generation which is being developed. Third, there is a description of the IC CAD system developed in-house that is currently being used. Finally there is a brief description of some tools being developed and future perspectives.
I. INTRODUCTION Itau is a group of Brazilian companies involved in a variety of activities in industrial and financial areas. For example we may mention that "Banco Itau" is the second largest private bank in Brazil and "Duratex" is one of the world's largest hardboard manufacturers. In 1980 "Itau Tecnologia" was created as a company in the electronics industry and informatics committed to technology development. Initially the company was a captive supplier of banking terminals; it is now oriented toward the merchant market. The first goal of "Itau Tecnologia" in 1980 was to connect about 400 of the most important branches of "Banco Itau" (total of 1000 branches), in a banking automation network. This was an ambitious project considering that all distributed equipment as well as the necessary software was to be developed within the company. At that time it was decided that CAD/CAM technology had to be well understood and used as a tool to aid the design and production of the necessary equipment. On the other hand, this technology was considered to be of strategical importance, so a technology development program in CAD/CAM was established, considering other future applications in the Itau group as well as the possibility of developing some CAD/CAM products for the market. The CAD/CAM program started in 1980 with a first phase that had to result in the implementation of a tool to aid the production of lay-outs and other documents necessary for the production of printed circuit boards. In addition to the development of the application software, some support software and technology was developed, with emphasis on Computer Graphics. In these activities, some cooperation with local universities (University of Sao Paulo and University of Campinas) was established. In 1982 another company was created in the 255
group: "Itau Componentes," to design and produce digital integrated circuits. An application software was implemented to aid the activities involved using some results of the experience acquired in "Itau Tecnologia" and some results obtained from foreign universities. Some relevant know-how was achieved both in application aspects and in basic technology, as explained by the following topics. Most of the results obtained do not represent original contributions in a conceptual point of view. However, considering some restrictive conditions existing in Brazil we think these results are important for our community and we decided to continue to adopt the same policy [1]. 2. PL"B CAD soYrWARE DEVELOPMENT
The ftrst generation of PCB software In November of 1980 "Itau Tecnologia'" began an experimental project together with FDTE (Fundacao para o Dcsenvolvimento Tecnologico em Engenharia, which is a non-profit foundation associated with the University of Sao Paulo) and the main goal was the implementation of a simple set of programs to help the PCB lay-out process. The programs were based on a M.Sc. Thesis [2] and had to be converted from an IBM 1130 to an IBM 370/148, which was the available equipment at Itautec at that time. The project was finished in April of 1981 and it showed that the alternative of developing a PCB CAD system was feasible from a technical point of view. The solution didn't present many advantages in relation to turn-key CAD systems in terms of the immediate costs, but it was adopted due to the company interests in in-house development of the necessary resources to acquire and retain this very important technology. While the definitive equipment to host the software to be developed was being chosen and installed, the work in developing the programs continued with the
256
G. J. CUNHAel al.
IBM 370; a mainly automatic system was produced because the interactive graphics resources were not yet available. That system was continually upgraded and there were three versions of it implemented, the first in July of 1981, the second in November of 1981 and the third in March of 1982. The main problem with that system was that the user interaction was limited to alphanumeric terminals, and it was up to the user to indicate the solution of the nets not solved by the routing program, which is a difficult task. There were some resources implemented to help that work by means of a routing manipulating language. A grammar was defined for the language and a compiler was programmed and added to the system. The system's input data at that time was the mechanical characteristics of the board, the list of electronic components, and the net list, resulting in the manufacturing documents done via a pen-plotter. The drawings had to pass through a photographic process to generate the production artwork. The documentation of the system was of great concern. Part of it was automatically generated by the system and the remaining part was fed into the computer in order to facilitate the introduction of changes. The programming language used was FORTRANIV and the size of the programs produced increased rapidly as new versions were implemented: the experimental version had about 5000 lines of source code. In the first version the number of source code lines rose to 15,000 lines and in the third and last IBM version that number reached 50,000 lines. In all versions comments in the source code represented about 30%. All versions were used to help the company's PCB design process and the last IBM version was used in the design of about 20 boards, some of them fairly complex. The equipment chosen to host the system was installed in June of 1982 and it was bought from Intergraph. It is composed of a VAX-I 1/780 computer, two interactive dual-screen graphic workstations, a paper punch unit, a Calcomp 960 pen-plotter and a Versatec VS0 hard copy unit. A Gerber 41 photoplotter to be used off-line was bought along with this equipment. Shortly after the new system was finally installed the efforts were concentrated in developing an interactive module that would permit a user to edit and make lay-out changes more easily by means of a graphic interaction. The last IBM version was ported to the VAX equipment and was adapted to work together with the new graphic interactive module. That implementation was the fourth and last version of the first generation of our SACCI software and it was operational in January of 1983. SACCI is an acronym for "Sistema para a Automacao da Confeccao de Circuitos lmpressos" and it
may be translated as a "System to Automate the Printed Circuit Board Design." Its name comes from one of the most famous Brazilian folktales which is about a one-legged black elf with a red stocking-cap and a pipe who is called "Saci." The fourth version is composed of 56 programs, 342 subroutines and about 60,000 source code lines. Its documentation has about 70,000 lines of text with all of them stored in the computer. This version has been used to aid the design of more than 100 boards. This version reached the upper limit of manageability within the first generation, that is, a system that started from a routing module and a rigid file structure had been increased with new necessary modules to implement other steps in the design process without changing the original system architecture.
The second generation of PCB software The experience obtained by the utilization of SACCI's first generation system and the development of its four versions, showed us the necessity and the convenience of designing a new system generation. The second system generation now in preparation follows a different guideline. Its conception was divided into two phases: first there was a global conceptualization of CAD systems and after that there was the merging of these concepts and the first generation experience to reach a versatile PCB CAD system. The desired goals to be reached by this second generation are: (a) To permit a flexible integration with other systems within the company. The SACCI system is aimed at a specific application (Printed Circuit Board Design) and is a part of a higher application, that is, the designing and manufacturing of electronic equipment. Therefore, it must follow certain requirements and make certain mechanisms available that would allow integration with other systems having different application goals and based on different machines. (b) To diminish the system's dependence on hardware and support software. The system is being developed to run on a VAX-11/780 computer and is mainly programmed in FORTRAN-77. This dependence is acceptable if we keep in mind its flexibility and performance and the existence of other VAX-based CAD systems. The critical factor lies with hardware and software that support the system's graphic module because of the existing environment with different kinds of graphic devices. The utilization of our own graphic software (called NGB, to be discussed later in this text) that follows that GKS [3] principles will greatly diminish this kind of dependence thus allowing the system programmers standard access to the graphic devices. (c) To facilitate the management of the PCB design and of the system's pattern libraries. During SACCrs
CAD/CAM in the Itau group first generation utilization, a critical point observed was that an increase in the number of boards in the system made the management and control of the different projects increasingly difficult. The need to make modifications to the system's CAM documentation involves many factors that differ in levels of complexity. Some of them are: changes in already made boards, changes in the manufacturing patterns due to the acquisition of new equipment, adoption of new manufacturing technologies, and change in the availability of electronic components. If the system doesn't offer generic tools to help the project manager to control and manage the projects, he has to treat each project separately. (d) To simplify the software changes and extensions by keeping its integrity. SACCI's first generation matured and grew through its four versions by including new programs and files as a consequence of the new necessities created by the design phase and it offered some new facilities to the users. Another fact is that the system's two earlier versions were mainly batch-oriented. These facts gradually increased the complexity of including a new program into the system without causing an impact on the integrity of the software. By centralizing all information in a data base and having sets of subroutines to perform all common or specialized functions, such as the access of the system's file structure and the display control communication with the user, we can get a better structure for the system. Such subroutines will provide a background to the programs that can increase the system's modularity and simplify the system's maintenance without jeopardizing the integrity of the software. (e) To simplify the system's usage. In an interactive Cad system, Man-Machine Communication is an important aspect regarding global performance. During the first generation use of SACCI, many suggestions and opinions were obtained from users regarding the system's indication of commands, messages and also the user's view of the system. The fact is that the user is normally objective in determining what the system has to do and he isn't interested in knowing how the system will do it. In the second generation design of SACCI, some techniques are being used and care is being taken to show the user that the system is integrated, flexible and easy to use.
257
--Basic Graphic System - - D a t a Base for CAD --Man-Machine Communication --Micro Workstation --Advanced Workstation --Tablet/digitizer These products will be described in item 4. We believe that the resulting model of that phase is generic enough to embody a great majority of CAD systems. The conceptual architecture is composed of five fields: Man-Machine Communication, Data Base, Methods Base, Graphic Processing and Supervision. These fields are represented in Fig. 1 and they are described below in more detail. Man-Machine Communication. Man-Machine Communication is receiving growing attention from specialists because of the increased use of interactive equipment in computer environments. On the one hand we have an extraordinary increase in the capacity of the equipment which allows the machines to do more and more complex functions at a velocity almost equal to that of natural communication. On the other hand, we have an increase in the number of non-specialized people using computers and these people are becoming potential users of this equipment mainly as a result of the facility of acquisition and/or the increased availability of many specific systems which aid a wide range of human activities. These facts characterize the problem of the M a n Machine Dialogue. The solution is to use the features of the machine to obtain a more humanistic interface. The main goal of the Man-Machine Communication field is to elaborate philosophies and mechanisms that reach this objective. This field can be divided into three aspects. Man-Machine Interaction. It is the physical form in which the dialogue occurs, e.g. to turn keys, to push buttons, to move levers, to speak, etc. Man-Model Dialogue. It reflects the user's communication regarding his own mind's model of the equipment he manipulates. The model flexibility and
HETHODSBASE GRAPHICPROCESSING
~ - ~
Conceptual architecture Before beginning the second generation design phase we had a conceptual phase to define the model of the conceptual architecture of an ideal CAD system [4--7]. During that phase it became clear that some basic tools were necessary (software and hardware) to support the development of the second generation systems. For this reason, investments in study and development of some basic products were, and are being made such as:
Fig. 1.
HAN-HACHITNIEON
258
G. J. CUNHAet al.
simplicity are important factors to a successful dialogue. Ergonomics. It treats the necessary placement of resources in order to permit the realization of the interaction in a comfortable and efficient way to the user.
Some techniques and philosophies had been developed allowing the system to become a "userfriendly" one, such as: - - T h e system has a "help" function at every point accessible to the user. - - T h e syntax and the names of the commands are independent of the way the user communicates with the system. - - T h e error messages besides reporting errors give an orientation of how to correct them. Data Base. Data Base deals with the necessary data storage and retrieval to the system. Access velocity, data security, and integrity are the main factors to be considered. Since this subject isn't a new one, there are many data base systems and a vast bibliography is currently available. But these data base systems are mainly for business applications and we need a Data Base with some different features to be used by a CAD system. We are now researching and making some tests trying to follow the state-of-the-art in this area. A "'network" data structure model had been developed and defined on two basic entities: data and relations, following the CODASYL ideas [8]. A structure representing the object topology had been defined during the model specification allowing its use in applications other than PCB, such as Schematic Design, Microelectronics Design, etc. Methods Base. Methods Base embodies all software that implements the specific algorithms of the application. It acts as a methods base for the system. So, its architecture depends on what particular problem the system will solve. Placement, Routing and checking algorithms are SACCI's examples of this kind of software. Therefore, it must be observed that some algorithms may not have a "start-and-go" implementation, but they must be under the user's control, that is, the user must have the possibility of seeing what is being done by the process, to stop it, to make changes in the work underway and in the algorithm's control parameters, and to start the process again [9]. This mechanism, that we call "seesaw," is a compromise solution between the low velocity of processing but high intelligence of the user and the high velocity of processing but low intelligence of the machine. In SACCI's second generation the goal in this field is, for example, not only to obtain a more efficient routing program, but an efficient "seesaw" in the routing phase. Graphic Processing. Graphic Processing embodies both software and hardware that permit the input, the transformations (the information processing) and the output.
SACCI will use our software (NGB), that follows the GKS principles and its use will greatly diminish the problem of lack of standardization in graphic devices. Supervision. Supervision embodies both methodology and mechanisms that will allow the control and management of the projects. Sometimes CAD systems offer some facilities to the project manager and sometimes they offer nothing. SACCI's adopted strategy is to consider the project manager also as a user of the system and this is a relevant point if we remember that SACCI is part of a vast industrial process.
Internal architecture The second system generation must be seen as a virtual computer dedicated to a specific application, i.e. Printed Circuit Board design. Just as in a real computer there are many user categories, some with more privileges than others and each with its own task. In SACCI there are four user categories: (1) Supervisor---deals with design management, creates resources for task initialization, controls its execution, stops, restarts, saves data, and makes plans for future designs. (2) Library manager----creates new patterns, deletes the obsolete ones, and controls the compatibility of PCB standards in relation to other standards within the company. (3) PCB designer--executes the PCB design. (4) Software manager--is responsible for installing and maintaining system software. Each user category sees the system from different viewpoints. The object of interest in each case is the set of designs for the supervisor, the patterns (or standards) for the library manager, the lay-out for the PC designer and procedures and programs for the software manager. The distributed software technique [10], that is mainly used by real time systems, was adopted as the system's internal architecture. All specific task software is grouped in one context that is called process. VAX's VMS operating system, like UNIX, implements the concept of process, creating a virtual machine that runs independently to each process. The communication among them is done by special mechanisms like channels and pools, and these synchronise one process with the other by mechanisms as event flags and semaphores, and these features will be used by the new generation of SACCI. Each design in the system is structured as in Fig. 2. In the design process, specific programs for PCB applications are executed, such as data capture, placement, routing, automatic checks, etc. The data structure process takes care of the design data integrity and accessibility to the other processes. Finally, in the Graphic Processing, the programs
259
CAD/CAM in the ltau group
KEY=
(
DESIGN CONTROL
V
~<3- - . . . . . . . . .
V
J -
DESIGN j /
)
OATA ~x~
~ ,~-
<3
DESIGN DATA
. j GRAPNICS~ I V
{>
<3. . . . . . . . . D-
PROCESS
DATAPOOL POOL
II0
CHANNEL
n
GEOMETRIC DESCRIPTION
Fig. 2.
and routines dedicated to the graphic input, manipulation and output are executed. The Design Control pool has all the information needed to do the synchronisation of these three processes to each other on a one to one basis, and with the Supervision Process. It is also used as a means to achieve indirect access for the pattern library and to configurate the system. The Design Data pool has the information concerning design characteristics, the board logic description and a partial geometric description. The complete geometric description of the board is in the Geometric Description Pool. As a result of this division into logic and geometric descriptions, the system's Graphic Processing portion can be isolated allowing an easier integration with NGB basic graphic software. It also permits the Geometric Description Pool to become a working area and this could be generated from the pattern library and the design data pool. The global system architecture has the structure represented in Fig. 3. These three highest level processes correspond to exclusive processes for three user categories: Library for Library manager, Supervision for Supervisor and support for Software manager.
i
The design pool has information at design level, such as: number of active designs, duration of activity, number of completed designs, storage location and type, number planned, etc. The software library pool has in it the modules that are used by the system. This software is in source code. The executable software is placed in a separate pool. The configuration pool deserves a more detailed description. Normally the relationship among programs of a system is implemented using the operating system command language to group some programs as a unit in a sequence called procedure. The way in which that unit is made determines the system configuration, that is, when and under which conditions a specific program may be executed and which sequences of programs within the system are possible, etc. A new philosophy was developed for this type of activity through a structure implementation that we called dynamic automaton (AUDIN). It consists, basically, of a directed graph, the nodes of which are executable units (programs or even procedures). After the execution of a node it assumes a particular state from all possible states. Each edge of the graph corresponds to one possible sequence of execution of
(
I] v I] I1 v I] PATTERNLIB.ARY OESIGN
It V I] n v q CONFIGORATION EXECUTABLE SOFTWARE
n
I
v
DES. CONTROL I
O n
I
v
0---~
DES. CONTROL 2
I
v
DES. CONTROL N
Fig. 3.
SOFTWARE LIBRARY
260
G. J. C U N H A e/a].
the nodes and could be validated or invalidated, according to the original node state value. It also defines propagation functions, so that the change of a node state automatically makes changes in the states of other nodes. The implementation and test of A U D I N showed good results, i.e. it simplifies the changes in the system configuration with little or no impact on the software, centralizes the software integrity problem and allows different and independent configuration of the executable software. The Supervision pool has the description of several AUDIN, each one reflecting one system configuration. The supervisor determines which AUDIN will be used by a new PCB design. In this way the system can be configured to make it into a different type of design, ranging from a simple digitizing of a design made manually to changes in PCB made by the system. It also adapts itself to the user's skill. It has a simple configuration for the inexperienced designer and more complex configurations for the expert.
Actual status All these strategies and mechanisms lead us to believe that the proposed goals will be reached in their entirety. SACCrs second generation implementation began in April of 1983 and its completion is expected in July of 1984. By November of 1983 all the software background, the data structure process, the AUDIN control mechanism and the library process were developed. The Design and Support processes are now in development. The Graphic process will use the NGB graphic software, presently under development by another project group within "Itau Tecnologia." The "top-down" specification technique was adopted for the development phase and the "bottomup" technique was adopted for the implementation/ test phase. The integration tests are expected to begin in April of 1984. 3. IC CAD SOFTWARE DEVELOPMENT
Background information In September 1982 the Itau Microelectronics Group decided to start the design of an integrated circuit to be used in a banking terminal developed by Itautec. The main goal to be achieved was the training of the project group, who had had no previous experience in integrated circuit design, and for this reason the Mead-Conway [ 11 ] methodology was adopted. The necessity of a computer aided design system was felt in the very beginning of the design process. So, the development of a complete set of software tools [12] started parallel to the integrated circuit design. Figure 4 shows the structure of the system, which in fact, is not original. The algorithms and the system's structure are based on published papers [13, 14].
The IC CAD system The system is based on the CIF (Caltech Intermediate Form) [15]. CIF is a low level graphic language for specifying the geometry of integrated circuits. Its purpose is to serve as a standard machine-readable definition of chip geometry, that is essential input to a chip manufacturing facility. The decision to use the CIF representation as the system data base resulted in a great saving in the total development time and also assured data integrity. A brief description of each component is given below. --CIFCEL. This program is a simplifiedversion of an editor called C I F S Y M [16]. It was implemented on the 8-bit microcomputer 1-7000, designed and produced by Itautcc, equipped with an 8-colour monitor, floppy disks and a Bausch/Lomb pen plotter. Due to limitationsimposed by the microcomputer, this editor is used mainly to develop the elementary circuit cells. Once these cells arc finished, they are transmitted to the host computer so that they can be checked and simulated. One of the nice features of this program is its independence to the integrated circuit technology (NMOS, CMOS, etc). By using the concept of technology files the designer can use this software to edit ceils in any technology (up to 8 layers). --Layout editor. This editor is an interactive colour graphic system for editing hierarchical VLSI layouts specified in CIF. Its overall functions are like those of several previous systems and it provides a set of commands similar to CIF. Each design consists of a hierarchical collection of cells. Each cell contains a description of patterns on several mask layers, and calls to basic cells that contain more information of the same sort. Like most VLSI layout systems, the program does not keep information about design rules, electrical rules or schematics. It produces CIF files that can be processed by other design aids such as design rule checkers, plotters and circuit extractors. The editor runs on an Intergraph system which is based on a VAX-I 1/780 processor and uses a dualscreen color graphic workstation. - - C I F interpreter. The interpreter processes hierarchically the circuit definition, expanding each cell, and applying the geometric transformations specified in the call. The output is a file containing only
rectangles. The purpose of this program is to serve as a frontend processor to simplify the input task of all programs that use the CIF representation as input data. --CIFPLOT. This program displays the circuit layout on a monochrome IBM graphic terminal, or on a four-colour IBM graphic printer. CIFPLOT also shows the identification of each transistor after the execution of the circuit extractor program and highlights in the layout all the errors found by the design rule check program. ~ R A S T E R . The input to the circuit extractor
CAD/CAM in the Itau group program (EXTR) and to the design rule checker (DRC) is a rasterized representation of tile CircUit. The RASTER program converts the geometric layout into a raster image (bit map) where each pixel represents one lambda (basic dimension unit) and contains one bit for each mask layer. --DRC. The Design Rule Checker (DRC) takes as input, the bit map created by RASTER and performs all the necessary verifications to make sure that design rules (rules pertaining to width, length, and spacing imposed on the geometric features of an integrated circuit by the process technology) are obeyed. This program is specific to the NMOS lambdarules given by Mead-Conway [11]. The algorithm was originally developed by Baker [ 13]. The errors found are written into a file and can be printed or used as input to the CIFPLOT program, to be seen over the circuit layout. --EXTR. The circuit extractor program has two functions. It identifies the transistors and its connections, and analyzes the electrical connectivity, indicating open connections and short circuits [13]. The output can be used directly as input to the electric (SPICE) and logic (SL) simulation programs. This way the simulation is executed from the circuit layout, improving the reliability of the results. The output can also be used by the CIFPLOT program to show the transistors on the layout. --ERC. The Electrical Rule Checker uses the output from EXTR to verify the electrical rules in the circuit and is specific to the NMOS technology [ 13]. --SL. The logic simulator is a switch-level simulator for MOS integrated circuits [14]. There are commands, for example, to define docks, define node states, and show, at any point of the simulation, the state of any node or transistor. --SPICE [17]. This program is the only module that was not developed in-house. The version which is being used is a VAX version 2G.5, ported to the IBM 4341 processor. --ASL. This program displays on the IBM graphic terminal, the waveforms output by the logic simulation program (SL), allowing interactive signal analysis. --ASE. This program is similar to the ASL except that it works with the waveforms output by the electric simulation program (SPICE).
System integration The system described here is implemented on an IBM 4341 processor, except for the graphic editor, which is implemented on an Intergraph system. The execution of the programs is done interactively through command procedures that keep track of the latest version of the files and libraries, automatically guaranteeing data base integrity. Every time that a CIF description of a circuit is modified all the existing files that were created from the old description are deleted. By this mechanism the designer is forced to execute all the verification steps for the new circuit.
261
Results The system presented is very simple but is nevertheless capable of supporting almost all phases of an integrated circuit design process in the MeadConway style. Its development started in September 1982 and was completed in May 1983. During this time the software group consisted of no more than four people at any given time. The total effort was about 10 men × month. Two basic factors contributed to the success of the project. First of all, some simplifications, such a using only Manhattan geometry and the Mead-Conway design rules for NMOS technology, were adopted. By means of these simplifications the system is not generic, and was developed in a very short period of time. At this point we can start the modifications that are necessary to upgrade the system to achieve technology and design style independency. The second factor was an intensive interaction between the design and software groups. All software tools were developed in order to help the designers in each phase of the project of a real chip. 4. OTHER DEVELOPMENTS AND PERSPECTIVES Some basic tools (hardware and software) are being developed in-house and they will constitute our CAD systems development environment. Some of them have been mentioned before in this text and they will have here a concise description.
Graphic software In the graphic software field the alternative chosen was to develop a system that follows the principles defined in the GKS 7.2 draft document [3]. This system is named "NGB," an acronym for "Nucleo Grafico Basico" (Basic Graphic Kernel), and is being developed together with some researchers from UNICAMP (University of Campinas). The reasons for choosing a GKS-like software are the following: (1) The need for a software that allows device independence for application programs. (2) The software should have a set of standardized graphic functions thus allowing exchange of programmer experience and programs among systems. (3) It is important to have an implementation of an international standard set of graphic functions. The NGB implementation will follow, basically, the levels defined in the GKS 7.2 draft document. Only its first level isn't a GKS level. That level is a subset of the level 0A functions and was implemented as an experimental project. The next steps are the development of levels 0A, 0B, 1A, 1B + 2A and 2C and we think we will need resources of about 72 men × month for this development. By the end of the project there will be two versions of the NGB, one for the VAX-I 1/780 computer and the other for 1-7000 microcomputer, which is made by "Itau Tecnologia."
G. J. CUNHAet al.
262
ET TR I ETD IX O
CF ICELL
I
] G PH II ER DA T IO RC
I
V
V
I
CALTECH N I TERMEDA ITE FORM (CIF)
V
I
V
-~ CIFPLOT,,F - - N I TCR I ~RETER] vl
I
DRC F - -
RASTER I
V
EXTR[ - - ~
FS SL
'
V
ASL
ERC
V
]
SPC IE ~l~
I
ASE
Fig. 4.
The VAX version is being programmed in FORTRAN-77 and the microcomputer version will be programmed in C. The definition of the FORTRAN-77 binding for the NGB followed the international proposals from ISO and ANSI. There is also being defined a standard device interface based on the ANSI/VDI proposal.
Data base~man-machine communication In the other fields there are studies on topics such as Data Base for CAD and Man-Machine Communication. These studies are in the beginning and we have experimental projects in these fields in the development of SACCI's second generation software, by defining an object-oriented structure and a standard communication for the system. The consolidation of these two fields plays a very important role in the development of other CAD systems. Micro- workstation Recently there has been an increased interest in microcomputer production in Brazil. "'Itau Tecnologia" has followed this trend and has its own 8 bit microcomputer family (I-7000) that can stand-alone or be used with a host computer (IBM and VAX) and it has interconnection capability with graphic devices such as tablets, plotters, graphic displays, etc. There is also a 16 bit microcomputer family in development. This capability permits the development of lowcost workstations that could be utilized in applications such as Office Automation, Computer-Aided Engineering, Numerical Control Machines, and so on.
Tab/et An inductive 25 X 35 cm tablet was developed at "Itau Tecnoiogia," together with FDTE. It has a four button cursor, 0. l MM resolution, an RS-232 interface and it is being used together with the 1-7000 microcomputer.
Advanced workstation We are presently following the trend imposed by the domestic market, that is, the development of sophisticated workstations for application in other CAD/CAM fields and in Industrial Automation. At present we are defining a family of workstations based in 32 bit microprocessors with high resolution graphic displays, winchester disk, tablet/digitizer, serial interface (RS-232), a Unix-like operating system, basic graphic software (NGB) and probably with multitask and virtual memory. These features plus local processing capability make it possible to run sophisticated CAD systems, general purpose graphic systems, and the like. Perspectives Research and studies are also being carried out in fields such as Civil Engineering, Architecture Design, Office Automation, Computer Integrated Manufacturing, etc, and the main goal is that the basic hardware/software resources and application software be integrated resulting in CAD systems with Brazilian technology in the near future. Some of the studies are being done to supply CAD systems for some companies within the Itau group, such as "Duratex" and "Itauplan."
CAD/CAM in the ltau group It is hoped that these systems will also be available to users outside "Itau Teenologia," being sut~ciently competitive as to be an option to the national and international markets. REFERENCES
1. A. T. M. Beraldo et al., Sistemas CAD/CAM para circuitos impressos---A experiencia da Itautec. I Congresso Nacional de Automacao Industrial, Sao Paulo Julho (1983). 2. J. S. M. Colombo, Automacao de Projetos de Sistemas Disitais--Rotus de Circuito lmpresso. F_..c~laPolitecnica da Universidade de Sao Paulo; Sao Paulo (1975). 3. Information Processing Graphical Kernel System (GKS) Functional Description, Draft International Standard ISO/DIS 7949 (Nov. 1982). 4. B. Liskov and S. Zilles, An introduction to formal specifications of data abstractions. Current Trends in Programming Methodology, Vol. 1. Prentice-Hall, Englewood Cliffs, New Jersey (1977). 5. J. Vlietstra, An overview of computer aided printed circuit board design in an electronic industry. Computers in Industry 1, (1979). 6. ITM, Computer Graphics--A Study for Designers of Printed, Integrated, and Hybrid Circuits (1980).
263
7. ITM, Printed and Integrated Circuit Computer Aided Design (1981). 8. S. Ultsby eta/., Tornado: a DBMS for CAD/CAM systems. Computer-Aided Design 13(4), (1983). 9. A. S. Lapaugh, Algorithms for Integrated Circuit Layout: An Analytic Approach. MIT Laboratory for Computer Science (1980). 10. S. T. Allworth, Introduction to Real-Time Software Design. MacMillan, New York (1981 ). 11. C. Mead-and L. Conway, Introduction to VLSI Systems. Addison-Wesley, New York (1980). 12. A. C. B. Oliveira et al., Desenvolvimento e lmplantacao de um Sistema de PAC para Circuitos lntegrados. I11 Simposio Brasileiro de Microeletronica, Sao Paulo Julho (1983). 13. C. M. Baker, Artwork Analysis Tools for VLSI Circuits. MIT Laboratory for Computer Science, TR-239 (1980). 14. R. E. Bryant, An Algorithm for MOS Logic Simulation, Lambda, Fourth Quarter (1980). 15. R. W. Hon and C. H. Scqin, A Guide to LSI Implementation. 2nd Edn., XEROX Paio Alto Research Center (1980). 16. D. Lewis, CIFSYM Manual. University of Santa Clara. 17. A. Viadimirescu et al., SPICE version 2G User's Guide. University of California, Berkeley ( 1981 ).