Hochschule Kempten      
Fakultät Elektrotechnik      
Publications       Fachgebiet Elektronik, Prof. Vollrath      

© 2018 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
DOI:

Open Access Microelectronics Course

Jörg Vollrath University of Applied Science Kempten, Germany Joerg.vollrath@hs-kempten.de

Abstract


This paper presents the concepts used for a master class Microelectronics. The course contents are presented as web pages on the internet also for mobile devices. JavaScript enables a Powerpoint like presentation mode, animations, questionnaires and rendering of LTSPICE schematic files on a web page. Only no cost minimum administration tools LTSPICE, "Electric" and ISE Webpack are used for a laboratory to provide open access and enable a chip design. The status of development is shown with an example of a manufacturing process animation, a scan cell design and a synthesis of a UART.

Keywords-micro electronics, circuit simulation, open access, SPICE, elearning, JavaScript, HTML

I. Introduction


Microelectronics is an important topic in electronics engineering. Electronic circuits are evolving using newly available integrated microelectronic circuits. Microelectronics classes are normally provided by universities close to integrated circuit and semiconductor manufacturing industry. Nevertheless many concepts and strategies from microelectronics should be transferred to electrical and electronics engineering. Microelectronics implemented a roadmap strategy to set goals for ever decreasing feature size and higher integration. Integrated circuit product development worked on the principle of providing first any solution and then working on improvements. Simulation and verification of circuits are implemented and are beneficial for the development process of new circuits. Software automation, big data analysis and automated manufacturing like industry 4.0 are employed since the start of microelectronics and are very important to guarantee quality and improve a process. Therefore microelectronics with 90 minutes lecture and 90 minutes laboratory over 14 weeks at the University of Applied Science Kempten is part of the master program 'Electrical Engineering'.

Kempten is located in the south of Germany close to the Stuttgart and Munich area. Bosch, Infineon and Dialog semiconductor are semiconductor companies located nearby. There are also a lot of electronic design automation (EDA) and distribution companies present in the Munich area. The master course is an international course held in English with 15 to 35 students each year. There is only limited funding and manpower available to support this lecture. Therefore an open access no cost approach was used to realize a laboratory and the lecture.

An open access approach for the lecture was used to make it as easy as possible to distribute lecture material and keep it up to date. Presenting all material on a web page makes it accessible from stationary and mobile devices at all times and can be easily found by search engines. The HTML code for the content can be directly updated without having to produce extra pdf files and put them into a content management system like Moodle or on a special file server. HTML and JavaScript also provide means to enrich the pages with equations (MathJS[8]), charts, animations, drawings, pictures, videos and simulations. Examples of features of web pages will be shown first. Emphasized is rendering original LTSPICE schematics on a web page in the next chapter.

Practical examples of a design of a scan cell and a synthesis of a UART with no cost tools are presented next. Challenges for students during laboratory are discussed. Creation of new standard cells and a design flow from VHDL to layout were necessary. The resulting layouts are shown.

Finally a summary and outlook will be provided.

II. MICROELECTRONICS COURSE


The class is structured based on the classic books CMOS VLSI Design, Weste, Harris [1], CMOS Circuit Design, Layout, and Simulation, Baker[2] and CMOS Analog Circuit Design, Holberg[3]. It uses a bottom up approach going from transistor to system on a chip. It has emphasis on automation, simulation, test and verification. Details can be found at the course web page [5].

"Electric" [7] as a design and layout tool was chosen instead of a commercial available system due to no cost and low maintenance. "Electric" is written in Java and can be installed with a local copy of Java. So there is a installation available, which can be copied between systems without having to hassle with the version of java, "Electric" and installation procedures. There is also no license needed making the use in an university environment easy. It is very convenient, where each semester a large group of new students starts to use this tool. Since it is of no cost students can install it on their hardware and use it at home. "Electric" has all basic tools for design and layout except a behavioral VHDL synthesis option. There are design rule checks, layout versus schematic, simulation options and a place and route tool. For simulation LTSPICE can be used. This work shows a way to enable behavioral VHDL synthesis.

