6 Replies Latest reply on Apr 28, 2018 10:49 AM by user_365962704

    Digital Filter Block (DFB) - Mini development environment

    psp650_3333911

      For anyone thinking about writing DSP programs in the Digital Filter Block (DFB), I built an enhanced mini development environment that is available at no cost here (follow the green button at the top of the page to download the installer):

       

      Where and when is my data? | DFB Topics

       

      I was new to the DFB block (and DSP in general) and creating this tool helped me learn it much faster. It also significantly accelerates my DFB programming and testing. The mini-IDE produces a diagram of the device state for each instruction cycle indicating the areas of the DFB, the q.23 values in each, and the pipeline delays. Active (used) datapath is bold blue, active (unused) datapath is thin weight blue, and inactive datapath is gray:

       

      Mini-IDE Example Diagram.png

       

      Other features:

       

      • Entire environment is saved in a single project file
      • Global (In1, In2, Sem0, Sem1, Sem2) values can be pre-scheduled to be fed tot he simulator at specific cycles
      • You can 'Scrub' back and forth through the instructions from one cycle to the next and see the diagram changes
      • Enhanced ACU and Data Ram visualization showing hex, DFB q.23, and signed integer values at each cycle, and ability to add symbolic names to display
      • Value converter between hex, DFB q.23, and signed integer
      • Jump diagram
      • Jump condition overview
      • Output values listed by cycle number

       

      chris.keeser - I understand you moved on from Cypress, but wanted to thank you for your postings and earnest efforts to find a better way to communicate or visualize the pipelining delays. I hope the diagrams generated by this tool come close to your goals there.

       

      MagnusLundin - your blog postings about the DFB were a help in understanding the DFB - thanks!

       

      The C# source code for this tool is available on github for anyone who wants it:

       

      GitHub - paphillips/DFB: A mini development environment for developing and troubleshooting the Cypress PSoC Digital Filt…

       

      Regards,

      Paul