Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Does anybody here have experience with CPLDs?

Does anybody here have experience with CPLDs?

Scheduled Pinned Locked Moved The Lounge
visual-studiographicsdesignsysadminperformance
14 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C CodeWraith

    My 8 bit computer design is slowly coming together. It will come down to three 160mm x 160mm boards, all stuffed full with ICs. Board 1 will be the CPU, BIOS ROM, basic RAM, selection logic for all memory and I/O devices, the experimental interrupt logic, the old Elf's cassette tape interface as simple means of loading or storing programs, a RS232 serial port to connect a terminal or 'network' with the old Elf and a connector for a 4 inch monochrome LCD display (160 x 128 pixel, both graphics and text). Board 2 will contain the MC6847 based graphics, the IDE controller, the PS/2 ports for keyboard and mouse, a timer chip (for generating interrupts when it's time to swap tasks) and a soundchip (which I still have not found yet). Board 3 will be the 8 Mb paged memory I posted a few days ago. This is already an improvement over the firat design. I expected to have up to 6 smaller boards. On the other hand there is still room for improvement. There is a good load of simple logic ICs on every board. Some, like the MAX 232 in the serial port or the op amps in the old cassette interface can't be replaced by programmable logic, but about 25 74HC family logic ICs remain and (as I hope) can be replaced by a CPLD or two. FPGAs probably are too big and to expensive for this job. My preferenced would be: - Please no SMDs! I would like to program my CPLDs in some kind of development board, then take them out of the socket and plug them right into the sockets on the computer's boards. PLCCs would be fine, for example. Hand soldering SMDs is torture anyway. - A lot of the discrete logic is about chip and device selection. Simple stuff that needs a few gates and which I don't expect to be much trouble. - Then I have a lot of registers that latch all kinds of stuff, like demultiplexing the address bus, storing the selected memory pages, storing pending interrupts or holding the inputs from the PS/2 ports. How great would it be to simply send the data lines, address lines and read/write signals into a CPLD and let it do all the decoding, storing and outputting without having to wire up each and every part seperately! - For the PS/2 ports I will need shift registers and counters. These I will probably have to define myself from simpler gates, right?

    I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

    G Offline
    G Offline
    glennPattonWork3
    wrote on last edited by
    #2

    Altera do some I think, but they were going to BGA last I looked, BGA's are not fun for hand assembly. It can be done but requires brain surgery levels of coordination. Altera do have CPLDs there are simpler options programming wise (have a look at Texas, Atmel), but I think they have jumped over to BGA's almost exclusively.

    C 1 Reply Last reply
    0
    • G glennPattonWork3

      Altera do some I think, but they were going to BGA last I looked, BGA's are not fun for hand assembly. It can be done but requires brain surgery levels of coordination. Altera do have CPLDs there are simpler options programming wise (have a look at Texas, Atmel), but I think they have jumped over to BGA's almost exclusively.

      C Offline
      C Offline
      CodeWraith
      wrote on last edited by
      #3

      Thanks. I looked for Altera and Atmel and found quite a few devices in PLCC packages. The price was around 2 or 3 bucks each, so that's ok as well. Now I see another problem coming: All of them run at 3.3V or less. I need 5V, but that seems to be completely out of the question.

      I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

      G 1 Reply Last reply
      0
      • C CodeWraith

        Thanks. I looked for Altera and Atmel and found quite a few devices in PLCC packages. The price was around 2 or 3 bucks each, so that's ok as well. Now I see another problem coming: All of them run at 3.3V or less. I need 5V, but that seems to be completely out of the question.

        I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

        G Offline
        G Offline
        glennPattonWork3
        wrote on last edited by
        #4

        A thing I have done in that situation is use a 5v-3.3v converter locally to power them. I suppose you could use a potential divider as a hill-billy test solution...

        C 1 Reply Last reply
        0
        • G glennPattonWork3

          A thing I have done in that situation is use a 5v-3.3v converter locally to power them. I suppose you could use a potential divider as a hill-billy test solution...

          C Offline
          C Offline
          CodeWraith
          wrote on last edited by
          #5

          That plus level shifting at the I/O pins kindof defeats the purpose of having less stuff on the boards, right?

          I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

          G 1 Reply Last reply
          0
          • C CodeWraith

            That plus level shifting at the I/O pins kindof defeats the purpose of having less stuff on the boards, right?

            I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

            G Offline
            G Offline
            glennPattonWork3
            wrote on last edited by
            #6

            Yep, but there is always the thing of making the boards too simple, when you get to designing your own computer easy is good, do-not mistake easy and simple for the same thing! ;)

            C 1 Reply Last reply
            0
            • G glennPattonWork3

              Yep, but there is always the thing of making the boards too simple, when you get to designing your own computer easy is good, do-not mistake easy and simple for the same thing! ;)

              C Offline
              C Offline
              CodeWraith
              wrote on last edited by
              #7

              Easy is good? Then I will probably keep the discrete logic. The oldschool method would be to do everything one step at a time and test as much as possible on a breadboard. Once I have the first board running, I can connect it to the breadboard with a ribbon cable and try out each component on the other boards one at a time.

              I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

              G 1 Reply Last reply
              0
              • C CodeWraith

                Easy is good? Then I will probably keep the discrete logic. The oldschool method would be to do everything one step at a time and test as much as possible on a breadboard. Once I have the first board running, I can connect it to the breadboard with a ribbon cable and try out each component on the other boards one at a time.

                I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                G Offline
                G Offline
                glennPattonWork3
                wrote on last edited by
                #8

                Easy is good? -> well in my experience YES, If the circuit has a minimal amount of cleverness then it's easy to find where issues are. Having spent days sorting 'clever' designs to remove one set of chips where the designer though well I can do that in a PLD, don't. Only to find the a bug in the PLD's. I am a fan of getting it to work, then 'simplify' things when you know your base design was working. For instance if you come up with a way of simplifying the connection path try it on one section first get that working, then try the next, it might need some fiddling(R's & C's) to get it right in each case it's used...

                C 1 Reply Last reply
                0
                • G glennPattonWork3

                  Easy is good? -> well in my experience YES, If the circuit has a minimal amount of cleverness then it's easy to find where issues are. Having spent days sorting 'clever' designs to remove one set of chips where the designer though well I can do that in a PLD, don't. Only to find the a bug in the PLD's. I am a fan of getting it to work, then 'simplify' things when you know your base design was working. For instance if you come up with a way of simplifying the connection path try it on one section first get that working, then try the next, it might need some fiddling(R's & C's) to get it right in each case it's used...

                  C Offline
                  C Offline
                  CodeWraith
                  wrote on last edited by
                  #9

                  Then how about this: I could build a bare bones single board computer. The absolute minimum: - CPU - a ROM - a RAM - address demultiplexer (otherwise it can't address ROM and RAM) - clock oscillator - simple bit banged slow RS232 (just two transistors and a few resistors required). If I use a PC power supply, I should also get the required voltages. - a bus connector I should have most parts at home and could solder this together. With the bit banged serial port I can load test programs from a PC and run them. Now I can hook up the breadboard to the bus connector and can go one step at a time and test everything before ever having to make any boards. Edit: I just looked it up: The ATX power supply I use with the breadboards deliver +/- 12V That's well in the specifications of RS232 and will do for the simple bit banged serial port.

                  I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                  G 1 Reply Last reply
                  0
                  • C CodeWraith

                    Then how about this: I could build a bare bones single board computer. The absolute minimum: - CPU - a ROM - a RAM - address demultiplexer (otherwise it can't address ROM and RAM) - clock oscillator - simple bit banged slow RS232 (just two transistors and a few resistors required). If I use a PC power supply, I should also get the required voltages. - a bus connector I should have most parts at home and could solder this together. With the bit banged serial port I can load test programs from a PC and run them. Now I can hook up the breadboard to the bus connector and can go one step at a time and test everything before ever having to make any boards. Edit: I just looked it up: The ATX power supply I use with the breadboards deliver +/- 12V That's well in the specifications of RS232 and will do for the simple bit banged serial port.

                    I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                    G Offline
                    G Offline
                    glennPattonWork3
                    wrote on last edited by
                    #10

                    ATX power supplies, useful but scary amounts of current I have seen them melt the insulation off wires when not treated with care (I have used one for cutting PVC drain pipes!). I know it's a pain but if you go slowly and carefully you can get it done and it will look cool!:cool:

                    C 1 Reply Last reply
                    0
                    • G glennPattonWork3

                      ATX power supplies, useful but scary amounts of current I have seen them melt the insulation off wires when not treated with care (I have used one for cutting PVC drain pipes!). I know it's a pain but if you go slowly and carefully you can get it done and it will look cool!:cool:

                      C Offline
                      C Offline
                      CodeWraith
                      wrote on last edited by
                      #11

                      glennPattonWork wrote:

                      I know it's a pain but if you go slowly and carefully you can get it done and it will look cool!:cool:

                      What? The drain pipe?

                      glennPattonWork wrote:

                      ATX power supplies, useful but scary amounts of current

                      I have been using it for years now with the circuits on the breadboard. This particular power supply obviously can live well with only a tiny load connected.

                      I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                      G 1 Reply Last reply
                      0
                      • C CodeWraith

                        glennPattonWork wrote:

                        I know it's a pain but if you go slowly and carefully you can get it done and it will look cool!:cool:

                        What? The drain pipe?

                        glennPattonWork wrote:

                        ATX power supplies, useful but scary amounts of current

                        I have been using it for years now with the circuits on the breadboard. This particular power supply obviously can live well with only a tiny load connected.

                        I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                        G Offline
                        G Offline
                        glennPattonWork3
                        wrote on last edited by
                        #12

                        Quote:

                        glennPattonWork wrote: I know it's a pain but if you go slowly and carefully you can get it done and it will look cool!Cool | :cool: What? The drain pipe?

                        Nope the 'puter I will want to see photos

                        1 Reply Last reply
                        0
                        • C CodeWraith

                          My 8 bit computer design is slowly coming together. It will come down to three 160mm x 160mm boards, all stuffed full with ICs. Board 1 will be the CPU, BIOS ROM, basic RAM, selection logic for all memory and I/O devices, the experimental interrupt logic, the old Elf's cassette tape interface as simple means of loading or storing programs, a RS232 serial port to connect a terminal or 'network' with the old Elf and a connector for a 4 inch monochrome LCD display (160 x 128 pixel, both graphics and text). Board 2 will contain the MC6847 based graphics, the IDE controller, the PS/2 ports for keyboard and mouse, a timer chip (for generating interrupts when it's time to swap tasks) and a soundchip (which I still have not found yet). Board 3 will be the 8 Mb paged memory I posted a few days ago. This is already an improvement over the firat design. I expected to have up to 6 smaller boards. On the other hand there is still room for improvement. There is a good load of simple logic ICs on every board. Some, like the MAX 232 in the serial port or the op amps in the old cassette interface can't be replaced by programmable logic, but about 25 74HC family logic ICs remain and (as I hope) can be replaced by a CPLD or two. FPGAs probably are too big and to expensive for this job. My preferenced would be: - Please no SMDs! I would like to program my CPLDs in some kind of development board, then take them out of the socket and plug them right into the sockets on the computer's boards. PLCCs would be fine, for example. Hand soldering SMDs is torture anyway. - A lot of the discrete logic is about chip and device selection. Simple stuff that needs a few gates and which I don't expect to be much trouble. - Then I have a lot of registers that latch all kinds of stuff, like demultiplexing the address bus, storing the selected memory pages, storing pending interrupts or holding the inputs from the PS/2 ports. How great would it be to simply send the data lines, address lines and read/write signals into a CPLD and let it do all the decoding, storing and outputting without having to wire up each and every part seperately! - For the PS/2 ports I will need shift registers and counters. These I will probably have to define myself from simpler gates, right?

                          I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                          J Offline
                          J Offline
                          jrgrobinson
                          wrote on last edited by
                          #13

                          There are 20 and 24pin PDip EEPLDs in stock at Mouser.

                          1 Reply Last reply
                          0
                          • C CodeWraith

                            My 8 bit computer design is slowly coming together. It will come down to three 160mm x 160mm boards, all stuffed full with ICs. Board 1 will be the CPU, BIOS ROM, basic RAM, selection logic for all memory and I/O devices, the experimental interrupt logic, the old Elf's cassette tape interface as simple means of loading or storing programs, a RS232 serial port to connect a terminal or 'network' with the old Elf and a connector for a 4 inch monochrome LCD display (160 x 128 pixel, both graphics and text). Board 2 will contain the MC6847 based graphics, the IDE controller, the PS/2 ports for keyboard and mouse, a timer chip (for generating interrupts when it's time to swap tasks) and a soundchip (which I still have not found yet). Board 3 will be the 8 Mb paged memory I posted a few days ago. This is already an improvement over the firat design. I expected to have up to 6 smaller boards. On the other hand there is still room for improvement. There is a good load of simple logic ICs on every board. Some, like the MAX 232 in the serial port or the op amps in the old cassette interface can't be replaced by programmable logic, but about 25 74HC family logic ICs remain and (as I hope) can be replaced by a CPLD or two. FPGAs probably are too big and to expensive for this job. My preferenced would be: - Please no SMDs! I would like to program my CPLDs in some kind of development board, then take them out of the socket and plug them right into the sockets on the computer's boards. PLCCs would be fine, for example. Hand soldering SMDs is torture anyway. - A lot of the discrete logic is about chip and device selection. Simple stuff that needs a few gates and which I don't expect to be much trouble. - Then I have a lot of registers that latch all kinds of stuff, like demultiplexing the address bus, storing the selected memory pages, storing pending interrupts or holding the inputs from the PS/2 ports. How great would it be to simply send the data lines, address lines and read/write signals into a CPLD and let it do all the decoding, storing and outputting without having to wire up each and every part seperately! - For the PS/2 ports I will need shift registers and counters. These I will probably have to define myself from simpler gates, right?

                            I have lived with several Zen masters - all of them were cats. His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

                            A Offline
                            A Offline
                            Adrian Wadey 0
                            wrote on last edited by
                            #14

                            Try the Lattice GAL22V10D-25N, still available, DIL Package and works at 5V. I think you need the ISPLever tools for designing.

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups