Welcome, Guest. Please login or register.

Author Topic: Individual Computers Announces Clone-A Project  (Read 10979 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Hans_

Re: Individual Computers Announces Clone-A Project
« on: October 13, 2006, 04:44:47 PM »
@everyone that doesn't want an Amiga-in-a-joystick

:idea:

How about an Amiga-in-a-keyboard? :-D

Hans
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.
 

Offline Hans_

Re: Individual Computers Announces Clone-A Project
« Reply #1 on: October 13, 2006, 07:10:39 PM »
Quote
As all the A500 chipset's chips have obviously been individually cloned for the MiniMig, I really don't see the fuss about simply sticking each synthesized A500 chip in to it's individual FPGA. Not that I understand why you would want to do something like that in the first place other than possibly designing a drop-in replacement for specific A500 chips. Anyhow, I really don't understand why you think that MiniMig-code could not be used as a base for a new motherboard A500. I obviously am missing your point.


Actually, Dennis' approach has been to replicate the A500 in a behavioural sense based on reference manuals, software emulator code and observing behaviour of the actual hardware. AFAIK he didn't specifically divide it up into the different chips. Hence, it's not guaranteed that you could replace say the A500 Agnus with a Minimig Agnus equivalent. He didn't have to ensure that the timing of all signals connected to/from Agnus matched the timing of the original chip. The Minimig may be cycle-correct in its overall behaviour, but this doesn't mean that the internal signals have the same timing as the original A500. You'd have to reverse-engineer the signal timings for the individual chip and modify the design to take this into account.

Jens Schoenfeld & co., on the other hand, have designed replacement chips that replicate the original chipset's behaviour down to the timing of the signals between them. It's a different approach. This means that their design is guaranteed (assuming they've analysed the original timings properly) to be a drop in replacement for the original chips in a real A500.

This does NOT mean that Dennis van Weeren's approach is any less valid than the one taken by Jens Schoenfeld. Minimig works, although he's not done with bug-fixing yet. Jens Schoenfeld & co. are lucky that they have the tools to work at a lower-level. Both projects should eventually be able to run all A500 compatible software correctly.

Hans
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.
 

Offline Hans_

Re: Individual Computers Announces Clone-A Project
« Reply #2 on: October 15, 2006, 05:45:49 PM »
Quote

It doesn't matter to me how certain you think you are about how Dennis went about cloning the A500 and creating MiniMig. What does actually really matter to me is that you have your facts all mixed up. Dennis has in fact been cloning the A500 chip-by-chip. If you do not believe me, please feel free to read the 850+ posts in the "Amiga in an FPGA: MiniMig" forum topic OR even contact Dennis on the subject.


Funny, I've been following that thread and I don't recall anything saying that he's been cloning it chip by chip. Sure, he started with the copper coprocessor (which is NOT a chip in it's own right  but a sub-component) and then moved to other parts such as the blitter system. That's the only way to do a project like this. I don't have my facts mixed up at all. Dennis van Weeren has taken an overall behavioural approach. Of course he's implemented each sub-component one-by-one. Just not chip-by-chip. Why would he bother to implement the OCS Agnus first, and then Denise, Gary, etc., when he's trying to replicate the overall behaviour, NOT, the behaviour of individual chips on the board. He was not concerned by the timings of the signals between the individual ICs on the A500 motherboard.

Quote

As for the accuracy of the actual signal timings; I agree that MiniMig's synthesized A500 chip set might be a little off compared to the real thing. This is no big deal in the sense that it is something that can be fixed in a real short window of time. Although I my self have not done any in-depth FPGA programming as of yet, I am certain that it is something that even I could FIX in a matter of hours with a timing diagram of the original A500 handy.


I doubt that someone could fix it in just a few hours. Regardless, if Dennis had the timing info, he could adapt his minimig design to separate into the individual chips if he really wanted to.

Quote

Oh, why is it that the signal timing has to be absolutely correct again? Aside from the bugs, MiniMig runs everything A500, doesn't it? It is a true A500 clone after all! Did I actually hear you say "drop-in chip replacements"? Have you any idea what something like that would cost if production is not on an impressive scale? Wouldn't you rather spend your money on a reasonably priced modern implementation of the A500 than on a relatively expensive chip in the hope that none of the other chips need replacing? I know I would.


Jens suggests that by analysing the timings etc at  a chip-level he should ultimately end up with a more compact design. Added to that, it helps with debugging the design too. I could see an advantage to being able to use some of the old chips when testing/debugging the design. That way you can see the whole thing work, including inter-chip interactions, before you've finished designing the whole system.

Personally I don't care about the inter-chip timing; I don't have an A500 motherboard; and, seeing as the entire design could fit in one FPGA, that's definitely the way to go for a new product (it sounds like Jens Schoenfeld will be doing that too).


One final note: you seem to have got the idea that I think Dennis' work isn't as good as Jens'. Not at all. I like both projects. I'm very interested in the different approaches thay've taken to ultimately try to achieve the same goal. I'm an electrical engineer and I plan to get back into working with FPGAs at some point, so, looking at these various projects could give me some ideas that will be of use later.

Hans
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.
 

Offline Hans_

Re: Individual Computers Announces Clone-A Project
« Reply #3 on: October 15, 2006, 05:56:26 PM »
Quote
Can I also ask you to explain to me why exactly your implementation of an A500 clone can be any smaller than MiniMig aside from integrating the 68k and a MMC controller in to the FPGA? I have given it some thought, but just don't seem to grasp the physics involved.


I'm hoping that he'll answer this question too. Possibly some of the signal timings/characteristics are because of things the original Amiga engineers did in order to keep the chip within the transistor-count budgets of the time. For example, making a signal active low instead of active high could remove a few unneeded gates. That's all I can think of personally.

Hans
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.
 

Offline Hans_

Re: Individual Computers Announces Clone-A Project
« Reply #4 on: October 16, 2006, 03:46:29 PM »
@jen-ss
Quote
I would like to quote a single sentences posted by Dennis in the "Amiga in FPGA: MiniMig" thread;
Posted on: 2005/12/5 13:46 (This is his very first post!)
"I have been working on this for almost a year now and so far I have the OCS Agnus, Paula, OCS Denise and both the CIA's running in the FPGA." - Here he states the individual chips that he has running in the FPGA. Still sure that you have your facts straight?

You could read that as saying he did each chip one-by-one. Or, that he's implemented all the functionality that each chip contains. Whether he's separated it out into Agnus, Paula etc. in his design files or separated it into functional elements is not specified. Regardless, it works.

Jens has already replied regarding the advantage he has of analysing the interchip signals and timings so there's nothing for me to add there. I agree that Dennis' timings can't be far off as it's actually running OCS software.

Quote
It's been a pleasure talking to you Hans! You mentioned that you where thinking of getting back in to FPGA development? Will you be participating in the further development of MiniMig when the time comes? :-)


Nice talking to you too. I'd certainly like to participate in further development of the MiniMig when the source is released. I'll need to get my hands on a dev-board first and then get up to speed with Verilog. That shouldn't be too hard as I've already worked with VHDL. The languages have some similarities even if Verilog is supposed to be easier to learn.

Now where did I put those AGA specs...

Hans
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.