Image Map Image Map
View RSS Feed


Cloning a HAL/PAL, Part 9

Rate this Entry
Part 1 of this series is here.

Picking up where we left off, our little board is now creating 64K binary files for parts, which should allow us to identify inputs and outputs.

To do this, the program tt16l8 is used (see attached file). This program not only separates inputs from outputs, but also attempts to optimize the truth table down to its smallest size. It can produce output for either Minilog or Espresso and optimization can be disabled.

Basically, the idea is that if a pin changes only when one of the "nudge" outputs hits it, it must be an input pin. There is one notable exception that I'll get into a bit later.

Further, you can discard any input bits that have no effect on any of the outputs and also output bits that never change. They're probably "no-connects".

Before I forget, why would anyone want to choose between Minilog and Espresso, particularly if Minilog is just a front end to Espresso?

It turns out that Minilog has a limitation of 2000 truth table entries. While this is fine for PAL10L8 chips, it's not going to be adequate for a lot of cases where the PAL16L8 is used, since up to 16 inputs can be configured. (65,536 truth table entries possible). So sometimes we need something with a little more "beef".

Let's move on to a real case--the Creative Soundblaster 2.0 upgrade PAL in part 10.

Submit "Cloning a HAL/PAL, Part 9" to Digg Submit "Cloning a HAL/PAL, Part 9" to Submit "Cloning a HAL/PAL, Part 9" to StumbleUpon Submit "Cloning a HAL/PAL, Part 9" to Google

Updated June 12th, 2019 at 09:32 PM by Chuck(G)

Tags: None Add / Edit Tags