l'ÉITI Recherche Nouvelles HREF= Répertoires Ressources Génie/Engineering Ud'O/UofO SITE Search News Directories Resources SITE

GaS ~ Genetic algorithm Synthesis
Updates (Skip to the introduction of the research)
  • January 28, 2001: Preliminary design concept laid out
    • The various modules have been designed in terms of functionality and input/output characteristics. The modules are the random number generator module (RNG), the selection module (SM), the crossover module (XM), the mutation module (MM), the fitness module (FM), the input instantiation module (IIM), and the control unit (CU).
    • The system operation has also been defined and analyzed. The memory architecture is being investigated into, as well as the memory interface to the external world, including software.
  • February 20, 2001: JBits investigation is underway
    • JBits is needed for various goals, including the configuration and the readback of the FPGA; the provision of test case inputs and experimental outputs; the partial reconfiguration characteristic of Virtex FPGAs; and the construction of the real-time bitstream.
    • As long as the designs are kept synchronous, then JBits will perform the intended functionalities mentioned above. To keep all designs synchronous, two basic rules have to be adhered to: 1) Guarantee that the clocks are not gated and 2) Guarantee the lack of asynchronous feedback paths. The first rule is quite simple to follow, as it involves the explicit watchful eye of an intermediate VHDL designer, but the second rule is broken up into two smaller sub-rules. The first sub-rule is to make sure that all clocks are driven by the global clock, and the second sub-rule is to make sure that all look-up table (LUT) inputs are only driven by the outputs of flip-flops. Upon the observance of these rules, JBits can be used to instantiate digital circuits for real-time testing and fitness evaluation.
  • March 26, 2001: Exceeded logic constraints on H.O.T. II platform
    • During the synthesis phase, the logic requirements of the project have exceeded the physical constraints provided to us by the H.O.T. II prototyping platform. The current results do not include the FM and the IIM, and are as follows: 820/784 CLBs and 968/1400 FFs. The excess in logic will be even greater once the remaining modules are implemented and consequently synthesized.
    • We have requested and have been approved for a Xilinx University Donation through the XUP. The donation involves equipping us with the two FPGAs that reside on the H.O.T. II platform, and thus through this donation, we have secured enough funds to upgrade to the H.O.T. II - XL platform, which is the extended version of the product. This will allow us to include the remaining modules and still have ample logic resources for further re-spins and/or features.
  • April 19, 2001: Datapath/controlpath development complete
    • ASM design for all responsible modules has been completed. Hardware implementation and functional simulation have also been successfully completed. All modules were designed and implemented using ASM datapath and controlpath methodologies, thus simplifying the future debugging process in order to systematically eliminate faults by the exact realization of what module is in which state.
    • Numerous testbenches were written in order to simulate the VHDL code for the different modules. A main testbench was also designed and implemented, which effectively simulates the software response to the various assertions (and de-assertions) of status signals in hardware. The software "sees" into the hardware through various control registers, mainly one for each module.
  • May 15, 2001: Presentation of research at CCECE in Toronto, Canada
    • The research was presented as paper #227 at the Canadian Conference on Electrical and Computer Engineering 2001 (CCECE 2001). It was presented in the Intelligent Systems II session on Tuesday, May 15th, 2001. The session was jointly chaired by Dr. Bruno Di-Stefano and Dr. Kostas Plataniotis.
    • The title of the paper was "Circuit synthesis evolution using a hardware-based genetic algorithm". A copy of the paper can be found below.
    • The title of the presentation was "GaS: Genetic Algorithm Synthesis - Technology Mapping Evolved". A copy of the presentation can be found below.
  • June 14, 2001: Splash and input parameters screens of GUI are complete
    • The initial screens of the graphical user interface (GUI) have been developed in Java, under the JDK 1.3.1 from Sun Microsystems. The development is being undertaken in Visual Age for Java, provided by IBM as a software donation to the University of Ottawa.
    • The input parameters screens consist of user-friendly formatted text boxes, check boxes and various other input objects. Altogether, they ease the user interaction and mask the detailed interworkings of the complete system.
In this research, we propose a scheme based on a hardware implementation of a genetic algorithm, to evolve the minimized logic solution of a defined input function. The minimization will be one of resource usage, more precisely of look-up tables (LUTs). The design aids in the difficult issue of technology mapping, as well as multi-level logic synthesis. The approach undertaken in this research involves intrinsic hardware evolution, where the circuit solution is evolved online, and the output is a minimized structure of the circuit. Our architecture is outlined and briefly discussed, while our current results are presented and analyzed.
  • Coming Soon!
Team members
Tools utilized

(all software tools supplied by the Canadian Microelectronics Corporation)

  • Xilinx Alliance - v3.1
  • Cadence NC-VHDL simulator
  • Synopsys VHDL Analyzer, Simulator and Debugger - v2000.06
  • Synopsys Design Analyzer - v2000.05
  • Synopsys Design Checker - v2000.05
  • Virtual Computer Corporation's (VCC) Hardware Object
    Technology (H.O.T.) rapid prototyping platform
Languages/Resources involved
  • Java (JDK 1.2.2) - Used to assemble a valid bitstream
  • C++ (Visual C++ 6.0) - Used to communicate and control the hardware device
  • VHDL (VHDL'93) - Used to design the hardware
  • JBits (v2.6.1) - Used to simulate a Virtex 300 (XCV300) FPGA
  • The Java Native Interface (JNI) is also used to instantiate a Java Virtual
    Machine (JVM) from C++ in order to assemble the valid bitstream. It is
    also used to pass parameters between the C++ and Java components
Return to top of page

Interesting Quote

"Simply stated, it is sagacious to eschew obfuscation."
--Norman Augustine
Rami S. Abielmona

School of Information Technology and Engineering (SITE), University of Ottawa
800 King Edward Ave., P.O. Box 450, Stn A,
Ottawa, Ontario, Canada, K1N 6N5
Tel: (613) 562-5800 ext. 2197, Fax: (613) 562-5175
Office/Lab: SITE Building, Room 3010
Email: rabielmo@site.uottawa.ca
Contactez: L'École d'ingénierie et de technologie de l'information /
Contact: School of Information Technology and Engineering
Copyright © 2002 Université d'Ottawa / University of Ottawa
Webmestre / Webmaster