Reply by April 22, 20072007-04-22
On 4=A4=EB13=A4=E9, =A4W=A4=C82=AE=C917=A4=C0, "H. Peter Anvin" <h...@zytor=
.com> wrote:
> -jg wrote: > > > You need to define just how much theCPLDportion needs to DO. > > - ie how many macrocells are needed > > How much memory is shared, and what bandwdith is needed ? > > > It is quite easy to set up shared memory access on a Microcontroller, > > with external RAM and aCPLD- choose a fast SRAM, and lock the > >CPLDaccess to the idle periods in the uC bus - that way, > > you emulate dual-port memory with cheap SRAM. > > Yes, I've pretty much independently come to the same conclusion. This > is most likely the sanest option. > > The next step is to prototype theCPLDcode and see what kind ofCPLDit > can fit into. > > The only potential concern with having theCPLDdo the arbitration of > the SRAM bus is needing too many I/O pins on theCPLD, but I'm sure that > can be dealt with, too. > > -hpa
regards: good answer
Reply by Uwe Bonnes April 12, 20072007-04-12
H. Peter Anvin <hpa@zytor.com> wrote:
...
> The only potential concern with having the CPLD do the arbitration of > the SRAM bus is needing too many I/O pins on the CPLD, but I'm sure that > can be dealt with, too.
Go with an FPGA. Some more external infrastructure needed, but much more possibilities... -- Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Reply by H. Peter Anvin April 12, 20072007-04-12
-jg wrote:
> > You need to define just how much the CPLD portion needs to DO. > - ie how many macrocells are needed > How much memory is shared, and what bandwdith is needed ? > > It is quite easy to set up shared memory access on a Microcontroller, > with external RAM and a CPLD - choose a fast SRAM, and lock the > CPLD access to the idle periods in the uC bus - that way, > you emulate dual-port memory with cheap SRAM. >
Yes, I've pretty much independently come to the same conclusion. This is most likely the sanest option. The next step is to prototype the CPLD code and see what kind of CPLD it can fit into. The only potential concern with having the CPLD do the arbitration of the SRAM bus is needing too many I/O pins on the CPLD, but I'm sure that can be dealt with, too. -hpa
Reply by Gabor April 12, 20072007-04-12
On Apr 11, 12:10 pm, "zcsizma...@gmail.com" <zcsizma...@gmail.com>
wrote:
> On Apr 10, 11:51 pm, "H. Peter Anvin" <h...@zytor.com> wrote: > > > > > zcsizma...@gmail.com wrote: > > > > How big is your form factor? I think it is still easier to make a > > > motherboard for the Virtex-4 Mini module, and add a 5V TTL logic > > > converter and the power supplies vs. designing a new board. > > > I wouldn't worry about power supplies. That should be your smallest > > > problem. > > > > Other option is to put a small Spartan II and a uC (with external data > > > bus support, e.g. Atmega), and use the dual-port ram inside Spartan to > > > share memory between uC and Spartan. > > > The form factor is quite big -- 100x160 mm (Eurocard), so space is > > largely plentiful. The Virtex-4 mini module is quite expensive, though > > ($250), which is okay for a one-off but may be too much for an actual > > production run -- I would have to do the math on that. > > > I didn't realize that Spartan II was 5 V tolerant. I'm going to have to > > see if that is practical to combine with a microcontroller. Still needs > > dual power supplies, though If not, a 200,000-gate Spartan II > > apparently retails for $26 these days; that FPGA should be large enough > > to fit an 8- or 16-bit microcontroller core plus all the logic. > > > Anyone has any kind of idea how long Spartan II is likely to remain on > > the market? > > > -hpa > > IIRC you can put a simple microblaze (32 bits) design into the Spartan- > II, IF you don't need too much code space. But picoblaze (8 bit) can > be done as well. > Probably that would be the easiest solution, have a block ram in your > FPGA logic, and map that RAM into uBlaze.
A suggestion if you decide to go 8-bit with PicoBlaze. Nial Stewart has adapted the Picoblaze 2 (Virtex-2 version) for Spartan 2. This overcomes the extremely small (256 instruction) code space of the original PicoBlaze for Spartan 2. I have used this in the Spartan 2 200K gate part and it leaves most of the logic free for your other needs. HTH, Gabor PS here's the header from the Nial's perl script for converting instruction RAM from Virtex 2 to Spartan format: # This is a Perl utility written to convert initialisation # definitions from Virtex Blockram (1024 x 18 bits) to SpartanII # Blockram (5 * 256 x 4 bits) format. # # This is to allow the bigger version of the Picoblaze processor # to be used with SpartanII devices. # # This is provided as is for general use without any guarantees or # warranties. # # =A9 Nial Stewart Developments 2003 # www.nialstewartdevelopments.co.uk
Reply by Symon April 11, 20072007-04-11
"H. Peter Anvin" <hpa@zytor.com> wrote in message 
news:1cKdnUK2McvPnIHbnZ2dnUVZ_sOknZ2d@comcast.com...
> Hi all, > > I have a potential (hobby) project, where I'm looking at needing, in > effect, a CPLD and a &#4294967295;C that can share memory. +5 V I/O tolerance is > necessary (for about 52 signals coming into the board), and I would like > to keep the power supply complexity to a minimum since I'm really a > software guy and don't particularly trust my board layout skills. > > Anyway, I was looking at using an Atmel FPSLIC part, but it looks like the > tools are prohibitively expensive. I was wondering if anyone knows of a > similar part that would be less expensive once the tools are accounted > for? The alternatives seem to be using a Cyclone or Spartan big enough to > integrate the whole design including &#4294967295;C, but they require complex power > supplies and external voltage converters, or cobble something together > from multiple parts. >
http://www.enterpoint.co.uk/component_replacements/craignell.html Cheers, Syms R. Brewer.
Reply by -jg April 11, 20072007-04-11
H=2E Peter Anvin wrote:
> Hi all, > > I have a potential (hobby) project, where I'm looking at needing, in > effect, a CPLD and a =B5C that can share memory. +5 V I/O tolerance is > necessary (for about 52 signals coming into the board), and I would like > to keep the power supply complexity to a minimum since I'm really a > software guy and don't particularly trust my board layout skills. > > Anyway, I was looking at using an Atmel FPSLIC part, but it looks like > the tools are prohibitively expensive. I was wondering if anyone knows > of a similar part that would be less expensive once the tools are > accounted for? The alternatives seem to be using a Cyclone or Spartan > big enough to integrate the whole design including =B5C, but they require > complex power supplies and external voltage converters, or cobble > something together from multiple parts.
You need to define just how much the CPLD portion needs to DO. - ie how many macrocells are needed How much memory is shared, and what bandwdith is needed ? It is quite easy to set up shared memory access on a Microcontroller, with external RAM and a CPLD - choose a fast SRAM, and lock the CPLD access to the idle periods in the uC bus - that way, you emulate dual-port memory with cheap SRAM. If the uC memory bandwidth are lower than the CPLD-memory, you could consider a SPI port into the CPLD, as that simplifies the PCB layout and opens more uC options. -jg
Reply by zcsi...@gmail.com April 11, 20072007-04-11
On Apr 10, 11:51 pm, "H. Peter Anvin" <h...@zytor.com> wrote:
> zcsizma...@gmail.com wrote: > > > How big is your form factor? I think it is still easier to make a > > motherboard for the Virtex-4 Mini module, and add a 5V TTL logic > > converter and the power supplies vs. designing a new board. > > I wouldn't worry about power supplies. That should be your smallest > > problem. > > > Other option is to put a small Spartan II and a uC (with external data > > bus support, e.g. Atmega), and use the dual-port ram inside Spartan to > > share memory between uC and Spartan. > > The form factor is quite big -- 100x160 mm (Eurocard), so space is > largely plentiful. The Virtex-4 mini module is quite expensive, though > ($250), which is okay for a one-off but may be too much for an actual > production run -- I would have to do the math on that. > > I didn't realize that Spartan II was 5 V tolerant. I'm going to have to > see if that is practical to combine with a microcontroller. Still needs > dual power supplies, though If not, a 200,000-gate Spartan II > apparently retails for $26 these days; that FPGA should be large enough > to fit an 8- or 16-bit microcontroller core plus all the logic. > > Anyone has any kind of idea how long Spartan II is likely to remain on > the market? > > -hpa
IIRC you can put a simple microblaze (32 bits) design into the Spartan- II, IF you don't need too much code space. But picoblaze (8 bit) can be done as well. Probably that would be the easiest solution, have a block ram in your FPGA logic, and map that RAM into uBlaze.
Reply by H. Peter Anvin April 11, 20072007-04-11
zcsizmadia@gmail.com wrote:
> > How big is your form factor? I think it is still easier to make a > motherboard for the Virtex-4 Mini module, and add a 5V TTL logic > converter and the power supplies vs. designing a new board. > I wouldn't worry about power supplies. That should be your smallest > problem. > > Other option is to put a small Spartan II and a uC (with external data > bus support, e.g. Atmega), and use the dual-port ram inside Spartan to > share memory between uC and Spartan. >
The form factor is quite big -- 100x160 mm (Eurocard), so space is largely plentiful. The Virtex-4 mini module is quite expensive, though ($250), which is okay for a one-off but may be too much for an actual production run -- I would have to do the math on that. I didn't realize that Spartan II was 5 V tolerant. I'm going to have to see if that is practical to combine with a microcontroller. Still needs dual power supplies, though If not, a 200,000-gate Spartan II apparently retails for $26 these days; that FPGA should be large enough to fit an 8- or 16-bit microcontroller core plus all the logic. Anyone has any kind of idea how long Spartan II is likely to remain on the market? -hpa
Reply by zcsi...@gmail.com April 10, 20072007-04-10
On Apr 10, 6:32 pm, "H. Peter Anvin" <h...@zytor.com> wrote:
> zcsizma...@gmail.com wrote: > > > Buy an evaluation board/development kit, probably that's the cheapest, > > and least effort. Some Xilinx options: > > Not an option, I'm afraid (otherwise it would by far be the easiest.) > Unfortunately, the board needs to fit into a legacy system, which means > a specific form factor, connector, and power supply (and the need to > interface to 5 V TTL logic -- I think the system is actually old enough > that it's real LSTTL buffers on the other side, not HCMOS.) > > -hpa
How big is your form factor? I think it is still easier to make a motherboard for the Virtex-4 Mini module, and add a 5V TTL logic converter and the power supplies vs. designing a new board. I wouldn't worry about power supplies. That should be your smallest problem. Other option is to put a small Spartan II and a uC (with external data bus support, e.g. Atmega), and use the dual-port ram inside Spartan to share memory between uC and Spartan.
Reply by H. Peter Anvin April 10, 20072007-04-10
zcsizmadia@gmail.com wrote:
> > Buy an evaluation board/development kit, probably that's the cheapest, > and least effort. Some Xilinx options: >
Not an option, I'm afraid (otherwise it would by far be the easiest.) Unfortunately, the board needs to fit into a legacy system, which means a specific form factor, connector, and power supply (and the need to interface to 5 V TTL logic -- I think the system is actually old enough that it's real LSTTL buffers on the other side, not HCMOS.) -hpa