8 Replies Latest reply on Nov 16, 2019 4:51 AM by LePo_1062026

    Digital Filter Block (DFB) - Mini development environment


      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 at the Github link below.


      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


      userc_39164 - 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.


      maluc_1580471 - 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…





      [I edited this post on 2019-11-07 to remove the link to dfbdev.com, which I stopped maintaining. The Github repo is still up.]