CEP-DSP: Core blocks

January 24, 2024 ยท View on GitHub

DOI License

Copyright 2024 Massachusetts Institute of Technology

CEP-DSP: Core blocks

The core DSP blocks (DFT/IDFT/IIR/FIR) were originally generated using the free online hardware generators provided by the Spiral Project.

Generator Websites

Generator Settings

  • Note: We indicate deviations from the default generator setting as modified

  • DFT/iDFT:

Core(s)DFTIDFT
Problem Specification
Transform Size6464
DirectionForwardInverse
Data typeFixed PointFixed Point
16 bits16 bits
unscaledunscaled
Parameters Controlling Implementation
Architecturefully streamingfully streaming
radix22
streaming width22
data orderingNatural in / natural outNatural in / natural out
BRAM budget10001000
  • IIR/FIR
Core(s)IIRFIR
Example FilterCustom FilterCustom Filter
Filter Taps a_k1.000000e+0001
8.274631e-0161
1.479294e+0000
1.089388e-0150
7.013122e-0010
4.861197e-0160
1.262132e-0010
9.512539e-0170
7.898376e-0030
-4.496047e-0180
1.152699e-0040
-6.398766e-0210
Filter Taps b_k1.618571e-0031.618571e-003
1.780428e-0021.780428e-002
8.902138e-0028.902138e-002
2.670642e-0012.670642e-001
5.341283e-0015.341283e-001
7.477796e-0017.477796e-001
7.477796e-0017.477796e-001
5.341283e-0015.341283e-001
2.670642e-0012.670642e-001
8.902138e-0028.902138e-002
1.780428e-0021.780428e-002
1.618571e-0031.618571e-003
Fractional bits88
Bitwidth3232
Module NameIIR_filterFIR_filter
Input DatainDatainData
Register InputYesYes
Output DataoutDataoutData
Register OutputYesYes
Clock Nameclkclk
resetnegedgenegedge
Filter FormII
Debug OutputOffOff

Incorporating the Generated Source Files

Generated source for the DFT and IDFT cores should be placed in <CEP ROOT>/generators/mitll-blocks/src/main/resources/vsrc/generated_dsp_code.

  • DFT
    • Save the generated Verilog file to dft_top.v
    • Remove the testbench module from the generated Verilog file.
  • iDFT
    • Save the generated Verilog file to idft_top.v
    • Edit idft_top.v. Rename the dft_top module to idft_top
    • Remove the testbench module from the generated Verilog file.
  • IIR (already included in repo)
    • Save the generated Verilog file to IIR_filter.v
  • FIR (already included in repo)
    • Save the generated Verilog file to FIR_filter.v

Return to the root CEP README