Homework for MOD2-02 Microelectronics & HW/SW-Co-Design, Summer Semester 2023, Fachhochschule Dortmund
Never a bad idea to put an anime girl in the beginning of your README.
-
Illustration: Kouhaku Kuroboshi
-
Source: "Ninomae Ina'nis Birthday Celebration 2023" Merch Complete Set
-
Folder structure:
test_cases/
input/
- input waveforms, generated by MATLAB, including:
- Sine Waves with 50, 49, 51, 5, 200 kHz, with phase angles: 0°, 30°, 45°, 90°, 120°
- Rectangular Waves with 50, 16, 10, 200 kHz, with phase angles: 0°, 30°, 45°, 90°, 120°
- Triangle wave, 50 kHz, with 0° and 90° phase angle
- input waveforms, generated by MATLAB, including:
expected/
- expected results of the corrosponding waveforms, generated by MATLAB
- file format: 1 sample per line, in HEX
goertzel_testcases.m
- simulation using MATLAB
goertzel.vhd
- Goertzel algorithm implemented in VHDL
goertzel_tb.vhd
- test bench for
goertzel.vhd
, using the test cases intest_cases/
- test bench for
-
Naming convention in VHDL:
-
Hungarian notation, as mentioned in the lecture slides
-
use capital letters for the first letter of the signal name
-
use all capital letters for constants
-
suffix:
-
I
/O
/B
at the end of the suffix, indicating the direction of the signalI
for inputO
for outputB
for bidirectional
-
S
/C
at the beginning of the suffix, indicating the type of the signalS
for signalC
for clock
-
e.g.
Ena_SI
,Rst_RBI
,Clk_CI
-
_D
if internal signal
-
-
Reset:
Rst_CI
-
Clock:
Clk_RBI
-
- Dulik, T. (1999). An FPGA Implementation of Goertzel Algorithm. In: Lysaght, P., Irvine, J., Hartenstein, R. (eds) Field Programmable Logic and Applications. FPL 1999. Lecture Notes in Computer Science, vol 1673. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-48302-1_35
- goertzel.vhd · dergraaf/loa · GitHub
- goertzel_tb.vhd · dergraaf/loa · GitHub
- Discrete Fourier transform with second-order Goertzel algorithm - MATLAB goertzel