Educational programmable system for prototyping digital circuits

International Journal of Electrical Engineering Education, Jul 1998 by Zemva, Andrej, Trost, Andrej, Zajc, Baldomir

Abstract In this paper, we present an educational programmable system for prototyping digital circuits. The system is composed of the PC and the prototyping board composed of 3 FPGAs. PC is used for designing a digital circuit, programming the FPGAs, automatic generation of the interface logic and hardware verification of the designed circuit.

1 INTRODUCTION

With the computational power of today's computers and advances in CAE (Computer Aided Engineering) and EDA (Electronic Design Automation), the design cycle time of large digital systems is drastically reduced. Until the first appearance of Field Programmable Gate Arrays (FPGAs) in the mid-eighties1, a certain gap between the circuit design phase and the circuit implementation phase existed. Implementation in a mask-programmable technology such as mask-programmable gate arrays or standard cells typically requires extensive manufacturing effort that results in a high cost and relatively long implementation period of several weeks.

User-programmability that is built into FPGAs significantly reduces the time and the cost of the prototyping realization of the design and allows fast re-design that is often imposed with the design errors in one design cycle. Another important aspect of FPGAs is that the designer can implement a circuit by himself, and thus complete the whole design process from the initial circuit specification to the physical implementation and system integration in one place. This is especially important for educational purposes. For example, circuit design practice courses at universities are often constrained with the tight timing frames and limited financial budget which may prevent students completing large ASIC designs unless FPGA technology is used. Through the complete design process, which ends with the working implementations, students get insight into each step of the design cycle and some specific problems that occur with prototype realization, hardware verification and integration of the design into the existing system.

We first motivate and present the basic requirements and objectives that have been evaluated in the present programmable system. Developed hardware and software are presented next. In the last two sections, we discuss implementations of some real designs, our experiences and directions for the future work.

2 HARDWARE PROTOTYPING ENVIRONMENT

2.1 Motivation

Our primary goal was to build an FPGA based hardware prototyping system and a general-purpose fully user-programmable environment that provides sufficient flexibility for the implementation and hardware verification of various types of designs. Since the system is intended to be used mainly as an educational experimental and demonstration board to support digital design courses and the practices of undergraduate students, it should provide an implementation of digital circuits with the logic complexity up to 10,000 equivalent logic gates. We considered a typical user to be a relatively inexperienced designer, with no specific knowledge of design automation and related problems such as component placement, routing, partitioning, hardware verification methods, etc. Thus, the system is designed to be easy to use and fully supported by the software for automatic implementation on the prototyping board.

2.2 Basic hardware components

We follow some useful hints and requirements given in Refs. [2] and [3]. Fig. 1 illustrates the programmable system, consisting of a host PC computer, a programmable hardware board with 3 Xilinx XC3000 FPGAs4 and an external board. A PC computer is used here as:

a host computer for peripheral mode programming of daisy-chained FPGA devices,

a test engine to perform functional verification and

an environment where the implemented designs can be used.

We built a relatively small and simple programmable prototyping board consisting of one Xilinx XC3195pg175, assigned as LCA2, and two XC3042pg132 FPGA devices, assigned as LCA1 and LCA3. The largest device, LCA2, is mainly used to implement a designed circuit, while the rest of the devices implement interface controller which connects the prototyping board to the external memory and to the PC bus. As shown in Fig. 1, each of the LCA1 and LCA3 devices is connected with 72-bit wide datapaths to the LCA2, covering together all 144 user I/O pins of the LCA2. Since the interface controller utilizes a relatively small portion of both FPGA devices, we lock I/O locations at these FPGA devices according to the connections to the LCA2. We give a more detailed description of the interface controller later on. The programmable board is connected with a 24-bit wide datapath to the host PC computer which provides parallel communications with 16 data lines, 4 address lines and 4 control lines. A 144 pin connector around the LCA2 is used to provide access to all user I/O signals and to connect additional external boards. An example of the external I/O card is shown in Fig. 1. It consists of a 128k x 16 static RAM, a clock generator, a debounced keyboard and a display. Since the FPGA board is intended to serve also as a standalone demonstration board, additional EPROM may hold the configuration data for master-mode programming of the daisy-chained FPGA devices.


 

BNET TalkbackShare your ideas and expertise on this topic

Please add your comment:

  1. You are currently: a Guest |
  2.  

Basic HTML tags that work in comments are: bold (<b></b>), italic (<i></i>), underline (<u></u>), and hyperlink (<a href></a)

advertisement
Click Here
CXO UnpluggedSmart Business interviews on BNET

See and hear how senior level executives across the Asia Pacific are developing smart business ideas across a variety of sectors. The focus is on the future, and on how businesses need to evolve.

advertisement
  • Click Here
  • Click Here
  • Click Here
advertisement

Content provided in partnership with ProQuest