zif socket 14 pin

A complex programmable logic device (CPLD) is an essential piece of hardware in your repertoire. As the name suggests, you can program these chips to provide the logic functions you need. This may be replacing outdated chips, or just a way to learn and try different technologies. What better way to learn than using CPLD and trying it out?
I created a CPLD module in order to be able to plug it into many things, including solderless breadboards, but I messed up. It seems that the available plug-in space on the solderless breadboard is 1.1 inches. I have made the footprint 1 inch wide, leaving no room for a row of wires on both sides. Uh.
But let me back up and show more about what I'm doing, I want to make a programmable logic that can be built as a kit, can be easily soldered at home, can be programmed in a circuit, and can work at 3.3 or 5 volts.
In order to realize an easy-to-solder kit, I used an old CPLD component, which is also available in 3.3v and 5v versions, and will maintain its programming regardless of the power supply. The logic itself is a CPLD IC from the Altera Max series, available in two versions, suitable for circuit boards with 32 or 64 macrocells. Macrocells are the basic logical building blocks that are programmed using logical "terms" and then interconnected with other macrocells through programmable interconnects.
Looking at the schematic, you can see that it doesn't have much content: basically the CPLD, the in-circuit programming circuit and the oscillator that drives the CPLD logic.
This part is called EPM7032 and EPM7064, using 44-pin plastic lead chip carrier (PLCC), sometimes called J lead because of the J shape of the lead lead. This package can be inserted into a through-hole socket or directly soldered to the PCB.
Contains an on-board oscillator, so the CPLD can perform operations statefully and create fast counters on its own without the need for an external clock. If an external clock is available, the high-speed clock on the module can be used to create a clock event on each rising or falling edge of the external clock, and still follow the CPLD/FPGA guidelines, that is, you really should use the internal global clock network instead of " Asynchronous" drives the clock input. The rated power supply voltage of this oscillator is between 1.8 and 5.5 volts.
If you watch the video, you will see that I discuss my personal preference for how to handle the "INH" pin on the oscillator; simply put, after I check the spec sheet is legal, I tend to let it float.
When dealing with such functions, the reasons that flashed in my mind included my dislike of connecting the input pins directly to the power rails (if possible). That is, I prefer to use series resistors to limit the current during transients, even if it shouldn't be needed.
Over the years, I have seen some problems in production (large batches), and occasionally things like power cycling would allow the pins directly connected to the power rail to have a higher voltage than the chip itself, which is bad. Finally, connect the pin to the power rail through a resistor (whether power or ground), and people can change their mind and use the pin later. This is especially true in my experience with unused doors, you probably know that these doors should never be left floating or unconnected. By using a pull-up resistor, you can connect the signal and use the gate without cutting copper traces.
The 10-pin connector and a few resistors form the programming circuit. If all the resistors are pull-up resistors, I would use a resistor network, but alas, one is grounded.
To program such an independent CPLD, a dedicated programmer is required. This is easy for me to say, because I usually have a few lying next to me, but if you don't have one, it won't be too painful to enter the game. The approved "Altera USB Blaster" sells for $50 and can be purchased from Digikey and other places. I have several clones from Ebay, one of which is a clone that supports Altera, Xilinx and Lattice at the same time. There is a project and code on the Internet that can be used to make your own clone, I will list it in my list of possible videos for the project of making programmer clones. I will also show a shield design in which the motherboard, Arduino, PIC, etc. can be programmed
The software required to compile and program the CPLD is freely available from Altera, but this old part requires the old version 9.1. The good news is that it was my favorite old version. It had an intuitive timing analyzer, but it was removed in a later version.
The PCB is a simple double-sided design, as long as the circuit board fits it, I tend to use copper for grounding and sometimes power supply. Sometimes the pouring becomes so broken that it may actually cause problems or sloppy end results, so copper pouring again is a tool, but it needs to be managed.
Today, many (if not most) CAD software packages contain 3D views of the final product, although the accuracy of the images is only as accurate as the 3D models used to represent the parts. Here you can see where I chose the 3D model for the 44-pin socket, programming connector, and oscillator. Here are some 3D packages I like to use:
Many companies also have 3D models of their components. Molex is just one example of a company that has done a good job in this area.
The mistake I made does not affect the function like aesthetics, and it is not the main problem, that is, it is not suitable for a single solderless breadboard.
Once I thought that I might share the design with anyone, I was immediately dissatisfied with the CPLD's schematic symbols and the pinout of the 40-pin connector, which is its overall footprint. I grabbed a 40-pin double-row connector symbol and adjusted it to a 1-inch footprint, but the pin numbers are not 1, 2, 3, 4... but are numbered 1 on the side like a DIP package 3, 5, 7...just like ribbon cable connectors. Therefore, it is a non-intuitive footprint for determining how to connect to the module and troubleshooting.
Similarly, the CPLD pin assignments are a bit confusing, and I used a set of utilities that rely on Boundary Scan Description Language (BSDL) to create symbols. Most major vendors have BSDL files available for their mainstream components, which allow you to (semi-)automatically create symbols and packages. Like any automation, it needs to be seen as a tool and may require further massage for best results. In this case, I let it list the pins in alphabetical order, which is almost random when tracking the pins on the board. I can only say that I was very anxious that day.
You pay for these shortcuts sometime on the road. When I go to modify this module, I will determine and give it a pin placement that matches the part itself, so that knowing where to put your oscilloscope probe is as easy as glancing at the schematic symbol.
When using circuit boards, there are other improvements that are mainly aesthetic or useful. The pin 1 indicator needs to be more common in several packages, and I always prefer a simple ground point to connect the oscilloscope ground or VOM lead. I might add this by adding a two-pin connector so that power and ground can be applied directly to the board instead of being clamped to the bottom pins.
Before I modify the circuit board, I want to make sure it works properly under physical and aesthetic issues. After powering on and confirming that the oscillator is working properly, I plugged in the programmer. Although the 3.3v version is newer than the programming software, it detected the CPLD and displayed it as an "unknown" device.
Next, I created a counter in Quartus and assigned pin numbers. The fast compiling and downloading and the counter function seen by the oscilloscope verify that the design is feasible.
The quick test circuit in Verilog is very simple. The code is listed below. You can download a ZIP file containing the schematic and Verilog test circuit as a Quartus II project (requires version 9.1).
As I mentioned, I will make a second revision of the circuit board to pay more attention to the details needed when sharing the design or doing any number of troubleshooting. Since I need to set the width of the bottom connector to 0.9 inches or less, I can continue to set it to 0.6 inches, which is a standard "wide" DIP package. Doing this means letting the bottom pins protrude from the CPLD socket footprint. I would not do this in a production situation because it was assembled by hand at the time, but one of the goals was to make a hand-soldering kit. The hand-soldering compromise is that the oscillator does need to be in an SMD surface mount housing, the through-hole version is very large and usually does not support the voltage range I want.
Is it possible to use these modules to build a complete simple computer? I think I need to add memory.
Lol...yes, it depends on what kind of computer. However, "real" microcontrollers/microcomputers are affected by the "pin bonding" of the module, which means you can't get enough terminology from the module to do anything too useful.
I made a complete NTSC camera timing and mode controller with a size of 64, so no processor is required.
The Structural Verilog and HDL used in the book Nand to Tetris are more or less the same.
Why are through-hole parts? Welding 0805 is easy! Now is the time for every tinker to learn this skill.
If I make the top socket overlap the pins soldered from the bottom, then I can use "6 centers (simulating a 40-pin chip) or diagonal, etc.. This will be strictly manual soldering components for soldering bottom leads The top socket behind the feet.
But it is difficult for beginners to solder it from the bottom. When I solder headers for the PCB of the breadboard (these cheap SMD adapter boards that you can use on eBay can be used for prototyping), I insert the headers into the breadboard, then put the PCB on it, and then I can solder easily It's very suitable for breadboards. If you need to solder it from the bottom, it is even more difficult.
If the CPLD is in the middle (may be easier to wire), it can be installed diagonally without overlapping, there are 4 rows, or the CPLD can be on one side:
Thank you for the tip to insert the connector into the breadboard before soldering. Mine is a bit unstable.
How about the DIP format breadboard pins on one end and the "dongle" type of the chip socket itself on the other end? The chip can be hung on the end of the breadboard. The routing will be tight.
|####### ******************** |. <– Pins 1-20 |##44pl## Oscillator. Port etc.| |####### …………………………. | <– Pin 21-40
Yes, I decided to use Altera's "free" version, just like Xilinx and Lattice have "free" versions. I need to end the cycle with Al Williams to understand what all open support supports, which must include the specific attributes of the device series. Having said that, I have done a lot with the free version.
Yes, you are showing that the CPLD overlaps with the pins I believe. If I follow it correctly, this might look like rev 2. When designing for (mass) production, I am always allergic to the “hand solder assembly” step because they overlap (actually the solder pins on the non-component side). ) Is already a hand-soldered component) but this is just a small kit, not a production-oriented design. I just have some habits that are hard to get rid of at my age. :)
I think a T-shaped circuit board with CPLD and passive components with a wide T-shaped part will be very useful when hung on the edge of the breadboard. Something similar to Adafruit RasPi T-Cobbler (http://www.adafruit.com/products/2028). This will make most of the breadboard area available.
Unfortunately, the discontinuation will severely limit its use in side projects, just like all those function generators based on XR2206 and ICL8038.
Interesting idea. I like these two chips. CPLD is not outdated, it's just a cheaper way to buy it at 3.3v.
Regarding your "nonsense"... you really didn't make a new layout to put it on the breadboard. Just put the wire on the breadboard first, and then put the cpld on the wire. Or, if you can pull the power and ground strips off one of them, use 2 breadboards.
About Altium and Eagle. Have you considered KiCad? It does not have any limitations that you prefer Altium over Eagle, and by default generates DRC errors for all unconnected pins. If you really want to open a pin, you have to tell it. (Maybe only for input, not for output, and it hasn't been checked yet). Another great feature is that it is very easy to learn. It only took an afternoon, and the excellent introductory manual got me started.
I prefer the (larger part) smd above the through hole. They are easier to use. You don't have to turn the pcb all the time. (Some stupid mistakes were made because of mirroring...). And you don't have to cut the lead of the resistor. When sharing a design, multiple packages can be conveniently placed on a PCB or a single part. SMD resistor TH. (It does make the layout a bit more complicated).
I used "KiCad Getting Started" in pdf format. The old version I used is 29 pages, and the latest version has 52 pages. You can find it in other tutorials (including video links): http://kicad-pcb.org/help/tutorials/
I know that [Chris Gemmell] from Hackaday and The Amp Hour made a series on Kicad http://kicad-pcb.org/help/tutorials/
Kicad may be useful, let me see what happens in Rev 2. Thank you for your suggestions. Unconnected inputs are a good thing for DRC (ERC), and for connectors and other things that keep them soft or IO, most CAD disconnect messages can usually be avoided.
Run a quick test and throw the connector into an empty table, run annotations and DRC. It gave me drc errors for each pin. However, marking known unconnected pins is very simple.
Set to passive. I have to search (Edit Component -> Edit with Library Editor. The library editor opens and loads your component in a separate window, you can check or change any part of the component. The changed component can be saved or updated in Your schematic. This makes it very easy to change components. I don’t care much about the library. For example, if you use cpld, you want to assign meaningful names to the pins. More importantly, there is a good interface to design Your own components.
In KiCad's ERC, "unconnected" pins are a different type of pin from "passive pins", and all "unconnected" pins will generate errors. The way ERC works can be easily adjusted to your own preferences: Tools -> Electrical Rules Checker -> Options.


Post time: Nov-18-2021