English Amiga Board


Go Back   English Amiga Board > Support > support.Hardware > Hardware mods

 
 
Thread Tools
Old 23 February 2010, 22:51   #121
mboehmer_e3b
Registered User
 
Join Date: Feb 2010
Location: Germany
Posts: 12
Quote:
Originally Posted by alexh View Post
I take it there was no 16-bit or 8-bit mode interface mode for the USB host controller? There sometimes are. I guess non that were practical or you would have used it in that mode.
Speed. There is a reason for DENEB being the fastest Zorro III USB 2.0 controller on the Amiga - it even beats PCI cards in speed, and runs at low CPU load due to full DMA support.

Heck, why should I do a full 32bit design and bottleneck it by 16bit data pathes inbetween?

Michael
mboehmer_e3b is offline  
Old 23 February 2010, 23:16   #122
mboehmer_e3b
Registered User
 
Join Date: Feb 2010
Location: Germany
Posts: 12
Quote:
Originally Posted by tnt23 View Post
I wish I could use a dedicated ground plane, but four layer PCB would be far too expensive for test project like this I am trying to compensate this with copper power/ground polygons wherever possible.
If you want to go for speed on Zorro III you will need proper GND/VCC planes.
For slow cards it is not of concern, but fast switching signals on a programmable logic IC will make this mandatory.
For "playing around" a two layer PCB is nice, but may cause more problems than it solves (very first DENEB prototype was a two layer card...).

All fast Zorro III cards (gfx cards, SCSI cards, etc.) use four layer PCBs (with few exceptions mainly from Poland), as requested by the Zorro III specs from Dave Haynie, and for technical reasons already mentioned.

You also mentioned that you plan to make matched impedance on the drivers in FPGA to match the board impedance - without GND plane you have no reference plane to calculate the impedance on the PCB at all...

On speed of Zorro III: my old calculations posted here are rule of thumb, it depends on some factors in the system, like CPU card and type, and the bus interface design.
On your 40MB/s assumption... well, dream on. Same for Multi Transfer Cycles - using them is tricky at least, but there is a reason why the DENEB has no support for them (though we played around with that feature during development, so enjoy the game ).

DMA... well. Makes sense for I/O cards with high data load (SCSI like Fastlane Z3 and A4091 or USB2 like DENEB). I don't know of any other Zorro III DMA card. And there is also reason for that... it's complex due to Buster "features", available in Buster 9 and 11. Without playing some tricks you won't get stable DMA on Zorro III.
Nevertheless, DMA on a RAM card is useless. The CPU stores data in RAM, so what would be the benefit for CPU to set up a DMA transfer from your Zorro III RAM card to ... some other RAM, wait for completion of transfer and finally access the copied RAM content by PIO again?

Michael
mboehmer_e3b is offline  
Old 24 February 2010, 01:15   #123
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,463
Quote:
Originally Posted by mboehmer_e3b View Post
why should I do a full 32bit design and bottleneck it by 16bit data pathes inbetween?
You are the man, and you did the design. I don't claim to know the challenges involved but I regularly down-size buses in my FPGA work to save pins without compromising speed by just running them at twice the speed. This must not have been an option of your USB host controller, otherwise you would I am sure have done so.
alexh is online now  
Old 24 February 2010, 22:00   #124
tnt23
Registered User
 
tnt23's Avatar
 
Join Date: Feb 2008
Location: Saint-Petersburg / Russia
Posts: 324
Quote:
Originally Posted by mboehmer_e3b View Post
If you want to go for speed on Zorro III you will need proper GND/VCC planes.
For slow cards it is not of concern, but fast switching signals on a programmable logic IC will make this mandatory.
For "playing around" a two layer PCB is nice, but may cause more problems than it solves (very first DENEB prototype was a two layer card...).

All fast Zorro III cards (gfx cards, SCSI cards, etc.) use four layer PCBs (with few exceptions mainly from Poland), as requested by the Zorro III specs from Dave Haynie, and for technical reasons already mentioned.

You also mentioned that you plan to make matched impedance on the drivers in FPGA to match the board impedance - without GND plane you have no reference plane to calculate the impedance on the PCB at all...
I do not object having dedicated power and ground planes. Even more, I will gladly go for separate PLL power/ground domains as the Cyclone II datasheet recommends. It is just that my board is a prototype, and can thus be excused for not being a four-layered one.

Quote:
On speed of Zorro III: my old calculations posted here are rule of thumb, it depends on some factors in the system, like CPU card and type, and the bus interface design.
On your 40MB/s assumption... well, dream on. Same for Multi Transfer Cycles - using them is tricky at least, but there is a reason why the DENEB has no support for them (though we played around with that feature during development, so enjoy the game ).
In fact, I was just thinking out loud I didn't mean 40MB/s can be easily achieved, but rather that the sustained data rate on Zorro III could not be more than that. I've dug some information about 20MB/s reportedly done by Haynie's designed SRAM card which could be seen as some reachable goal.

Anyway, I am having a great fun with the project. Trying to support MTCs will be fun, too

