We use Python as HDL. It is not HLS.
Which means you still need to know Digital Logic Design
Note:
HDL stand for hardware description language.
verilog and vhdl are HDL
migen, Amaranth are python based HDL
Chisel are Scala based HDL
HLS stand for high level synthesis
HLS let you use normal C program to describe the operation you want hardware to do.
systemC and some vendor specific C belong to that.
Basic Digital Logic Design:
Combination Logic:
Not, And, Or, Xor, Mux, DeMux, Encoder, Decoder,....
Sequential Logic:
Dff, Dff with Reset, Counter, Shift_Register, ...
Clock Domain Crossing
Bus Protocol:
Wishbone Bus, AXI Bus, AXI Stream, ...
Basic IO Protocol:
UART, I2C, SPI,...
Complex IO:
PCIE, DDR, Ethernet, USB,....
Terminology:
Signal, Clock, Reset, Bus, Ready, Valid, .....
Your should familiar with above stuff.
If not, YouTub or Udemy have some lessons for Digital Logic Design.