LTSPICE is a free SPICE simulator and is used in other lectures at the university. There is no circuit size limited implemented. The size is only limited by the available hardware and simulation time. Documentation options for schematics in LTSPICE are very limited. LTSPICE files are saved with cryptic names. It is very difficult to find a circuit understand the working principle and redo simulations. Therefore it was decided to implement a LTSPICE schematic drawing tool for web pages to improve documentation capabilities and ease of use. A web page can be created displaying all LTSPICE schematics from a directory with filename, comments and annotation.

Enabling synthesis is very important for microelectronics. "Electric" has already a built in silicon compiler taking VHDL code and creating a layout. The VHDL code has to be a structural description without vectors and with the type bit instead of STD_LOGIC. Xilinx Webpack can transform behavioral VHDL into structural VHDL for the used FPGAs. Since this tool was used in a class of digital electronics, it was found out, that it can be used for synthesis of a layout, if the primitives of the FPGA would be present as layout circuits. Therefore a tool was created to transfer structural Spartan 3 FPGA VHDL code to "Electric" compatible code and a library with FPGA primitives was created by the students. A glue script was still needed to change the coding a little bit. To make it easily accessible and maintainable it was written in JavaScript and made publicly available on the internet.

Laboratory starts with MOSFET performance simulation and standard cell layout. Then a CMOS inverter is investigated. These laboratories are guided laboratories with step by step instructions and cover 4 sessions. After that an open laboratory is done covering the rest of the semester with only open instructions. This has the benefit to be able to work on some research topics or create new circuit libraries and tools. In former laboratories a rotary encoder circuit, a scan cell, a pipeline ADC circuit and a GNOME microprocessor were investigated.

All steps as used for a chip design were done by the students during the laboratory in a very limited time frame. At the end the students provided a pdf report about their results. This report is matching a typical engineers report in industry and was used for grading.


Fig. 1. Microelectronics start web page

III. OPEN ACCESS COURSE WEB PAGE


This work presents an example of open access web pages used for presentation during a lecture and at the same time as script for students. The starting page is shown in figure 1.The QR code enables the students to directly go to the web page using their mobile devices.

There are many examples of course material on the internet as pdf files or HTML text files [1,2,3]. It is very difficult to combine and rearrange this material for a target audience and use it in a class environment. Here a simple JavaScript slide show system S5 [4] was extended for use in electronics engineering class. This systems allows switching a web page from normal outline display mode to a Powerpoint like slide mode. Using native HTML and JavaScript makes the access much faster and provides more features then pdf or Powerpoint. In this context embedded real data can be processed to charts, mathematic equations are listed in LATEX style providing easy copy and paste, animations can be done and interactive web based student response systems can be used. The students can view the material on their mobile phone or laptop during the lecture. Buttons are used to show and hide solutions of given tasks. It is even possible to provide data processing tools like demonstrated in this paper to convert VHDL code from one tool to another input format for the next tool. All files can be copied to a local drive and operated without internet since the JavaScript is executed on the client side.


Fig. 2. Animation of a CMOS manufacturing process on a web page

Figure 2 shows the picture of a CMOS semiconductor manufacturing process animation in a slide view mode of the HTML file. The figure shows the final top view and cross section of an inverter. The buttons allow to step through the manufacturing steps. The process starts with active area, followed by well creation, polysilicon gate deposition, source drain formation and finally contact and metallization. Alignment marks are presented on the left and right to discuss problems during pattern transfer. Using JavaScript for animation makes the drawing a little bit more difficult, while providing many options for customization. It is much easier to scale the animation. In a MOSFET transistor animation mobile carrier concentration in the silicon was connected to transfer and output IV curves. This gives the student more insight into the device mechanics.

