No I hadn't seen that. It looks like it is not directly applicable because it assumes a programming cable using a different MCU.
I spent my first 3 hour block of time taking notes on the current state of the project.
The project appears to be using the Xilinx Spartan 6 XC6SLX150-3FGG484C
Source, and the Texas Instruments MSP430F5529 , QFP80 package
Source. I have not dug out all of the relevant documentation yet, but when I do, I will post a list.
Does the new part resolve
questions Olaf.Mandel raised about the need to multiplex SPI?
ngzhang's
post about bitstream sizes concerns me as well. The chosen part has a bitstream weighing in at just over 4MiB. Where do we want to store it? I think the feeling is "on the host". However, this is supposed to be a
modular miner with possibly different modules loaded on the same board. I feel we need to do one of:
- Store the bitstream(s) on a flash chip as ngzhang suggested; bitstream updates would be written to the fash by the MCU.
- Work out some way to uniquely indentify each module (model/revison), such that the host knows which image to load. Edit: I suppose the USB ID could be used for that.
My vote is to use an onboard SPI serial flash (~$4 USD) which can configure all FPGAs on the DIMM card simultaneously. See this appnote:
http://www.xilinx.com/support/documentation/application_notes/xapp951.pdfI fully second that aproach. Has been already disscussed but seems to have been forgotten.
The μC can configure the flash via it's USB connection, and it probably wont be too hard to have the μC configure the FPGAs directly in lieu of a flash memory IC.
I think as long as we focus on keeping the DIMM interface the same, any combination of FPGAs makes and models can be setup to work together. Perhaps on the main backplane bus (SPI/USB/whatever) (my vote is SPI) we can have a standard protocol and one feature of this can be a getInfo request where each DIMM module spits out number and types of FPGAs, etc etc..
Yes SPI is the intended interface for the backplane communication. So with the flash located on each DIMM and a standartised protocol we should be abled to create a backplane wich is independent of the types of DIMM's located on it.
I'm setup to compile code for the MSP430 now, working on uploading and debugging at the moment. Considering buying a ztex FPGA module to do MSP <-> Spartan6 communication tests. Is anyone aware of an XC6SLX150-3 dev board that comes out to less than $600 after shipping to the US besides the ztex?
Hey makes me glad something is happening again.
I will order one of these MSP 430 boards too. But due to my student budget i will not invest in an FPGS eval board in addition ( i like to spare some money for the real prototype).
But also we should produce one working DIMM before getting to the motherboard or we might end up splitting our efforts to widely at one time.
@ both of you : How about your electronic hardware knowledge ?
I could need some additional eyes reviewing our current layout and routing in eagle.
@phillipsjk Maybe you could give me your email adress so i may add you to the dropboxfolder