SUMP2 FAQ o Do I need to know about designing FPGAs to use SUMP2? No. BML provides a pre-built "bit file" for running SUMP2 on an iCEstick. You only need to be able to download the programming tool and follow the instructions on loading the bit file into the FPGA's PROM. o How is this project related / affiliated to sump.org? This project is not affiliated with sump.org, but was inspired greatly by the original 2007 sump design for the $99 Spartan3 eval board. The very 1st sump design by BML in 2014 ( "SUMP1-RLE" ) maintained protocol compatibility allowing the BML hardware design to work with the sump.org Java software. The "SUMP1-RLE" design was later enhanced in hardware requiring all new software and all compatibility with the sump.org project was abandoned. The 2016 "SUMP2" design is a complete do-over of lessons learned from SUMP1 both in hardware and software. The SUMP2 design scales to be both much bigger and smaller simultaneously targetting $1000 FPGAs with 512+32 bits of capture on down to 16 bits of capture for the $5 FPGA on the Lattice iCEstick board. o How does SUMP2 compare against a Saleae Logic-8 Logic Analyzer? SUMP2 and Saleae Logic-8 overlap slightly in that they sample digital signals using a PC. SUMP2 ( the Verilog ) is primarily an FPGA internal node analyzer for capturing up to 544 internal nodes of an FPGA. The small iCEstick instance of SUMP2 captures 16 external signals at 96 MSPS, which is somewhat comparable to the Saleae Logic-8 that captures 8 external signals at 100 MSPS. The major differences are that SUMP2 stores compressed RLE samples to an internal SRAM versus the Saleae which streams samples to CPU DRAM offering an almost unlimited capture depth ( seconds of capture versus milliseconds ). The Saleae software is much more advanced, offering serial protocol analyzers and compiled C++ efficiency. SUMP2 is more about capturing low level activity in an open-source software and hardware environment. o Why the Lattice iCEstick, why not a more capable Xilinx **** eval board? The iCEstick was chosen for two reasons. Cost and ease of programming. At $22 iCEstick is simply the lowest cost FPGA board BML could locate. Reason two is that the iCEstick doesn't require a separate JTAG cable for configuration. Most FPGA boards require JTAG access to the FPGA which necessitates as USB to JTAG dongle, which themselves cost between $50 and $270. The Lattice iCEstick brilliantly uses the FTDI FT2232H chip which contains 2 converters in one chip. The "Converter A" port is dedicated for programming the SPI PROM. This makes it possible for non-FPGA designers to buy a $22 iCEstick and load the sump2 firmware without any additional purchase. o Why are advanced features like delayed trigger, nth trigger, etc not enabled? Many advanced features in the sump2.v Verilog design file are not enabled as they would not fit. The $5 Lattice iCEHX1K is a VERY small FPGA with only i 1280 Logic Elements and 65Kb of RAM. The sump2 project barely fit and requires 100% of the FPGA's 160 CLBs. For only $2 more, Lattice has a pin compatible iCEHX4K with 3520 LEs and 82Kb of RAM, but unfortunately the iCEstick eval board is only available with this smaller FPGA. o Is the iCEstick 5V tolerant? No - definitely NOT. The FPGA's inputs are LVCMOS 3.3V only. If there is enough interest, BML may design a simple 5V->3V shield that will plug into the Pmod 12pin header. This board would probably be a 74LVC244A buffer and some headers and most likely available from OSH-Park as a shared design. Other shields could readily be designed for RS232,RS422,LVDS,CAN,etc. If your 5V signal is fairly slow and you are willing to risk blowing the input protection diodes of the $22 iCEstick, you could try a 330 to 1K series resistor between your 5V device and the iCEstick. Only do this if desperate however and are willing to replace your iCEstick from any potential damage. Update: A OSH-Park PCB for a 5V tolerant shield is available now for $5. o Why 96 MSPS? Why not 100 MSPS? The oscillator included on the iCEstick is 12 MHz and 96 MHz is what the PLL is capable of synthesizing from that input frequency. Based on Nyquist, the SUMP2 at 96 MSPS should be sufficient for sampling SPI signals up to 48 MHz. o What is Mesa Bus Protocol? Mesa Bus Protocol is an open communications protocol for sending PCI'ish bus cycles of 32bit Address and Data Reads and Writes over serial communication channels like RS232,SPI,USB-VCP,SERDES,etc. The full Mesa Bus Protocol provides for daisy chaining up to 250 devices on a single connection. The limited resources of the iCEstick FPGA required that the daisy chain feature not be supported. For SUMP2 on the iCEstick the MesaBus operates at 921,600 baud which is the maximum supported by standard Windows Com Port devices. o Will SUMP2 work with Sigrok software? Maybe in the future - it would be up to the Sigrok developers. SUMP2 uses a simple protocol for arming and dumping samples. It should be very feasible for Sigrok software to be modified to work with SUMP2. o Does SUMP2 software do serial protocol analysis? No. For actual decoding of serial streams ( UART, SPI, etc ) it is highly recommended to invest in a Saleae. The Logic4 from Saleae may only be 4 bits at 12 MSPS, but for $109 includes the entire Saleae protocol analysis software and streams samples to system DRAM with almost unlimited depth. o What is bd_shell? bd_shell ( or Backdoor Shell ) is a simple UNIX shell like interface to access hardware. Combined with Mesa Bus Protocol, bd_shell provides a simple commmand line interface for writing and reading hardware registers. It is inspired by the poke and peek commands of BASIC time gone past. The bd_shell equivalent to Poke is "w", and Peek is "r". The sump2.py application includes a bd_shell interface as it is used as the inner workings for trigger settings, etc. o Why are two programs necessary? It would be better to just launch one program. Please see the "sump2_execution.txt" document for steps on creating a simple batch script to launch both python programs in correct order.