Schematics in LTSPICE are saved in ASCII files using simple primitives like WIRE, SYMBOL, ATTRIBUTE and TEXT. There are also sub circuits used residing in separate files for the circuit and the symbol. JavaScript provides with jquery.js a simple method to load files and a canvas object to render graphics. In the HTML file first the LTSPICE JavaScript module is loaded. For the actual circuit a canvas is used, a control to set drawing options and some sections for the LTSPICE code are defined. The canvas can be arbitrarily sized to display the schematic properly. Below is typical HTML code for a LTSPICE schematic and figure 3 shows the resulting schematic.

<canvas id="Scan_cell_small_CE" width="300" height="250" level="0" class="LTSPICE" sym="NAND2,TG,INVx,AND2,OR2"> </canvas>


Fig. 3. Scan cell schematic on a web page

The class LTSPICE marks this element for processing. The id is the name of the LTSPICE file in a subfolder LTSPICE and sym is a comma separated list of used symbols. Parameters 'width' and 'height' define the size of the drawing. The extra parameter 'level' defines how much detail is shown in the schematic. LTSPICE text, labels and component names can be hidden using a different level of display. A link is provided for the schematic Scan_cell_small_CE.asc file and the sub circuit files. This makes it easy to download the schematic. For additional files needed for simulation links can also be provided. HTML and JavaScript allows to provide buttons to hide or show this information giving different views. Formatted text can be added on the web page to explain and document the circuit. This allows providing all information while still having a nice dense page layout.

Since this tool is still in development improvements in the user interface are ongoing. It is very easy to copy the webpage to a local drive and modify it. The web page works on the local drive, since JavaScript is executed at the client side. Modifications of the LTSPICE file will be directly displayed at the web page.

More examples using open access web pages can be found on the university web page for the lectures Elektronik 3, Digitaltechnik and Interface Electronics [5].

IV. SCAN CELL DESIGN


Test is one of the important concepts to be able to guarantee functionality of an integrated circuit. Scan cells are modified D-flip-flops with a test enable input and test data in and test data out pins. Unfortunately it is difficult to find a layout of a scan cell. Therefore in summer 2015 the open laboratory dealt with the synthesis of a dynamic scan cell. Starting point was the muddlib library containing flip-flops and logic gates, but no scan cell.

It was interesting to observe the students extending the D- flip-flop to a scan cell. Some students did the design by hand adding additional cells to the provided library primitives and routing by hand.

The other group of students used the silicon compiler to transfer the schematic into layout. Then they shifted the metal 2 connection into the cells by hand. Since there were more connections than space available, some modifications of the base cells were needed to make room for the wiring. Overall the automated approach was faster and made it possible to explore more options than hand routed designs. The automatically routed scan cell was larger than handcrafted cells. A result of an automatic wired cell is displayed in figure 4. It can be seen how M1 horizontal lines were shifted into the cell. Strict rules running M1 horizontal, M2 vertical and using minimum sized transistors enabled successfull design. This is one strategy to reduce complexitiy. Between some cells gaps can be seen due to some overestimation of cell size from place and rout tool.

Fig. 4. Synthesized scan cell layout with modified routing

The students compared their results reflecting on similarities and differences.

V. UART EXAMPLE


In summer 2016 the laboratory dealt with the synthesis of a UART. During the laboratory a library of all base cells for synthesis was created by the students. With the library a given VHDL code for a UART was used for synthesis. Since there is no built in tool in "Electric" to do this a new work flow was created (figure 5). Xilinx Webpack was used to map a behavioral VHDL to a structural VHDL description using a limited number of Spartan 3 FPGA primitives. The primitives were flip-flops, multiplexers and 4 input lookup tables (LUT). Flip-flops and multiplexers were available in the "Electric" layout library muddlib. 4 input lookup tables had to be mapped to layout. Instead of creating all 256 possible cells. All 16 possible logic functions for a 2 input logic circuit were created. A 4 input LUT was substituted in VHDL with four 2 input LUTs and a multiplexer. The students had then the task in the laboratory to create these 16 layouts and verify functionality.


