My only concern about this complete project was how to provide enough current for this type of accelerator to work. In worst case scenario I had to think about someone who have 2.5A Amiga power supply. What if our FPGA core at some point become so complex and FPGA needs to sink 3A to work properly, stable... External power supply was out of the question so I had to find another way. To solve this problem I had to enter the territory who is not known to me, understanding how switching regulators works. All the time in my previous designs I have used linear regulators with fix output values and that was easy to do. Let's try to compare linear and switching regulators first.
Only steps down (buck) so input voltage must be greater than output voltage
Step up (boost), step down (buck), inverts
Low, about 25% regarding efficiency VS load current
High, we are about 85% regarding efficiency VS load current
Low, few capacitors needs to be used
High, requiring inductor, filter caps, resistors
Large, part itself is not big, but together with other components needed takes lot of space on PCB
High, mostly because external components used
Medium, needs to be fixed in PCB design itself by creating AGND planes...
Table used from article "Understanding the Advantages and Disadvantages of Linear Regulators" By Steven Keeping, simplified for our needs.
As you can see from the table above there are lot of advantages we got this way, but to simplify all let's say that we don't have heat problems anymore and that our current will be more stable and in values we need, so in short from 1.5A we have left after Amiga motheboard takes what's needed we create 3A needed for the accelerator to work properly.
Vampire 500 voltage regulation simplified
On this specific accelerator few voltage regulations are needed and 5V we get from Amiga motherboard we can use directly only for HDMI, rest of the included devices works on different voltages. To suit their needs we need to create lower voltages and enough current. First switching regulator who is connected to 5V will create 3.3V for voltage translators and dedicated FPGA I/O banks. From there we use linear regulator to create 2.5V for internal FPGA PLL. We use linear regulator there since PLL don't consumes much current and we are using it from 3.3V since voltage difference is smallest there so we will not create much heat. Last two switching regulators are for creating 1.2V needed for powering FPGA core and 1.8V for mobile DDR memory used, dedicated FPGA I/O banks.
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.
OULU, FINLAND - October 27th, 2014 - Finnish Amiga Users Group recently
received offers for two separate Amiga 4000 computer donations, for giving
onwards to worthy Amiga causes. We are very grateful for these generous
offers and have coordinated them to the best of our abilities. The
machines and donations themselves have been handled by private people.
We are now happy to announce that the first one of the Amiga 4000 donations
is on its way to the recipient, Igor "Majsta" Majstorovic in Bosnia. Igor
has worked tirelessly and selflessly on Field-Programmable Gate Array (FPGA)
accelerator cards to bring a modern solution to speeding up our old Amigas,
and we hope this donation we facilitated helps him in that work. The
donation also includes Amiga 4000 accelerator board connectors, plentiful
accessories and some Amiga mementos as well.
UPDATE: November 21, 2014
Received two huge packages. I will write about the things I received in new article after I solve few problems with monitor. He is heavily damaged, cathode tube was moved from its place, most of the wires inside are disconnected, lot of bended pins. It is sad because monitor looks from the inside and outside just like he has left the factory just now. I was repairing it all day and made some progress, got to the menu screen but still he is not working. In the tiny space inside monitor case I left lot of my blood, nasty fingers cuts... Destroyed my hands totally, but hey, it can't get any better than to mix my blood with Amiga devices :)
Last year I started Vampire 500 project, FPGA accelerator for Amiga 500 but without keyboard, floppy disks or let's say complete Amiga 500 I needed to stop that project. Goal was to have fast accelerator with emulated core and support for IDE with Gayle emulation. Few days ago I received Amiga 500 keyboard from ShK and bunch of Amiga floppy disks so now I have everything to continue this project. SysInfo results and Gayle detection are shown in Read More, Pictures, Files... section of this article.
This is the first public Phoenix core test. Despite some haters statements that this demo was written specially for Phoenix just to trick everyone that core is fast I must say that this is not true. Demo was tested in number of Amiga configurations and here are the results.
In fact you can test the demo on your system and report the results. You can find it in Read More, Pictures, Files... section of this article.
phoenix_demo4 - start from workbench
phoenix_demo4.bin - start from WinUAE selecting it as an main ROM file with 64MB of Motherboard fast.
I didn't have the time to write much since I was stuck with soldering but I had the time to read various Amiga forums and I was amusing myself reading about happiness of some people when they realized that one of the Vampire 600 accelerators send to UK was not in working order. It is replaced with working one. Don't worry so much I didn't developed all of this to put you out of business. Do you feel endangered in some way? Don't be afraid. What is most important to you? To see Amiga progress or to live from selling outdated products. I must say that my complete concept was success. Users learned how to upload cores to accelerator. I forced serious developers to buy Amiga 600 to be able to work with my hardware. Soon we will have fastest Amiga accelerator ever produced. I m sorry that you made some wrong decisions few years ago. You could find some time to talk with me :) Now, 30 more boards left for me to send, next 300 will be done by kipper2k in short period of time. At the end it is nice to see that people are selling your accelerators to order mine.
Today I received first pictures from new Vampire 600 user. This specific card was sent to ShK for SAKU 2013 event held at the Finnish Science Center Heureka in Helsinki on September 21st but unfortunately card was not there on time so visitors could only see poster of Vampire accelerator at the entrance hall. It took 11 days for package to arrive from Bosnia to Finland. Please look at the other pictures in Read More, Pictures, Files... section of this article.
You may noticed that 3 Vampire 600 boards are send somewhere but no one from pre-order list have been contacted. Don't be mad just read the story. On 21 Aug 2013 I became Apollo Team Member. What is Apollo you may wonder? Apollo-core is fastest FPGA core today and it is based on MC68K series of CPU. Again, you may ask why all of this is important for us? Yes we can run it inside Vampire accelerator series and get fastest Amiga accelerator ever produced. Now you know where are those 3 boards left. For past few days we are doing lot of work regarding optimization of the Apollo-core because original core can't fit into small FPGA used on Vampire 600. New core is taking shape, code named Phoenix, targeted at 100Mips and available as update for current core Vampire 600 is using at the end of November. What is my role in coding you may ask. I will be doing integration of Phoenix to Amiga Bus and few other things. So far I have created 500 lines of code and it seems that I will need to create 1000 more to get it done. All the time I was waiting for the opportunity to work with such names and to learn from them. Don't get me wrong but again I m proud that they recognized my hard work and invited me to the team. Final conclusion is that if all goes well there will be no point of building another accelerators instead FPGA accelerators. I must say that soon no one from other developers will be able to keep up with this.
UPDATE: September 11, 2013
After publishing this information's I noticed that too much people suggesting how and what needed to be done and why all of this is not possible. The same thing happened to most of the Amiga projects where developers just couldn't keep up with various demands. Adding some non standard features to the core usable for only few programmers takes time and most of the people will never notice or use that part. All of those comments created argue in Apollo team so we agreed that we will stop talking about complete project to the day we have first results. I didn't notice anyone contacting me about using schematics of Vampire 600 I published. So instead of talking what and how something should be done do it yourself. Enough said.
I have managed to finish 3 boards and today I will send them. Their destination: Germany. I must say that assembly of the boards is so difficult and when is done detailed testings are performed. Boards are in working condition and very fast. Complete process of soldering and testing can take complete day for just one board so you need to have patience because waiting list is long. I will need to create better assembly team because there is no way I can do all of this alone. I m mad at one more thing. I should concentrate of creating new products for Amiga and instead of doing that I m stuck with soldering because complete process is so delicate and I can't trust anyone. My assembly team made so much mistakes in process of soldering that I wasted five days to discover them.
For some reason I had to see how all of this performs online and I m satisfied! Is it usable in any way? Yes it is! Like you can see on attached video simple web sites can be used, forums etc. Let me say that maybe 70% of the things you normally do online can be done. But, I have a feeling that all of this could be much better if I had opportunity to connect Amiga to different monitor. Strange thing is that MiamiDX didn't worked and it seems that he have some problems with DNS. For best performance I used Voyager and Aweb. I m disappointed to IBrowse because he was slowest so I don't use it at all. Yes I know that everyone said that he is the fastest one but not in my case. It seems to me also that Voyager have very dirty code with strong will to crash sometimes. On other side is AWEB solid and stable and with few tunings maybe can get most from new sites. Strange thing is that new browsers like OWB and NetSurf needs FPU and ixemul libraries optimised for FPU. Conclusion to this would be that developers are going in wrong way because soon we will have emulated MC68K inside FPGA capable of much more than MC68060 with FPU. On other side there is very interesting project called Merlin Web browser who works on regular MC68K and it has support for CSS it is not stable but it has potential for shore.
For some of you this may not look so strange at all but to me, person who actually never had an Amiga before, it was quite surprise to see Doom running on A600. Yes that's because Vampire 600 is doing acceleration but still I had so much questions in my mind looking at this. Without "real" graphic card, without any serious hardware and comparing that to minimum requirements for PC version gives me permission to say PC is just a trash, who stayed alive all of those years because people those days just don't know about anything else. To play PC version of Doom I had to spend serious amount of money back in the days and still game was not playable. On the paper 486 CPU is much better than older CPU's from MC68K series. Some versions are capable of 50Mips or more but for playing this type of games we needed graphic card, sound card and at least 8MB of memory so comparing Amiga 600 with all of this makes me smile. Small machine sitting on the table and able to perform much more than 486 in huge, heavy case with tons of cables and power consumption 10 times greater than A600.
After today's testing I think that I m proud to myself more than ever. Hey!!! I created my own hardware, in some basement, able to play 3D game, able to play Doom. Imagine!!!
As you may noticed some very interesting things are happened regarding this project but news about that I didn't publish on this site. One Vampire 500 was sent to robinson5 from retroramblings.net and it was the one that I used for my testings. This is maybe most important thing happened to complete Vampire FPGA project because we are now in situation that we have opportunity to exchange codes and to point each other what might be a problem. We have already exchanged few mails and codes and it is very interesting to me that we solved few problems but using different approach. It is normal that two people can think different and coding in VHDL is something that is easier to create than to understand what someone wanted to do with specific part of the code. Another great discovery from robinson5 was bad solder joint on A16 trace of Vampire 500 and that was the reason why my code didn't worked. Earlier I have discovered that there was problem with one resistor placed on 7Mhz clk trace so after solving those hardware barriers everything regarding code should not be such problem.
From the start of this project people on various forums are again against my projects talking that Amiga 500 uses MC68K to the max and that I will never be able to create something that is done for Amiga 600. What can I say about that, only few lines of code were needed to be implemented in old code and everything worked. Now we have 3 versions of the code and all of them are working fine and main differences are in solving accesses to MC8600 peripherals.
My project is related to Amiga and creating accelerator cards for Amiga computer. Why Amiga if we have modern computers, for those who are nostalgic those computers are important as air. So if you investigate there are lot of accelerators for Amiga but I m talking about creating worlds first FPGA Amiga accelerator, and I m working on this project more than 2 years. Idea is to create open hardware database, where everyone can build accelerator for their Amiga computers, also improve some characteristics and propose some ideas so we can bring old computers into life so they can act like modern computers supporting some new standards. Why, you may ask just because of that feeling you can't find with modern computers. You are feeling alive and able to accomplish anything, work with any part of that hardware, change it improve it, to be one with that hardware. Also that hardware I need to create is related to VHDL programing language so it can become also open software so anyone with some knowledge to VHDL can get higher speeds with that open hardware. At the end we can have old computers who can support anything like modern ones. So I think that this could bring something to large Amiga community and that they need that web site with open hardware and software for Amiga. Also i have major support from some large electronic companies because there are also some nostalgic people who would like to see my project is working. I had some offers to sold my schematics, codes to some German and American companies but I say no because this needs to be open hard&soft platform free for everyone who likes and lives for old nostalgic computers!!!
Note:Those days everyone knows everything about computers. But they can't understand us and they ll newer will...We just know how to be one with the machine... Let them think that there is nothing more because if they ever find out maybe they will force us to give them all of our knowledge...