Close
0%
0%

GAL14500

GAL16V8 MC14500-LIKE UNIT

Similar projects worth following
This GAL (ATF16V8B...) version of the MC14500 has some differences in working with peripherals, but it has an original instruction set.

The Motorola MC14500B is a single chip, one-bit static CMOS processor optimized for decision-oriented tasks. The processor is housed in a 16-pin package and features 16-four-bit instructions. The instructions perform logical operations on data appearing on a one-bit bidirectional data line and data in a one-bit accumulating Result Register within the ICU. All operations are performed at the bit level.

See more in MC14000B INDUSTRIAL CONTROL UNIT HANDBOOK.

This GAL (ATF16V8B...) version of the MC14500has an original instruction set, but it has some differences:

Data is read from a separate DI input and written to a separate DO output during GAL's clock rise, at the time of instruction execution. This unit does not have usually unused pins RET, FLG0, FLGF (but they are easily to implement each by external single logic gates).

GAL and reprogrammable ATF SPLDs can be easily programmed by afterburner.

  • 1 × ATF16V8B Logic ICs / Programmable Logic: PLDs

  • Add some peripheries

    Артём Шакиров01/24/2021 at 12:08 0 comments

    Standalone ICU without ROM isn't very interesting, and i made some 16V8 for working with it:

    • One bit IO: for 4 back-readable outputs and 3 inputs + oscillator/clock (inverter and non-inverter);
    • I2C EEPROM controller: for start and proceed getting program codes from I2C memories to HC595 register clocked by HOLD and counter's MSB, ICU clocked by counter's MSB too, SDA connected via diode.

View project log

  • 1
    Assemble to .jed

    USE GALasm for assemble .pal file from GitHub.

View all instructions

Enjoy this project?

Share

Discussions

zpekic wrote 10/26/2021 at 17:22 point

Interesting project! I have a bunch of GAL22V10s at hand and was toying with the idea to create 1-bit CPU slice (think simplified Am2901 but with only 8 1-bit registers) and then stack 16 of these to create a 16-bit CPU ALU/REG element. Main frustration was the ever crashing WinCUPL, I may need to just switch to some command like .jed generating compiler. 

  Are you sure? yes | no

Артём Шакиров wrote 11/21/2021 at 15:37 point

Yes, WinCUPL is a strange thing, what about GALASM? I also have a couple of GAL22V10, but ATF16V8 is much more affordable.

  Are you sure? yes | no

zpekic wrote 11/21/2021 at 19:43 point

I will give it a try, these are fun devices to play with, esp to figure out how much logic can fit into them. Does GALASM support describing FSMs?

  Are you sure? yes | no

Артём Шакиров wrote 10/17/2022 at 15:59 point

GALASM works only with logical expressions, that is, instead of a fuses map from datasheet, we can work with same logical expressions, this is the whole difference between fuses map from datasheet and GALASM. You can implement FSM manually.

  Are you sure? yes | no

Артём Шакиров wrote 06/04/2023 at 12:42 point

RE: [zpekic wrote 11/21/2021 at 19:43]: Sorry for the long answer. I think, GALASM doesn't support describing FSMs. ASM is a different pleasure.)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates