Go to the first, previous, next, last section, table of contents.


Infrastructure

SIMSYNCH unpacks into a directory called `synch'. I set up design directories as peers of `synch'; that is, both are subdirectories of the same directory. I find it useful to put related designs in one directory. I use short design names which prefix all SIMSYNCH files which comprise that design. For instance, a design comprised of files `foo.scm', `fooio.scm', and `foojtag.scm' having a block named `xp' would compile into `foo-xp.pds'.

In order to load SIMSYNCH files, you need to create a local SLIB catalog (named `usercat') within the design directory or your HOME directory. This catalog translates symbols to the pathnames of SIMSYNCH files.

;;; "usercat": SLIB catalog additions for SIMSYNCH.     -*-scheme-*-

((
  (simsynch     . "../synch/simsynch.scm")
  (run          . "../synch/run.scm")
  (schlep       . "schlep.scm")
  ))

My design files can then load SIMSYNCH with the expression:

(require 'simsynch)

Function: Time-stamp: time-string
The Time-stamp: procedure is named to exploit a feature of the Emacs text editor. The Emacs command `M-x time-stamp' updates the string in the Time-stamp: expression to the current time and author.

If Time-stamp: is not called, the default time-stamp is #f; the default author is me.

Function: Revision-stamp: obj
Function: Configuration-stamp: obj
Function: Company-stamp: company-name-string

The rest of these stamps are not supported by Emacs.

All of these information fields are used in creating the headers for logic compiler design files. This information can also be used to in creating identification fields for programmable logic devices.

(Time-stamp: "97/10/17 14:31:24 jaffer")
(Company-stamp: "Bipolar Technologies")
(Revision-stamp: 0)

Function: create-board board-name dbtype
Creates an SLIB relational database of type dbtype as file `board-name.db'. The returned open database has empty tables for describing the pin and signal arrangements for a design.

Variable: *design*
This symbol names the design. *design* should be set before loading SIMSYNCH files. The design name is used in constructing filenames. The default value for *design* is test.

Variable: *board*
When loaded, the file `simsynch.scm' sets the identifier *board* to the database created by (create-board *design* 'alist-table).


Go to the first, previous, next, last section, table of contents.