For some time I wanted to prove myself that I can design accelerator card around Cyclone V FPGA. It turned out that designing such card was very easy and not much different than designing card with Cyclone III. Only real difference was that I had to go with 6-layers PCB. It took me one month to do it and in September of 2017. everything was finished and prepared for testings. In this specific card I wanted to implement all knowledge gathered from previous designs. I wanted bridge between V2 models and upcoming V4 keeping SDRAM but adding Cyclone V as a base. Vampire 600 V3 code named V666 is born with 5CEFA4F23I8N or 5CEFA5F23I8N Cyclone V FPGA.
Some other components are added like DVI level shifter (PTN3360BBS) for better video out, much bigger flash is used (S25FL128SAGMFI011) and lot of expansions headers including new IDE header implemented from Vampire 500 V2+ model. There were number of fixes on microSD slot, SDRAM, power section. I have played also with silkscreen and soldermask and made card shine with red light provided by LED diodes. In general, performance of this card are not different than on V2 models and that's something I did expect. You can't get more as long you use SDRAM. Card was never planned for production and its purpose was purely as development card for the Apollo-team. This year on Alchimie 2018 card is presented and people started to talk about it on the forums so in this article I wanted to give more details.
As every project progress it is normal to have revisions. Same story goes for Vampire card accelerators. From minor fixes no one will really notice to more serious ones who enabled higher performance using same hardware parts. There were lot of various forum posts where skilled people commented design of the cards and proposed better solutions in certain areas. We started to investigate those claims and noticed that some of them were valid. This was huge boost for us from Amiga community and sign that we can do even better. PCBA factory also asked for some changes to speedup assembly process. Since Vampire 500 and Vampire 600 are very similar cards in process of designing and production what's proven to be good for one was later on implemented on other model. You may find this article very confusing but only in case that you didn't follow progress of this project closely for past several years.
Digital Video Out fix
VAMPIRE 500 V2
Development version of the card, not for sale
VAMPIRE 500 V2+ Rev:2
Added I/O expansion header, new logo
VAMPIRE 500 V2+ Rev:2.1
Added strip bars on 2 sides with fiducials for professional PCBA
VAMPIRE 500 V2+ Rev:2.2
I/O expansion header replaced with Ethernet module connector. Implemented all improvements from Vampire 600 V2 Rev: 2.1 and 2.2
VAMPIRE 600 V2 Rev:2
First version of the card with 2 SDRAM chips
VAMPIRE 600 V2 Rev:2.1
Added bottom GND layer, introduced via stitching and teardrops, added fiducials and PCB panelization
VAMPIRE 600 V2 Rev:2.2
Added top GND layer
VAMPIRE 500 V2
VAMPIRE 500 V2+ Rev: 2 and 2.1
VAMPIRE 500 V2+ Rev: 2.2
VAMPIRE 600 V2
VAMPIRE 600 V2 Rev: 2.1 and 2.2
Before we start I need to point out that first series of Vampire cards build by me or 3rd parties need those fixes. Everything build after 2016. have those fixes included or cards were replaced by never models.
By reading incomplete manuals from Alpha & Omega Semiconductor about AOZ1021A I have used as a power solution for Vampire cards I made mistake by not putting enough capacitors after inductor. As a result card was unstable on newest cores who are more and more power hungry. Even now reading datasheet for that part I see that this part is not recommended for new designs. But let's be honest, this was due to my inexperience. Later on I found out that others who used same parts in their projects made same mistakes as I did.To fix this problem you only need to add 2 capacitors in parallel to C3 and C6. That's exactly how users fixed their old cards from Silver core days and made them work on Gold versions of Apollo cores. In reality this is very simple fix but it could be ugly and sending cards like this to end users would give picture about unfinished product. Interesting thing is that someone might need this fix and someone don't. So if your card does not work properly with one of the Apollo Gold cores this is the first step.
Vampire 600 V2 card without power fix
Vampire 600 V2 card with power fix I did initially on my card. Ceramic capacitors C3 and C6 each valued 10uF before replaced with 4 22uF capacitors.
Power fix with 220uF electrolytic capacitors placed in parallel with 10uF capacitors C3 and C6.
Maybe better solution for this specific card because weaker inductors used.
Unlike ceramic capacitors electrolytic capacitors are polarity sensitive so closely observe pictures.
There was much better solution I did in final production. Solution was very slick and did the job perfectly. C3 and C6 capacitors were replaced with 22uF values, but real fix happened on bottom side of the card replacing 0805 100nF ceramic capacitors with 22uF 0805 ones. This ensured more power to the FPGA and real professional production could start.
Vampire 500 V2+ Rev:2.1 card with power fix
One step further was taken with Vampire 600 V2 Rev: 2.1 with adding two more capacitors near C3 and C6 valued 22uF. Some minor fixes regarding bottom side were taken. This made no difference but it looked more professional.
DIGITAL VIDEO OUT FIX
As for Digital Video out initially we used 0603 270Ohm resistors in series. This wasn't best solution for everyone depending on TV/monitor type used. Sometimes on higher resolutions picture was unstable.
On Vampire 500 V2+ Rev:2.1 resistors were replaced with 0603 100nF capacitors leaving Silkscreen showing R marks.
Later in Vampire 600 V2 Rev: 2.1 this was done properly and R was changed to C as it should be.
Having retro computer and not having soldering station near is not an option anymore. Simple fixes on main or additional hardware is something that become normal. After all without various people writing on forums how did they improve their hardware who knows will those things will be ever discovered. This was definitive prove that we are going in right direction with this project because community showed interest. Most of the people wouldn't notice mentioned differences in models or their flaws but I needed to point to them to clear my mind. You see, I am strange person who is prepared to sit for hours designing some card just to be able to move one trace 0.1mm to make it aligned with all the others same time moving 100 traces or components to make more room. I m well aware that this is not important and that no one will be able to see that. But, I will know, don't know how to explain... Yes, I know that I have problem of some kind. Now, right question is, am I able to make perfect design, in the terms how I see it. No, even now, when I got latest Rev: 2.2 I noticed some things that could be even better.
Well, how about others, big companies. Recently I have purchased lot of hardware for modern computers and decided to take a look. How about that you need to remove graphic card from new MSI Arctic motherboard to be able to remove battery. They had loads of options to place battery on some other place and yet they didn't see this as a problem. That's not just one mechanical issue, you can spot lot of them just briefly looking into motherboard. How about mentioned graphic card and tutorial on MSI website how to make it work properly. Seeing all of that I can only say that we are more than good with our mistakes. So let's look forward to next revision who will be perfect finally. HMmMm maybe not :)
With Vampire 500 V2+ demand it was nearly impossible to find time to run production of Vampire 600 again. In new redesign plan was to introduce various fixes on hardware side. There are number of power fixes with more capacitors various sizes and capacitance, layers are reworked, some techniques like teardrops, via stitching, local fiducials are used. For the first time I was doing PCB panelization and that created lot of stress for me. Card is more secured now with new screws and plastic spacers we will use in the future. On the video below you can watch soldering first card to confirm new redesign changes. Production of the cards will start very soon in professional PCBA factory.
Posted by majsta on Friday, March 02 2018 @ 20:43:58 UTC (971 reads)
(comments? | Score: 0)
Vampire 600 V2: Resuming Vampire 600 production
I'm sorry that I must confirm that Kipper2k left the Apollo-Team and that he won't manufacture or sell Vampire cards anymore. We will never forget how kipper2k helped us number of times.
He agreed to not share any information's related to the Apollo Team and to handle warranty for the Vampire cards he made, so if your card comes from him, contact him directly for warranty purposes.
Production of Vampire 600 V2 will be resumed shortly by me with some nice surprises :)
Few days ago I have received all the parts needed to start production of the latest version of the Vampire 600. I had some small problems in soldering but as always I received some nice tips from Kipper2k :) Rest of the team worked hard on improving the apollo-core, constantly searching and killing bugs. I m certain that you were able to find lot of videos and pictures lately about this project on some other places by other members of the apollo-team but I wanted to show my configuration in everydays work. Remember, this is not latest apollo-core I m testing and not even fastest or most compatible. It is compiled more than 20 days ago just to show that latest hardware design works nicely.
More pictures in Read More, Pictures, Files... section of this article.
In the matter of hours latest and final design with all hardware problems found before removed will be sent to production. This time I have done much better job in creating 3D model of the board by using STEP models.
Next logical step was to send few cards to other developers inside Apollo development team. This will speed things up lot more because so far I was the only one in the team who had actual hardware. Working in the dark for other developers was nightmare and I was stuck with constant testings and bug hunting with the Apollo core itself. With my limited knowledge I was able to help to some point but I was frustrated because I didn't had much time left for other things, like finishing final version of the Vampire 600 V2 board. Now, when they received their packages team can work properly and I can focus on sending latest design into production. I have sent boards to BigGun, ceiach, ShK and cgugl. Just to mention that this board will never enter serial production. It will be used only for development purpose.
Board sent to cgugl.
Board sent to ShK.
But this article is really about something else :) Kipper2k man from cold, cold Canada done some amazing work with current design in just two days. After me sending him design files I was so surprised to see how fast he is in soldering and getting everything running. IMHO best soldering skills that I have ever seen. From now on he will be sending more Vampire boards to the other developers.
So question is why we will succeed where everyone else failed? Because we are united in one goal to present something new and innovative to Amiga community. We are all from different parts of the world working as a perfect team for more than 15 hours each day. The same time we are acting more like family sharing our everyday stories and our experiences in various projects that's why makes it so fun. All of that with perfect guidance of BigGun and ceiach, developers who are able to motivate rest of us to learn more and contribute properly to this project.
Posted by majsta on Thursday, October 01 2015 @ 17:41:59 UTC (3518 reads)
(comments? | Score: 1.2)
Vampire 600 V2: Soldering Vampire 600 V2
Few months ago I was informed that there is another way to solder PCB, much faster way. Before that I didn't know that there is difference between soldering paste and flux or that such things as a PCB stencils exists. To tell you the truth I was completely unaware that there are some other methods of soldering than regular one. On the video below is my first attempt to solder PCB using stencil done yesterday.
Tools & Parts used: PCB
Soldering paste (Sn63/Pb37)
Solder paste spreader
IRDA soldering station
Selecting stencil: After reading a lot about various stencils I have decided to order each and every version that's available, also considered doing homemade version but eventually that was removed as an option because PCB is way too complex. So basically you can order stainless steel or stencil based on polyimide films (mylar or kapton). In the table below you can see my impressions regarding each of them.
~100Eur, in some cases more
Medium, stencil is not so flexible
Medium, one stencil can be used for building about 200 PCB
My vote goes definitely for polyimide film based stencils. Not just because the price is lower but because it is really tricky to apply soldering paste on stainless steel stencil where FPGA should be placed. Because low flexibility you will end up with too much paste there once you remove stencil. With polyimide stencils that is not the case. They bend nicely under solder paste spreader so you will have proper quantity of paste placed on components pads each and every time.
Soldering: Only important thing here is temperature profile you must follow if you don't want to destroy components. Each manufacturer states maximum temperature values that we can't exceed. What we need is temperature values who will solder component and not overheat it and that's something done over defined period of time. Also In each component we can find moisture so if we heat component too much or too fast component will crack. This is temperature profile I m using.
As you probably know all the time on various forums I was complaining that I can't put latest revision of the Vampire 600 V2 to the production since HDMI is not tested. For more than month I was waiting for HDMI SMD connectors and that really delayed everything. Yesterday I have received them and after some small adjustments to the existing codes found on the net we have definite prove that all regarding hardware design is done properly, especially differential pair impedance calculation needed for proper work. So don't expect real Amiga video out yet but what's interesting here is that HDMI signals are generated from slow Amiga 7MHz clock without using any external crystal oscillators. Another great news is that HDMI signals are transferred over 3m long cable.
Vampire 600 V2: Phoenix core ported to Vampire 600 V2
Last few month you could find lot of images on the web regarding Phoenix core inside Vampire 600 V1 but those are the first official pictures from me and results of Phoenix core inside new accelerator Vampire 600 V2, smallest accelerator ever produced for Amiga. I must say that Apollo-team did great job and in last few years we were working so hard every single day. Happy days for Amiga are yet to come...
Vampire 600 V2 is assembled like you can see on the image, looking small and compact. Then something amazing happened, Altera Cyclone III devices I have were detected wrongly by Quartus programmer or any other JTAG tool I was trying to use. Last few days I performed number of BST and TCL basted tests to prove that Cyclone devices are fake ones constantly thinking that something is wrong with my PCB design because chips I have looks perfect like any normal modern chip where labeling is done by etching and not by painting. In the design I have used EP3C40F484C8N and detected device on JTAG chain is EP3C16F484C8N. Difference between two of those is that one we use have 40K Logic Elements and detected one have just 16K. IDCODE for the one we used is 020F40DD and 020F20DD is what's detected, so only 2 bits are different. One more difference is that those parts are not 100% compatible regarding pins, booth have 484, but some of the pins on smaller devices are not used like I/O pins and testing those pins were definitive proof to me that this is fake device. Pin U17 I have used for SDRAM_A9 connection gave me 1.2V instead 3.3V. On EP3C16F484C8N that pin is for VCCINT(internal core voltage rated at 1.2V) and on EP3C40F484C8N this is regular I/O pin. After measuring this it was all clear to me, this is fake part and I become victim of much larger fraud that is going on in the world regarding electronic parts. Complete idea behind this is probably to buy cheaper parts in same packages re-brand it and sell at higher prices. Who could I blame I ask myself. I can't blame my supplier at all since he is manager and he send me part with exact part number I asked with perfect print on it. How could he know what is inside? So we have two options now. First one will be to order more parts from various sources in small quantities and then test them and see what are the ones who are 100% original and then order bigger quantity. This will be pure luck and playing with the fortune because you never know what someone will send you, and you can't create your judgment based on the picture of the part, price, seller ratings or the origin of the part. Second option is to redesign the board and make it 100% compatible to all Altera Cyclone III devices who have 484 pins. This will be huge task...
Posted by majsta on Sunday, May 10 2015 @ 08:58:24 UTC (2201 reads)
(comments? | Score: 0)
Vampire 600 V2: Keep it RAW - Vampire 600 V2
Let's paint... Volume up, party time... Near completed, here we goooooooooo... 40K LE is near... RRRRRRRRRRRaaaaaVVVVVVVeeeeeeeee ON...
Vampire 600 V2: Poison is kept in small bottles...
Today I have received lot of parts for final Vampire 600 V2 production. It is not the same when you look into datasheet and search for measurements and to actually have part in your hands. It was surprise for me how Altera Cyclone III is small and in the same time how can it be so powerful. So I had to share my excitement here. I have taken some pictures to compare what we had before regarding sizes and what we have now.
Since demand for Vampire 600 V1 was so high I decided to redesign the board, add some more features, bigger FPGA, make board smaller and in any way better designed. Real reason for doing this was high demand for V1 I was unable to fulfill. All day night I was soldering to produce enough boards and I just couldn't keep up with that. Also my problems with customs I have mentioned number of times on various forums. Another reason was bug we had in V1 regarding RESET, bug was solved later in code but I didn't liked the idea to continue development of that card who has hardware bug. In V1 we had small FPGA, at the time that was more than enough but after apollo-team started to port Phoenix core to Vampire design soon enough we end up with lack of LE in our FPGA. For emulating MC68000 8K LE FPGA was enough but after we decided to emulate MC68020 instructions each day this FPGA was telling us that we are wasting our time. This time we will try to not create the same mistake. For easier soldering we are going with FPGA build in BGA package. This FPGA also have some benefits because his PLL can directly accept 7MHz signal from Amiga motherboard so we don't need to use external crystal oscillator on the board to get system synchronization to the mentioned clock signal. Memory size and model will stay the same, so for FastRam we will have 64MB of SDRAM memory who is better designed now regarding traces length. PCB itself is done in 4-layers and that will secure better GND plane and such thing is important if we aim for higher frequencies. For voltage regulation this time switching regulators are used instead linear ones and that will ensure proper work with any Amiga power supply because it will give enough power no matter how core inside of FPGA become complex and how much current it will take. On the board more capacitors are added, and there also we pickup smaller sizes 0402. All of that ensured that this board with his size of 50mmX100mm have good chances to become fastest and smallest Amiga accelerator board ever produced. Designing such board was nightmare because FPGA pads pitch was 0.8mm so Via hole diameter between those pads needed to be 0.2mm and that is something hard to produce for most of the PCB manufacturers. I played a risky game here now knowing how much production of such board can cost and placed the price of the board to 90 Eur before quotation from PCB manufacturer is finished. But after so much work it is about the time to have some luck. Board can be pre-ordered on Amibay or directly contacting me. To understand complexity of this design please look at the pictures found in (Read More, Pictures, Files...) of this article.
URGENT UPDATE: March 29, 2015
Quick update to explain new situation.
As the Phoenix core getting bigger and more complex (having 3 instructions per clk as we speak) with future possibility to add FPU and get into never seen performance at least in Amiga world I had to change few things regarding design. This will affect the price since I just can't find a way to produce card for 90Eur and satisfy Phoenix core needs in the same time. Inside apollo-team we had 3 day long discussion about this. 10K LE Altera Cyclone III could easily fit in that price range but simply that is not enough for Phoenix. So new redesign is taking place and we will use 40K LE Cyclone III FPGA device instead and that is something I can't get cheap. What is discovered that price needs to go up to 120Eur now to cover everything. Also I have decided to cover all loses for early pre-ordered cards so this will not have any affect to those who already ordered and paid for their cards. So from now I can only accept 120EUR for pre-orders. Shipping for Europe 5EUR, rest of the world 10EUR.