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