Quote:
DMA... well. Makes sense for I/O cards with high data load (SCSI like Fastlane Z3 and A4091 or USB2 like DENEB). I don't know of any other Zorro III DMA card. And there is also reason for that... it's complex due to Buster "features", available in Buster 9 and 11. Without playing some tricks you won't get stable DMA on Zorro III.
Nevertheless, DMA on a RAM card is useless. The CPU stores data in RAM, so what would be the benefit for CPU to set up a DMA transfer from your Zorro III RAM card to ... some other RAM, wait for completion of transfer and finally access the copied RAM content by PIO again?

Michael
Again, I was just thinking out loud with DMA When reading the specs, you run across things like DMA, or short cycles, or anything else which makes you wonder if it could be useful.
tnt23 is offline  
Old 24 February 2010, 22:14   #125
tnt23
Registered User
 
tnt23's Avatar
 
Join Date: Feb 2008
Location: Saint-Petersburg / Russia
Posts: 324
Okay, so I've got some results
There are still issues with the system not recognizing the memory on startup (I suspect wrong addressing, or byte swap, or other bugs of all sorts). But the memory responds, can be written to and read from. The nice small memtest program helped me a lot in debugging:



Unfortunately it doesn't use patterns like 0x12345678, and won't detect faulty addressing.

And there are the bustest utility results for SDRAM running at 133MHz.



The memory chip was desoldered from a PC100 DIMM. It is a Micron 8Mx16 SDRAM, and can do 133MHz according to the datasheet. However, the memtest reported errors, and I had to lower its clock to 100MHz to run more or less stable. The performance goes down a bit, with peaks at around 9MB/s.
tnt23 is offline  
Old 24 February 2010, 22:18   #126
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,463
This is your first stab at Zorro III. I'm sure you'll pull in a few cycles here and there and get it faster.

Is it possible to tune the SDRAM pins? Add configurable delays etc?
alexh is online now  
Old 24 February 2010, 22:42   #127
tnt23
Registered User
 
tnt23's Avatar
 
Join Date: Feb 2008
Location: Saint-Petersburg / Russia
Posts: 324
Quote:
Originally Posted by alexh View Post
This is your first stab at Zorro III. I'm sure you'll pull in a few cycles here and there and get it faster.

Is it possible to tune the SDRAM pins? Add configurable delays etc?
The SDRAM controller has been largely vandalized and wounded to fit. Throwing away wishbone rudiments will most definitely help cleaning the design, and indeed could redeem a couple of cycles. Perhaps bringing own controller code will be better.

All configuration, like Autoconfig values or memory latency, is currently compiled in. I think it is quite possible to make it configurable through some linked I/O board and a simple, yet non-existing utility. There are still plenty LEs in FPGA for that.
tnt23 is offline  
Old 24 February 2010, 22:50   #128
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,463
In our last ASIC all the SDRAM pins all have individual configurable delay lines in them and a method of calibrating this delay so the lengths of the tracks between the RAM and the chip can vary across the PCB without causing too much skew.
alexh is online now  
Old 24 February 2010, 23:15   #129
Eriond
Happy Registered User
 
Eriond's Avatar
 
Join Date: Apr 2009
Location: Stockholm, Sweden
Posts: 101
Post Mfg id

The discussion about Manufacturer IDs never seamed to come to an end... Is there still an official maintained list of IDs?
I would need one, but don't really feel comfortable picking one at random.
Any suggestions?

/Eriond
Eriond is offline  
Old 25 February 2010, 08:17   #130
tnt23
Registered User
 
tnt23's Avatar
 
Join Date: Feb 2008
Location: Saint-Petersburg / Russia
Posts: 324
Quote:
Originally Posted by alexh View Post
In our last ASIC all the SDRAM pins all have individual configurable delay lines in them and a method of calibrating this delay so the lengths of the tracks between the RAM and the chip can vary across the PCB without causing too much skew.
No, I didn't go that far with configuring individual pins controlling SDRAM. It has been mentioned that some (but not all) Cyclone II pins have selectable On-Chip Termination resistors (25 to 50 ohm), and also programmable current (from 4mA to 24mA). I think I've also seen something related to configurable delay for certain pins but will have to inspect the topic in more detail.
tnt23 is offline  
Old 25 February 2010, 09:29   #131
mboehmer_e3b
Registered User
 
Join Date: Feb 2010
Location: Germany
Posts: 12
Quote:
Originally Posted by Eriond View Post
Is there still an official maintained list of IDs?
I would need one, but don't really feel comfortable picking one at random.
Any suggestions?
Email Olaf Barthel, he's keeping track of the IDs and can assign one AFAIK.
At least I got mine from him in 2005.

That should be the official way.

Michael
mboehmer_e3b is offline  
Old 25 February 2010, 09:35   #132
mboehmer_e3b
Registered User
 
Join Date: Feb 2010
Location: Germany
Posts: 12
Quote:
Originally Posted by FrenchShark View Post
I suggest you use a multiple of the ZIII frequency as the SDRAM clock.
Zorro III is fully asynchronous and has no clock at all (except E7M only used for bus mastering signal timing).

