HAMLET - An Expression Compiler/Optimizer for the Implementation of Heuristics to Minimize Multiple-Valued Programmable Logic Arrays

Abstract

HAMLET is a CAD tool that translates a user specification of a multiple-valued expression into a layout of a multiple-valued programmable logic array (MVLPLA) which realizes that expression. It is modular to accommodate future minimization heuristics and future MVL-PLA technologies. At present, it implements two heuristics, [2] and [8] and one MVL-PLA technology, current-mode CMOS [6]. Specifically, HAMLET accepts a sum-of-products expression from the user, applies a minimization heuristic, and then produces a PLA layout of a multiple-valued current-mode CMOS PLA. Besides its design capabilities, HAMLET can also analyze heuristics. Random functions can be generated, heuristics applied, and statistics computed on the results. User-derived expressions can also be analyzed. In addition to the minimization heuristics [2] and [8], HAMLET can apply search strategies based on these heuristics, which, in the extreme, is exhaustive, producing true minimal forms. HAMLET is available to the public; instructions on how to obtain this program are in Appendix A. It is written in C and conforms to the UNIX command line format.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
May 01, 1990
Accession Number
ADA593561

Entities

People

  • John M. Yurchak
  • Jon T. Butler

Organizations

  • Naval Postgraduate School

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Algorithms
  • Analyzers
  • C Programming Language
  • Charge Coupled Devices
  • Computer Programming
  • Computer Science
  • Computer-Aided Design
  • Computers
  • Data Science
  • Engineering
  • Information Science
  • Lists (Data Structures)
  • Operating Systems
  • Programming Languages
  • Standards
  • Statistical Data
  • Statistics

Fields of Study

  • Computer science
  • Engineering

Readers

  • Applied Combinatorial Optimization and Logic Circuit Design.
  • Computer Programming and Software Development.
  • Computer Science.