Skip to content

zoltan-szabo/mgalcli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mgalcli — GAL command-line tool for macOS

A native macOS toolchain for GAL programmable logic devices (GAL16V8, GAL22V10), written in Swift. Compiles CUPL .PLD sources to JEDEC fuse maps — no Wine, no Windows VM, no abandonware IDE.

Sibling project of m11asm and J11Terminal; built for bare-metal DCJ-11 / PDP-11 hardware development on the DCJ11 SBC by Peter Schranz.

Status

Early development. Roadmap:

  1. JED toolkit (done) — read, write, decode, and diff JEDEC fuse maps; decode GAL16V8/22V10 macrocell configuration back to equations
  2. Equation compiler (done) — CUPL-subset combinational equations to GAL16V8 fuse map, golden-tested against WinCUPL output. Note: GAL16V8 simple mode is hardware-verified; complex mode (.OE) compiles to GALasm-equivalent fuse maps but failed its first in-circuit test and is considered unvalidated on real silicon
  3. Registered outputs (done) — .d/.oe/.ar/.sp extensions and a GAL22V10 fitter, golden-tested against the Multi IO card's WinCUPL image
  4. State machines (done) — CUPL FIELD and SEQUENCE (with IF/NEXT/ OUT/DEFAULT); Peter Schranz's original Multi IO glue PLD compiles unmodified to a fuse map equivalent to the hardware image. TABLE deferred until a design needs it
  5. Verification (done) — functional-equivalence diffing (part of the JED toolkit) plus cycle-level simulation: mgalcli sim design.pld script.vec drives a design through clocked vector scripts with watch/set/clock/expect commands, covering registered state machines, output enables and polarities before any chip is programmed

Building

Requires Xcode 16 or the Swift 6 toolchain.

swift build
swift test

License

MIT — see LICENSE.

About

Native macOS toolchain for GAL16V8/22V10 — CUPL to JEDEC compiler in Swift

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages