tag:blogger.com,1999:blog-369948448353532720.comments2024-03-10T11:28:11.571-04:00Insanity 4004Unknownnoreply@blogger.comBlogger88125tag:blogger.com,1999:blog-369948448353532720.post-44909947252419065622024-03-10T08:37:55.689-04:002024-03-10T08:37:55.689-04:00Hi Reece, the first, hand-soldered 4004 PCB I orde...Hi Reece, the first, hand-soldered 4004 PCB I ordered from a German company, but then also moved to JLPCD (two layers, ENIG). Even for this very large size of 31cm x 42 cm minimum was 5 pieces. I just got back the second 4004 from the pick-and-place company (just for about 130$, as they already had the masks and process from the first PCB). I use SprintLayout for PCB layout, simple and very easy to handle without size restriction.<br />All the best<br />KlausAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-56807632172991935362024-03-01T08:12:59.094-05:002024-03-01T08:12:59.094-05:00Excellent experiments and explanation! And yes, in...Excellent experiments and explanation! And yes, in a way its already shown in Lajos´ brilliant simulator.<br />KlausAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-76592882065586584842024-02-27T21:33:29.994-05:002024-02-27T21:33:29.994-05:00Hi Klaus! Yes, it's a head-scratcher.
The i4...Hi Klaus! Yes, it's a head-scratcher.<br /><br />The i4004 boards have a Vdd of +5.0V. The FPGA has 3.3V I/Os, and can drive the i4004 circuits to about 3.1V.<br /><br />The clock period is 1.5us (666 KHz), with Tϕpw of 440ns, Tϕd1 of 440ns, and Tϕd2 of 180ns. This is consistent with my goal of matching the original i4004 timing.<br /><br />The only things connected are the Instruction Pointer board, the Scratchpad Register board, the FPGA interface board, and a 1 Mohm 'scope probe. I *think* the bus should be floating during X32/CLK1 when executing a "LD" instruction, but it sure looks like something is driving the bus.<br /><br />The FPGA interface board has FDV301N FETs between the FPGA I/Os and the i4004 circuits, with their gates hard-wired to 3.3V. These allow either side to pull down to within 0.6V of ground, but limit the voltage the FPGA sees to 3.0V when driven with 5.0V on the i4004 side. With the FPGA pin in a Hi-Z state, it shouldn't draw current from the i4004 side because the FET is turned off (Vgs < Vth).<br /><br />I really think CLK1 (or maybe X32) is turning something on. Although the FPGA drives ones onto the data bus during X22/CLK2, the bus floats in the interval between CLK2 and CLK1. The 'scope trace shows the voltage on D0 (green trace) falls only slightly in this interval. When CLK1 goes active, D0 drops abruptly from 3.1V to 1.9V and stays. That's not a floating circuit leaking down.<br /><br />I'll keep banging my head on this until I figure it out!Reecehttps://www.blogger.com/profile/04685892465275438201noreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-84825938250062320442024-02-27T11:08:45.894-05:002024-02-27T11:08:45.894-05:00Hi Reece, very interesting. What is your supply vo...Hi Reece, very interesting. What is your supply voltage currently? Something like 3.3V? Also your clock frequency is pretty high, about 660kHz, and somewhat asymmetric? Is anything connected to internal D0 that causes the drop to 2V? But I saw similar effects<br />KlausAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-17963860254383236392024-02-23T03:15:21.015-05:002024-02-23T03:15:21.015-05:00Congratulations!
KlausCongratulations!<br />KlausAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-38744858352907612832024-02-09T16:52:47.300-05:002024-02-09T16:52:47.300-05:00I haven't tried this yet, but it looks really ...I haven't tried this yet, but it looks really interesting! Thanks for posting it.Reecehttps://www.blogger.com/profile/04685892465275438201noreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-8599744679709848762024-02-06T17:48:22.340-05:002024-02-06T17:48:22.340-05:00There is a free converter available here: https://...There is a free converter available here: https://github.com/kamratia1/pybis2spiceAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-71020781368251661182023-11-18T09:09:20.695-05:002023-11-18T09:09:20.695-05:00me too !!
me too !!<br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-50661584168003331422023-10-15T01:17:50.870-04:002023-10-15T01:17:50.870-04:00And ofc I wouldn't use transistors alltogether...And ofc I wouldn't use transistors alltogether. Use MOSFETs. You can use BSS84. It's available as double-MOSFET-versions in a SC70 package.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-2358114931740138212023-10-15T01:16:34.765-04:002023-10-15T01:16:34.765-04:00you can simplify the schematic by using voltage le...you can simplify the schematic by using voltage levels of +3.3V/+5V for high potential and -24V for negative potential. This way a single p-mosfet + pulldown-resistor is enough for driving the VFD anodes.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-34845747649926765652023-10-13T09:06:17.036-04:002023-10-13T09:06:17.036-04:00nice, I love the max235 + mini transformer solutio...nice, I love the max235 + mini transformer solution!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-57939660987789098102023-10-08T20:38:55.594-04:002023-10-08T20:38:55.594-04:00Ótimo trabalho! Ótimo trabalho! Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-51622213638199731582023-09-26T09:08:41.185-04:002023-09-26T09:08:41.185-04:00Hi Klaus,
I'm not surprised the system wouldn...Hi Klaus,<br /><br />I'm not surprised the system wouldn't run at 3.3V. I did some margin testing with a circuit specifically designed to see what voltage was required to reliably drive a BSS83 configured as a pass gate. It showed 3.5V barely worked, while 3.0V consistently failed. For some reason I didn't test at 3.3V, and of course I didn't test with the SST-215 you're using.<br /><br />Check out the post "Margin testing detail" from October 2015: https://insanity4004.blogspot.com/2015/10/margin-testing-detail.html<br /><br />I also considered using series resistors to protect my FPGA's I/Os, but decided to use FDV301 MOSFETs instead. See "Voltage protection, not conversion" here: https://insanity4004.blogspot.com/2012/09/not-voltage-conversion.htmlReecehttps://www.blogger.com/profile/04685892465275438201noreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-74225912883100931422023-09-26T05:24:31.350-04:002023-09-26T05:24:31.350-04:00Hi Reece, I like your Option 2 or 4, and I am pret...Hi Reece, I like your Option 2 or 4, and I am pretty sure that your board will work. I needed to increase the supply voltage, at 3.3V I sometimes had trouble to write and read the bits. At higher voltages the data bus was no longer compatible to my 3.3V Arduino (actually it was a 600 MHz Teensy 4.1 required to acieve a clock rate of 250kHz), and I added resistors and Zehner diodes to limit the HIGH voltage.<br />KlausAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-35272624188914214022023-09-24T08:07:55.012-04:002023-09-24T08:07:55.012-04:00Hi Klaus. That's a really good question, one ...Hi Klaus. That's a really good question, one that I spent a good bit of last night considering. I have a couple of ideas, but rather than answer here in the comments I'm going to write a separate blog post on that very subject.Reecehttps://www.blogger.com/profile/04685892465275438201noreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-71461994053311168732023-09-24T04:28:12.550-04:002023-09-24T04:28:12.550-04:00Hi Reece, looks great!!
How do you plan to test th...Hi Reece, looks great!!<br />How do you plan to test the register board? I first populated only all the DRAM cells without column and row selection logic, connected an Arduino to all column and row lines, and tested the DRAM bit by bit.<br />KlausAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-79514553503067855242023-09-15T08:31:34.936-04:002023-09-15T08:31:34.936-04:00Hi Reece, I have 0603 resistors and all transistor...Hi Reece, I have 0603 resistors and all transistors are SOT-143 (plus some 0603 LEDs and some 0805 and 1206 capacitors). I soldered all by hand (with lots of solder flux), no stencil. So I could populate and test the PCB step by step, which was very important for depugging.<br />Meanwhile I have a second 4004 PCB that a company populated with pick-and-plache machine, looks very clean. But it didnt work from the beginning and it took me some time to find the "bad" transistors.<br />All the best<br />KlausAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-21198682999072172032023-09-13T11:19:56.251-04:002023-09-13T11:19:56.251-04:00Klaus, what size resistors did you use on your boa...Klaus, what size resistors did you use on your board? Did you have your fabricator do the assembly, or did you do it by hand?Reecehttps://www.blogger.com/profile/04685892465275438201noreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-31540757474570086712023-09-13T11:18:43.260-04:002023-09-13T11:18:43.260-04:00Hi Klaus!
Yes, I do all the component placement ...Hi Klaus! <br /><br />Yes, I do all the component placement by hand using tweezers and a lighted magnifying lens. Soldering is done with a hot air system. I also have a Mantis stereo microscope I bought surplus for close inspection. As much as I whine about it, assembling the board is part of the fun of the project.<br /><br />It's actually easier than it sounds. Once you've done work with 0402 components, these 0603 parts seem big. There are only a few components to work with: Two types of transistor (one is 3 pins and the other 4 pins, so they're easy to differentiate); two values of resistors; two values of VDD/GND bypass capacitors, and two connectors. The layout and the flexibility of the solder stencil will allow me to do this in stages: the decode logic on the right, the DRAM array on the left, and finally the connectors.<br /><br />I expect it'll take about five hours over one or two days. I just have to schedule that time among my other activities.Reecehttps://www.blogger.com/profile/04685892465275438201noreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-12939685416780663112023-09-13T05:35:52.403-04:002023-09-13T05:35:52.403-04:00Hi Reece, how do you plan to place the transistors...Hi Reece, how do you plan to place the transistors? By hand?<br />KlausAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-79656849586825837032023-09-09T14:06:56.673-04:002023-09-09T14:06:56.673-04:00My package has cleared US Customs, and is sitting ...My package has cleared US Customs, and is sitting in NYC "scheduled to depart on the next planned movement." While that sounds like someone needs to eat more prunes, it suggests the promised delivery by Tuesday evening is likely.Reecehttps://www.blogger.com/profile/04685892465275438201noreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-15997353520959409732023-09-07T10:53:22.268-04:002023-09-07T10:53:22.268-04:00DHL has my package, and estimates delivery Tuesday...DHL has my package, and estimates delivery Tuesday. That's 5 days from now, but if discount the weekend (I don't, but whatever) I guess you could claim it's within the 3-4 day estimate.Reecehttps://www.blogger.com/profile/04685892465275438201noreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-10228479550907181292023-09-07T06:26:51.094-04:002023-09-07T06:26:51.094-04:00Hi Reece, yes this bit arrangement is probably to ...Hi Reece, yes this bit arrangement is probably to simplify routing. The bit arrangement in the four PCs is even more scrambled.<br />KlausAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-4391609142991358922023-09-06T11:02:47.725-04:002023-09-06T11:02:47.725-04:00Yay! JLCPCB has completed my PCB and solder stenci...Yay! JLCPCB has completed my PCB and solder stencil. DHL has issued a tracking number, but hasn't picked it up yet. It could show up here any time between Friday and the middle of next week.Reecehttps://www.blogger.com/profile/04685892465275438201noreply@blogger.comtag:blogger.com,1999:blog-369948448353532720.post-2266682979707191872023-09-03T08:41:52.460-04:002023-09-03T08:41:52.460-04:00Apparently I misread the JLCPCB website's stat...Apparently I misread the JLCPCB website's statement of "Engineer working hours" which are listed as "Mon-Sun, 8am-10pm, GMT+8". I'm used to thinking of weeks starting on Sunday rather than Monday, so when I saw the working hours listed as starting Monday I didn't read the rest. Ah, cultural difference traps!<br /><br />Since they're 12 hours ahead of me, they received my order at 5:30 AM Sunday (their time). The first step of production, data review and preparation, appears to be automated because it completed within minutes. The next step, manufacturing data generation, was completed at 3:15 PM Sunday. <br /><br />My last order from JLCPCB was submitted mid-morning December 10th, 2019 (their time). This was a 1.2mm thick board, rather than the more common 1.6mm, so it was quoted at 4-5 days. They had a production glitch (one of the 5 boards had a scratch and failed their QA), and the remaining 4 boards and the stencil shipped the morning of the 16th. I received it December 19th for a total elapsed time of 9 days. <br /><br />It's possible that I could receive this order Saturday, but it's more likely I'll get it early next week.Reecehttps://www.blogger.com/profile/04685892465275438201noreply@blogger.com