Logic Simulation
using CHGEN, OLC, and OLCDBG
Prof. R. J. Lechner
Fall 1996, 91.522 Object-Oriented
Analysis and Design
Owen McGonagle
Computer Science Department
University of Massachusetts at Lowell
December 2, 1996
CHGEN is a code generating tool that supports a data model-based
approach to programming. Object Life Cycle (OLC) Architecture
uses CHGEN generated code to simulate object life cycles in a state
machine operating model. An OLC debugger (OLCDBG) has been
developed to support the stepping through of object life cycles
during state machine execution.
This project uses CHGEN, OLC, and OLCDBG to simulate a
divide-by-8 counter as described in the 91.522 Midterm Exam
given on Tues. March 7, 1995.
Project directories:
$CASE/96f522/omcgonag/JPsim
$CASE/96f522/omcgonag/chgen
Successor project directories:
CHGEN Version 10: $CASE/95s523/genv10/base
OLC Architecture: (CVS Master Repository)
$CASE/95s522/95solc/base/Master/JPsim
Successor project documents:
CHGEN Version 10: $CASE/95s523/genv10/base/doc
OLC Architecture: $CASE/93su523/olc/base/doc
($case/96f522/omcgonag/doc/final.doc)
WP: Microsoft Word 6.0
FINAL REPORT OUTLINE
1. Introduction
1.1 Goals
2. Logic Simulation
3. State Machine
3.1 State Model Creation
3.2 Action Routines
3.3 Event Trace Diagram
4. OLC Debugger (OLCDBG)
5. Building the application
6. Concluding Remarks
Appendix A: Schema file: olc96fa.sch
Appendix B: Header file: olc96fa.h
Appendix C: Network Datafile: run1.dat
Appendix D: Toggle FlipFlop object create: TFFCreate (tfcreate.c)
Appendix E: Toggle FlipFlop Action: TFAction (tfaction.c)
PROJECT STAGES
Achieved Tasks:
1. Port of CHGEN and OLC to PC using Borland C/C++:
- Directory build structure
- File name changes
- PC function pointer
- PC 64kb text and data size restrictions.
2. Test of Reinig OLC Architecture two state machine.
3. Development of OLC Debugger.
4. Simulation of process synchronizer
5. Simulation of divide-by-8 counter
6. Build and execute simulation on node jupiter:
- Start from JPsim Master repository.
Deferred tasks:
1. Port Operator class and JPsim to PC.
2. Document all port modifications:
- Bug fixes
- Bugs outstanding