Delays Library¶
Purpose¶
The delays library contains all casper_delay HDL modules wrapped for Simulink. These delay blocks are essential to the design of most DSP.
Bram Delay¶
A delay block that uses BRAM for its storage.
Ports¶
Signal |
Type |
Size |
Description |
|---|---|---|---|
din |
std_logic_vector |
any |
The input signal to be delayed by the delay parameter provided. |
en (optional) |
std_logic |
1 |
If asynchronous operation is selected, this port will asynchronously enable (1) or disable (0) the block. |
dout |
std_logic_vector |
Width of din |
The delayed din signal. |
Parameters¶
Generic |
Type |
Value |
Description |
|---|---|---|---|
Delay |
Natural |
4 |
The number of clock cycles by which you want to delay din. |
Bram Latency |
Natural |
2 |
The internal bram read latency. Optional values are 1 and 2. |
Bram Primitive |
String |
“block” |
Dictates how the bram is placed on the FPGA. Options are “block”, “auto”, “distributed” and “ultra”. |
Use DSP48 |
Boolean |
False |
Initialise the internal counter in DSP or LUTs. (TODO) |
Asynchronous operation |
Boolean |
False |
If checked, the block provides an asynchronous enable/disable port. |
Bram Delay En Plus¶
A delay block that uses BRAM for its storage and only shifts when enabled. However, BRAM latency cannot be enabled, so output appears bram_latency clocks after an enable.
Ports¶
Signal |
Type |
Size |
Description |
|---|---|---|---|
din |
std_logic_vector |
any |
The input signal to be delayed by the delay parameter provided. |
en |
std_logic |
1 |
This port will asynchronously enable (1) or disable (0) the block. |
dout |
std_logic_vector |
Width of din |
The delayed din signal delayed by \(bram_latency + delay\). |
valid |
std_logic |
1 |
The enable signal delayed by bram_latency provided (>2) |
Parameters¶
Generic |
Type |
Value |
Description |
|---|---|---|---|
Enabled Delay |
Natural |
2 |
The number of clock cycles by which you want to delay din. This excludes the delay incurred by the provided latency |
Unenabled Delay |
Natural |
2 |
The bram latency delay. |
Bram Primitive |
String |
“block” |
Dictates how the bram is placed on the FPGA. Options are “block”, “auto”, “distributed” and “ultra”. |
Bram Delay Prog¶
A delay block that uses BRAM for its storage and has a run-time programmable delay. When delay is changed, some randomly determined samples will be inserted/dropped from the buffered stream.
Ports¶
Signal |
Type |
Size |
Description |
|---|---|---|---|
din |
std_logic_vector |
any |
The input signal to be delayed by the delay parameter provided. |
delay |
std_logic |
1 |
This port will asynchronously enable (1) or disable (0) the block. |
dout |
std_logic_vector |
Width of din |
The delayed din signal delayed by \(bram_latency + delay\). |
Parameters¶
Generic |
Type |
Value |
Description |
|---|---|---|---|
Max Delay |
Natural |
7 |
Maximum 2^max_delay number of clock cycles by which you want to delay din. |
BRAM Latency |
Natural |
5 |
The bram latency delay. |
Bram Primitive |
String |
“block” |
Dictates how the bram is placed on the FPGA. Options are “block”, “auto”, “distributed” and “ultra”. |
Bram Delay Prog DP¶
A delay module that uses a dual port BRAM to delay the input by the delay period provided.
Ports¶
Signal |
Type |
Size |
Description |
|---|---|---|---|
din |
std_logic_vector |
any |
The input signal to be delayed by the delay parameter provided. |
delay |
std_logic_vector |
Max Delay |
The programmable delay value of length Max Delay. |
dout |
std_logic_vector |
Width of din |
The delayed din signal delayed by \(bram_latency + delay\). |
Parameters¶
Generic |
Type |
Value |
Description |
|---|---|---|---|
Max Delay |
Natural |
7 |
Maximum 2^max_delay number of clock cycles by which you want to delay din. |
BRAM Latency |
Natural |
5 |
The bram latency delay. |
Bram Primitive |
String |
“block” |
Dictates how the bram is placed on the FPGA. Options are “block”, “auto”, “distributed” and “ultra”. |
Is Asynchronous |
Boolean |
False |
If checked, the block provides an asynchronous enable/disable |
Delay Sync¶
Delay an infrequent boolean pulse by a run-time programmable number or provided parameter of enabled clocks. If the input pulse repeats before the output pulse is generated, an internal counter resets and that output pulse is never generated. When delay is changed, some randomly determined samples will be inserted/dropped from the buffered stream.
Ports¶
Signal |
Type |
Size |
Description |
|---|---|---|---|
din |
std_logic_vector |
1 |
The input signal to be delayed by the delay parameter provided. |
en |
std_logic |
1 |
This port will drive the delay process when operating asynchronously (optional). |
delay |
std_logic_vector |
1 |
The programmable delay value (optional). |
dout |
std_logic_vector |
Width of din |
The delayed din signal delayed by \(bram_latency + delay\). |
Parameters¶
Generic |
Type |
Value |
Description |
|---|---|---|---|
Delay length |
Natural |
4 |
Delay number of clock cycles by which you want to delay din. |
Asynchronous |
Boolean |
False |
If checked, the block provides an asynchronous enable/disable. |
Use delay load |
Boolean |
False |
If checked, the block provides a port to programmatically load the delay. |
Window Delay¶
Delay a 1 bit pulse by a specified number of clock cycles. The output pulse will be delayed by the number of clock cycles specified by the delay parameter.
Ports¶
Signal |
Type |
Size |
Description |
|---|---|---|---|
din |
std_logic_vector |
1 |
The input signal to be delayed by the delay parameter provided. |
dout |
std_logic_vector |
1 |
The delayed din signal delayed by \(bram_latency + delay\). |
Parameters¶
Generic |
Type |
Value |
Description |
|---|---|---|---|
Delay length |
Natural |
4 |
Delay number of clock cycles by which you want to delay din. |
Pipeline¶
An explicitly laid-out delay line for use in pipelining to help achieve timing closure. This is behavioural model design so tools will design how it is internally implemented.
Ports¶
Signal |
Type |
Size |
Description |
|---|---|---|---|
d |
std_logic_vector |
any |
The input signal to be pipelined by the provided latency parameter |
q |
std_logic_vector |
Width of din |
The delayed d signal |
Parameters¶
Generic |
Type |
Value |
Description |
|---|---|---|---|
pipeline_len |
Natural |
4 |
The natural number of clock cycles to pipeline in input by |