Michael
mboehmer_e3b is offline  
Old 25 February 2010, 09:46   #133
mboehmer_e3b
Registered User
 
Join Date: Feb 2010
Location: Germany
Posts: 12
Quote:
Originally Posted by alexh View Post
You are the man, and you did the design. I don't claim to know the challenges involved but I regularly down-size buses in my FPGA work to save pins without compromising speed by just running them at twice the speed. This must not have been an option of your USB host controller, otherwise you would I am sure have done so.
Inside the FPGA - yes, but as soon as you go off-silicon you get slow (as you know, being in ASIC and FPGA business :-) )
For DENEB, this would have saved 16pins, which is not sufficient for SDRAM at all, even if you share the data bus with the I/O controller.

Another thing being "ugly" when sharing an I/O card (like USB) with system memory on the same physical Zorro card: if the I/O can do DMA, what will you do when the system assigns a DMA transfer source/target on the memory on the same physical card? This complicates things, as "normal" Zorro III DMA is not possible any more, and you need to differentiate between "normal" DMA and card internal DMA...
As soon as you are on two Zorro cards, things are easy (in terms of Zorro III) again.

Never measured the speed a DENEB doing DMA can reach with a Zorro III RAM card - in principle the cycles could be shorter than Buster ones, as DENEB operates at much higher frequencies internally and therefore can close Zorro cycles much faster.

Michael
mboehmer_e3b is offline  
Old 25 February 2010, 12:28   #134
tnt23
Registered User
 
tnt23's Avatar
 
Join Date: Feb 2008
Location: Saint-Petersburg / Russia
Posts: 324
Another busspeed screenshot:

tnt23 is offline  
Old 25 February 2010, 12:43   #135
chiark
Needs a life
 
chiark's Avatar
 
Join Date: Jan 2008
Location: England
Posts: 1,707
I'm amazed that write is faster than read... But that's endemic across the system!
chiark is offline  
Old 25 February 2010, 16:39   #136
Paul_s
Registered User
 
Paul_s's Avatar
 
Join Date: Nov 2006
Location: Amigaville
Age: 46
Posts: 3,338
It's like looking at a blackboard with Einstein's theories on.
Paul_s is offline  
Old 25 February 2010, 21:06   #137
DarrenHD
Registered User
 
Join Date: Aug 2008
Location: London / Canada
Posts: 781
Quote:
Originally Posted by mboehmer_e3b View Post
Zorro III is fully asynchronous and has no clock at all (except E7M only used for bus mastering signal timing).

Michael
I read in Dave Haynie's Zorro 3 notes that the bus master drives the overall speed and the maximum theoretical speed is 50MB/sec.

Of course in practice Z3 doesn't achieve anything close to this, as you have found out.

Anyway, I am keenly interested in a Zorro 3 memory expansion board as my Cyberstorm PPC is hobbled with 128MB ram, maximum, which really sucks for OS4.

I understand any Z3 memory would be slow, but at this point slow memory is better than no memory.

I also understand I will have to convince Thomas Frieden to add support for this memory board, but he is more likely to do it if actual hardware exists and can either be lent to him or him provided exactly what he needs to add to the OS4 kernel to make it work.
DarrenHD is offline  
Old 25 February 2010, 21:59   #138
wawa
Registered User
 
Join Date: Aug 2007
Location: berlin/germany
Posts: 1,054
is that the third part of busspeed on addr 40000000 thats relevant to your z3 memory, right? seems within anticipated transfer speed. cool that it works already anyway, not very usual among amiga developments. lol.
wawa is offline  
Old 26 February 2010, 00:42   #139
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,463
Quote:
Originally Posted by DarrenHD View Post
Anyway, I am keenly interested in a Zorro 3 memory expansion board as my Cyberstorm PPC is hobbled with 128MB ram, maximum, which really sucks for OS4.
Pretty sure that Zorro RAM cards can never be use as main memory in OS4. I believe it is just the way it (the existing Kernel?) works. This is why there is no support for DKB3128, Fastlane etc.
alexh is online now  
Old 26 February 2010, 05:18   #140
DarrenHD
Registered User
 
Join Date: Aug 2008
Location: London / Canada
Posts: 781
Quote:
Originally Posted by alexh View Post
Pretty sure that Zorro RAM cards can never be use as main memory in OS4. I believe it is just the way it (the existing Kernel?) works. This is why there is no support for DKB3128, Fastlane etc.
Which is why Thomas would have to add support for it.
DarrenHD is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Amiga 3000 Zorro Bus Problems Ze_ro support.Hardware 18 30 April 2021 06:27
Wanted - A4000 Tower case and Zorro bus board AmigaFun MarketPlace 8 03 June 2011 13:03
Zorro Bus Termination... chiark support.Hardware 3 15 October 2010 09:50
PCMCIA card reader in Zorro bus protek Hardware mods 17 06 November 2009 00:46
Zorro II Card - Zorro III Slot ? THX1138 support.Hardware 4 03 May 2003 11:03

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 16:36.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.11294 seconds with 14 queries