CLA-FSMedit v1 3/12/93 ½1993,by Craig Graham ===================== Summary ------- This program allows you to design finite state machines graphicaly, and implement them in hardware using a p22v10 Programable Logic Array Chip. This program comes as part of the CLA Digital Design System, although it is not integrated in this version. THIS IS NOT A MANUAL, IT'S A DESCRIPTION. Introduction ------------ Most programs in the CLA design suite have their drawbacks & faults. The major one's with this program come from it being a rushed job. I needed to design a finite state machine (actually, the Digitiser Control FSM which is included as an example), so I wrote this program to help me do it. I'd been intending to write one for a while, so it wasn't a real hardship. (Note:This program represets 4 days of intense work start to finish.) Registration ------------ Since this version was written, a few features will have been added to the designer such as a simulation function & an interface to the rest of CLA, so it pay's to register you copy of CLA, as this comes in with that registration fee. (I'm actively using this program at the moment in my MEng Microelectronics project). Unlike the rest of CLA, you are welcome to use this without registering, but remember that a better version will come with registering the rest of CLA, so it's worth your while. Limitations on this version --------------------------- o Only p22v10's are supported. o No output to CLA .NET format is supported. o Only colour machines are supported (get a Falcon man...). o Evaluated conditions are not finished. System Required --------------- You don't need a massive system to run this program, however...... The GUI is only designed for COLOUR monitors. I use colours for highlighting in the editor & for the dialogs. TOS4.x 3D objects are used as well, so some dialogs will look silly on older machines - get multiTOS see what you're missing. The registered version will behave as does the rest of CLA & use two seperate RCS files. I simply didn't have time to do it for this version. You will need to get a copy of PASSM for the Atari to make this program useful. This is available via FTP. Don't worry that most of the manual document is missing from the PASSM archive, I've worked it out from the source code, and you'll never actually have to write any PALASM code yourself as CLA-FSMedit does that bit for you. Note however, that PASSM does have some bugs in it - you would be better to use PALASM2 on a PC for the time being. This is the design path I use at the moment :- 1) Atari Falcon running FSMedit to design & document the state machine. Export .PL2 file for PALASM2. 2) PC running PALASM2 for compiling & simulating. Export .JED file for device programming. 3) Universal Programmer for programming the device. PAL22V10 chip for testing. 4) Hewlett Packard Logic Analyser for testing the actual device. File Formats ------------ This program generates 4 types of file. 1) .FSM files are the CLA-FSMedit native file format, which it stores FSM's in. .PAL, .PL2 & .GEM files are exported via the TOOLBOX dialog window. 2) .PAL files are output from CLA-FSMedit on demand and are PASSM source files, targetted for a p22v10. These can then be compiled using ST-PASSM to produce JEDEC fuse maps for programming a PAL. If you wish to aim for a different PAL, then REGISTER THE BLOODY PROGRAM, then perhaps I'll help you. Watch out for the bugs in PASSM. 3) .PL2 files contain the same information as .PAL files, but in PALASM2 format. It must be said that using PALASM2 to compile designs is MUCH better than using PASSM, as you can target almost any device, and can run simulations & produce test vectors using the software - unfortunately it only runs on a PC. I will eventually get PALASM out of the loop by generating the JEDEC files direct, and allowing simulation of the PLD inside the main program, but for now I have to recomend that you get PALASM2 and use a PC for final testing & PLD programming. 4) .REP files are generated at the same time as .PAL & .PL2 files, and contain more detailled information about the FSM (eg, easily read pinouts, state bit assignments, transistion conditions, output variable states, etc). 5) .GEM files are the standard GEM metafile format we all know & love. Works fine as long as you have GDOS installed with the metafile driver as device 31. Works with NVDI & Speedo. Note that the .GEM's are in colour. Examples -------- There are two example files included, B.FSM & V6.FSM. B.FSM is the simple 3-state FSM which I used as a test piece for the program. This will compile quite happily with PASSM on an ST, but isn't very complex. V6.FSM is the state machine which I wrote the program to design in the first place (it's the controller for a video digitiser/frame grabber). You would require PALASM2 on a PC to compile this state machine due to the bug in PASSM on the ST. IMPORTANT NOTES: --------------- As it's not immediately obvious, the  button at the far right of the editor widget bar is the SELECT/EDIT icon - it allows you to select which state you wish to edit, and also to drag that state to a new posistion on screen. For the Output Metafile option to work, the GDOS META.SYS driver should be installed as device 31. FSMedit will accept a command line filename of an FSM - so you can use install application from the desktop, using the document type .FSM