SUMP capture options vs firmware capability May 18, 2010, 11:45:49 pm Just a simple question: The various firmwares seem to have different capabilities:- max capture width (8-16-31 bit) vs buffer size- pin numberingThe capture dialog of the SUMP client always displays all capabilities.Does this means I will have to know which firmware is programmed into the FPGA and configure my capture with these limitations in mind ?For example if my firmware contains a 16bit-8k firmware I'll have to abide by these limits ?What happens if I don't ?Does the firmware contains a software readable ID-string so the the SUMP client could read its capabilities and only enable the capabilities of the hardware ? Last Edit: January 01, 1970, 01:00:00 am by Guest
Re: SUMP capture options vs firmware capability Reply #1 – May 19, 2010, 02:15:59 am The word firmware is not quite correct and rather confusing when talking about the FPGA configuration files (bitstreams).When we speak about firmware we mean the code for the PIC MCU. At this point only one firmware version for the PICMCU should be used, the version that shipped with the OLS boards from Seeed. The PIC firmware has no impact on theSUMP features like capture width, pin numbering, RLE etc. as the PIC acts as an asynchronous serial to USB bridge onlywhile in application (SUMP logic analyzer) mode. When updating the FPGA configuration image (bitstream) in the SPIflash, the PIC MCU acts as an USB to SPI bridge (SPI flash programmer).When using the different FPGA configuration images (bitstreams) you must consider their limitations/restrictions whenconfiguring the client ... to my knowledge the client has no feature that verifies if the selected features are valid/supported by the configuration image loaded/active in the FPGA. For this it is recommended to use the "standard"32bit-4k for now. All other configuration images should be considered "experimental" at this point.I am not quite sure what willl happen exactly if the user does not abide to the limits/restrictions of the active FPGA configuration when configuring the client. The captured data will not be shown correctly, the defined trigger conditionmay not be met and thus the LA will not start capturing data at all ... essentially it will depend on the features/optionsselected in the client but not available in the loaded FPGA configuration. However, feel free and encouraged to playaround and test the other configurations at your own risk ... there should be no danger of damaging the OLS hardware when selecting unsupported features/options.The configuration image contains an ID that can be requested with the ID command (02h). Here you can find a(n)(imcomplete) description of the SUMP Communication Protocol.There is plenty of room for improvements and new features in the client, the VHDL code (FPGA configuration) and thecommunication code ... the OLS hardware has a number of features and resources that have not been used/explored, yet. The SPI interface between the PIC and the FPGA is one example. Jack works on the VHDL code to replace the asynchronous serial interface that's used currently used with a faster and more stable SPI interface. Once the VHDL code will support the SPI interface a new firmware for the PIC will be required to make use of it, so. Last Edit: January 01, 1970, 01:00:00 am by Guest
Re: SUMP capture options vs firmware capability Reply #2 – May 19, 2010, 11:24:56 am Hi,I think we will see many improvements on the Java client code once the firmware and bitstreams on the hardware have reached a stable status.Without knowing anything about FPGA's I think it should be for instance possible to add a command that returns some sort of ID that identifies for the installed bitstream, so the client can show only available options at runtime.... and since we are talking about ID's, from the atmel xplain board I learned that every DataFlash also has a globally unique ID. If there was a command to retrieve this number from the client I would be able to tell my 2 boards apart, by putting a sticker on them and selecting them in the client by this number.(Is there are sort of wishlist, for future Client development?)Eberhard Last Edit: January 01, 1970, 01:00:00 am by Guest
Re: SUMP capture options vs firmware capability Reply #3 – May 19, 2010, 11:54:36 am The different bitstreams are temporary solution. There is a development thread where Jack has tried to etch the further development of the VHDL design - this includes one bitstream for all different combinations of ram/inputs.The ID from the Fpga is SUMP id that is used to identify that the OLS is present, and there is only ONE ID. So it is not possible to distinguish between different bitstreams just by poking the serial port. Last Edit: January 01, 1970, 01:00:00 am by Guest
Re: SUMP capture options vs firmware capability Reply #4 – May 19, 2010, 01:57:33 pm [quote author="robots"]The ID from the Fpga is SUMP id that is used to identify that the OLS is present, and there is only ONE ID. So it is not possible to distinguish between different bitstreams just by poking the serial port.[/quote]Yes I know, I was talking about future developments. I read the thread about the plans for revision 2 , so there will be at least boards available with more on-board memory.There should be some kind of getRevision()/getMemorySize()/getWhatEverBoardSettings() command implemented in the firmware, which the Pump Client can use for querying the device capabilties.Eberhard Last Edit: January 01, 1970, 01:00:00 am by Guest
Re: SUMP capture options vs firmware capability Reply #5 – May 20, 2010, 12:25:59 am [quote author="wayoda"][quote author="robots"]The ID from the Fpga is SUMP id that is used to identify that the OLS is present, and there is only ONE ID. So it is not possible to distinguish between different bitstreams just by poking the serial port.[/quote]Yes I know, I was talking about future developments. I read the thread about the plans for revision 2 , so there will be at least boards available with more on-board memory.There should be some kind of getRevision()/getMemorySize()/getWhatEverBoardSettings() command implemented in the firmware, which the Pump Client can use for querying the device capabilties.[/quote]Such a capability would be very useful, even for the current hardware.I could also imagine that the current ID indicates the capabilities. The Java client could look up the capabilities in a table and use the ID as index. This could be implemented without breaking compatibility. Last Edit: January 01, 1970, 01:00:00 am by Guest