ELSEVIER
Copyright © IF AC Programmable Devices and Systems, Ostrava, Czech Republic, 2003
IFAC PUBLICATIONS www.elsevier.comllocate/ifac
GRAPHICAL FRAMEWORK-SUPPORTED DIGITAL DESIGN Vladimir Kasik Department of Measurement and Control Faculty of Electrical Engineering and Computer Science VSB Technical University Ostrava Ostrava, Czech Republic
[email protected]
Abstract: The architecture features of today's FPGA devices together with a capability for implementing highly parallel arithmetic architectures makes the them ideally suited for creating high-performance custom data path processors for DSP applications and many others. In this project an open program system for digital design applications, suited to Programmable logic devices, especially Field Programmable Gate Arrays (FPGA) is presented. Fundamental implementation idea is based on usage of MatIab and its integrated part - Simulink. Copyright © 2003 [FA C Keywords: Digital circuits, Logic arrays, Logic circuits, Logic design, Integrated circuits.
1. INTRODUCTION
evaluation and/or verification, exist as "programoriented frameworks" (Hrudka, 2001). The mentioned project uses so called MVC framework (Hrudka, 2001; Szyperski, 1998).
Today's FPGAs consists not only of look-up tables, multiplexers, registers, distributed and block memory, but also dedicated circuitry for fast adders, multipliers, and I/O processing. The availability of powerful FPGA devices could be only one part of complex digital system design solution. Successful implementation of designed extensive logic functions requires some easy to use development tools. In-circuit design of digital systems can be created usually either as diagram in schematic editor or as textual description in some HDL language. An VHDL is very popular due to its standardization and good portability. However, expressive advantage of schematic design still remains - lucidity and clarity of the graphical description form, especially in hierarchical designs. An Integrated Development Environment (IDE) with the broad set of logic parts - from simple gates to parametrizable functional blocks - is very useful. Essential parts of those IDEs are tools for evaluation, verification and simulation of designed 10gic.The application design tools, providing the model
2. FRAMEWORK AS !DE TOOL In their philosophy the frameworks are always oriented to any commonly used problem area in which they already offer a basic compact solution. Generally, that solution was evaluated as the best and the most reliable. Adaptation of frameworks to specific user application purposes is usually done with the development of specific class subdivisions from abstract framework classes. The concept, used in the framework kernel, will define the structure of resulting system as well as division into classes and objects, their interoperability, control sequence, etc. In some ways, these facts could be mentioned as constraint rules, however they contributes to design purity. Thereby, the framework predefmes the design parameters and then a designer can fully concentrate hirnselfto specific application properties.
387
2. J MVC Frameworks
MVC frameworks are largely used for generation of documents, interactive forms, etc., with use of Model-View-Controller architecture. The advantage of that architecture is obvious specification of roles implemented in separate parts of code and less difficult decomposition into three basic structures: Model, View and Controller.
Fig. 1: MVC framework "Model" is used to basic information encapsulation together with their properties. "View" represents the portion oriented to data interpretation (contained in model) to the user. In addition, the "View" carries information about its own behaviour. Due the fact, that each "View" usually requires different type of handling, there is also specific type of control "Controller". Typical layout of "MVC framework" together with relations between classes is shown in Fig. 1. 3. FLEXIBLE GRAPHICAL DEVELOPMENT SYSTEM DESIGN The aim of that design is to provide an extensible program system for digital design applications, suited to Programmable logic devices and Application Specific Integrated Circuits. That system is created by kernel extension of the framework development environment for control and information systems development support. The digital designing principles using that system uses the methodology, based on graphic interpretation of modelled problem and its solution in terms of generated structurallbehavioral model in VHDL. The selected development tool for creating the application is a MA TLAB with Simulink. Main advantages of that software, which are important for the project are as follows:
. Wide user support ensures a rapid library development for extending the software efficiency in many technical branches. The advantage of use of that product in mentioned project results from their orientation to creation of so-called compound documents and easy extensible basic graphic functions in frameworks. The portability of created applications, which can run on all platforms supported by system, is the next considerable benefit. Application designing technique in that development environment enables their easy maintenance, advancement and keeps their lucidity and configuration. On the other hand, VHDL based digital systems development environments usually have a set of specific tools for design entry, synthesis, implementation and simulation. These tools are drawn with the supposition, that the designer is familiarized with the design methodology and VHDL syntax. Then, the designer should have a plenty of library components (standard or user-defmed) and the possibility of adjusting of their parameters and interconnection in complex project solutions. There are many designs in many applications, in which we can observe certain similarity in their graphical representation, that could be generalized. There are digital filters, arithmetic and logic units, communication modules, etc., as an example. The designed Graphical Development System block diagram is shown in figure 2. The MVC framework described above is used as IDE tool for creating the object oriented graphic user interface (GUI). The design entry is then performed using that GUI together with the application specific Block library for the digital systems. While in the Windows environment the objects in library are OLE objects, in the MVC framework concept they carries the information as the Model. In the initial phase of the project a basic requirements for elements of extended framework layer have been specified: a ) All the elements will be defmed as objects with the specification of properties (attributes) and function - mathematical or logical. In the eye of the graph theory these objects represent nodes. b ) The objects can have input and output connection points. Thanks to these points the objects can be interconnected with directed lines (edges).
· Open and extendible system · It satisfies a defInition of the framework
c ) Generally, these directed lines represents any data stream.
· It fully implements a GUI (Graphic User Interface) · It implements a variety of math and logic functions
d ) The groups of objects (categorized by function) can be merged into groups - library modules with the hierarchical structure creating possibility.
· Graphic structures are easily described in the form of text files.
e ) The user will be able to set individual object attributes, while the function implementation of these objects remain hidden (encapsulated) in them. Then 388
phase. Presently these stages are not fmished completely yet, the actual works primarily pertains to Block library expansion and Netlist compiler development.
the object functions are still the proposition of their author. f) Making of the application will be based upon the graphic diagram drawing in the form window of the extended framework kernel. The user is not restricted of the number of objects nor line instances. The visual form of objects will be derived from graphic user interface (GUI) of the framework kernel and operating system.
ACKNOWLEDGEMENT This project is supported by CEZ13 project and GACR grant No. 102/021P049 ,,Flexible graphical development system design and development for creating the VHDL-based applications.
g ) The object designer will be able to affect their visual form with the GUI without the need of framework kernel nor other extended kernel level modification. Finally, a netlist, i.e. list of used objects with their attributes and list of interconnecting lines with their direction, will be generated as the result of the graphic diagram drawing.
REFERENCES Hrudka, G.: "Component framework as a fast way to reliable and powerful applications". AUTOS 2001. Szyperski, c.: Component Software - Beyond Object Addison-Wesley, Oriented Programming. ACM Press New York, 1998. ISBN 0-20117888-59. Pfister, c.: Component Software: A Case Study using BlackBox Components. Oberon Microsystems, Inc., 1998.
g) Finally, a netlist, i.e. list of used objects with their attributes and list of interconnecting lines with their direction, will be generated as the result of the graphic diagram drawing. " BLOCK LIBRARY MVC lramewor1<
(Simulink environment)
t-----
NetJistcompiler
Fig. 2: Graphical Development System flowchart
As an result of the graphic design entry in specific GUI, a netlist (text file) is exported. Up to here the tools can share a lot of common attributes, independently on applications outgoing from objectoriented approach. The netlist then passes to strongly application specific netlist compiler, which is an executable program created in common progranuning language (C++). It is the tool performing the design decomposition, evaluation, testing and compiling into the VHDL description. The Synthesis tool in figure 2 is any commercial product, needed to finish the digital design.
4. CONCLUSION An essential advantage of the mentioned systems is
their rediness to solve complex problems with retaining their lucidity and clarity. Thanks to the fact, that the basic kernel of the system is optirnized and tested, the created projects have better probability to be reliable applications. The project has 3 main development stages: Analytical phase, Design phase and Implementation 389