Fig. 5. Synthesis work flow

"Electric" works only with a structural VHDL description without STD_LOGIC_VECTOR and only with the type BIT. Therefore some script code had to be implemented to translate the Xilinx Webpack VHDL file to an "Electric" compatible format. To make this tool easily accessible it was decided to implement it as a web page and use JavaScript for translation. The web page AnalyzeJS.html [9] has an input field where the original VHDL code is pasted. With a button the VHDL is then converted to the desired "Electric" format. Since this is a web page an example VHDL code was embedded into the page to check correct functionality. Additional documentation can also be included in the webpage. Interactive buttons can show and hide this documentation. This web page is on the internet, so everybody can use it, copy it and modify it. This realizes open access.


Fig. 6. UART synthesized layout

The code was successfully transferred to "Electric" and a resulting layout can be seen in figure 6. Since only 2 metal layers are available for routing more area is used for wires than for transistors. The synthesis took between 2 and 3 minutes. Options allowed to set the number of standard cell rows. Different settings could be explored to get a square chip and study the effect on the total area.

It was planned to use a LTSPICE simulation to verify operation. Unfortunately the circuit was too big for LTSPICE to find an operation point. Due to lack of time no switch level simulation using IRSIM was done.

VI. SUMMARY AND OUTLOOK



Open access classes are successfully used at the University of Applied Science Kempten. This paper presents the JavaScript tools and internet web pages for a microelectronics class. This concept makes it much easier for the student to replicate simulations and study microelectronic learning material. For the professor it is easier to maintain and update documentation and results. JavaScript and HTML in this context can provide more tools and functionality than traditional learning material giving a better user experience and a more effective learning environment. This was demonstrated with the VHDL processing tool AnalyzeJS and the process animation example. Web pages with schematics make it possible to document circuits and results completely.

In this environment it was possible to do a layout synthesis of a UART at no cost and with minimum man power. The web pages provide detailed instructions. No cost tools ("Electric", LTSPICE, Xilinx Webpack) could be combined with some JavaScript code and a small cell library to get this result. Final verification of the resulting circuit with simulations using IRSIM has still to be done. Changing all library cells to use unit sized transistors is also an ongoing activity.

In the future it is planned to improve the LTSPICE display and implement the functionality to display layouts from "Electric" directly in a web page. Having basic JavaScript routines for layout makes it possible to improve cell layout, routing for more than 2 metal layers and routing in a chip frame. Finally a chip has to be manufactured using these tools.

REFERENCES


[1] Neil Weste, David Harris, CMOS VLSI Design, Pearson, www.cmosvlsi.com
[2] R. Jacob Baker, CMOS: Circuit Design, Layout, and Simulation, Wiley, www.CMOSedu.com
[3] P. E. Allen, D.R. Holberg, CMOS Analog IC Design, http://www.aicdesign.org/scnotes10.html
[4] S5: A Simple Standards-Based Slide Show System, https://meyerweb.com/eric/tools/s5/
[5] J. Vollrath, University person page
[6] J. Vollrath, Microelectronics, https://personalpages.hs-kempten.de/~vollratj/Microelectronics/Vollrath_Micro.html
[7] Electric, http://www.staticfreesoft.com/index.html
[8] MathJS, mathjs.org
[9] J. Vollrath, AnalyzeJS, https://personalpages.hs-kempten.de/~vollratj/Microelectronics/AnalyzeJS.html
Dr. Ing. Joerg E. Vollrath received 1989 his Dipl. Ing. and 1994 his Ph. D. in electrical engineering, semiconductor technology at the University of Darmstadt, Germany. Since then he worked for the memory division of Siemens and Infineon Technologies and Qimonda in various locations in the USA and Germany. He is now a Professor for Electronics at the University of Applied Science, Kempten, Germany. His expertise and interest lies in the field of design of analog and digital circuits, programmable logic, test, characterization, yield, manufacturing and reliability. He has published 30 papers and has currently 32 patents.