Processes | |
combinatorics | ( clk_i , clk_en_i ) |
updater | ( clk , rstb ) |
clocker | ( clk , rstb ) |
Types | |
state_t | ( idle , new_values , emit , wait_ack ) |
Signals | |
st_i | state_t |
ack_new_i | boolean |
old_sync_i | std_logic |
cnt_i | integer range 0 to WIDTH **2-1 |
phase_i | integer range 0 to WIDTH **2 |
div_i | integer range 0 to WIDTH **2 |
phase_store_i | unsigned ( WIDTH-1 downto 0 ) |
div_store_i | unsigned ( WIDTH-1 downto 0 ) |
clk_i | std_logic |
clk_en_i | std_logic |
new_value | boolean |
next_cnt_i | integer range 0 to WIDTH **2-1 |
next_phase_i | integer range 0 to WIDTH **2 |
next_div_i | integer range 0 to WIDTH **2 |
This architecture (implementation) defines a clock generator where the phase of the generated clock can be tuned relative to the sync input signal. sync is assumed to be a clock-like thing e.g., the sample clock of the ALTRO's.
clocker | ( clk , | |
rstb ) |
combinatorics | ( clk_i , | |
clk_en_i ) |
updater | ( clk , | |
rstb ) |
ack_new_i boolean [Signal] |
clk_en_i std_logic [Signal] |
clk_i std_logic [Signal] |
cnt_i integer range 0 to WIDTH **2-1 [Signal] |
div_i integer range 0 to WIDTH **2 [Signal] |
div_store_i unsigned ( WIDTH-1 downto 0 ) [Signal] |
new_value boolean [Signal] |
next_cnt_i integer range 0 to WIDTH **2-1 [Signal] |
next_div_i integer range 0 to WIDTH **2 [Signal] |
next_phase_i integer range 0 to WIDTH **2 [Signal] |
old_sync_i std_logic [Signal] |
phase_i integer range 0 to WIDTH **2 [Signal] |
phase_store_i unsigned ( WIDTH-1 downto 0 ) [Signal] |
state_t ( idle , new_values , emit , wait_ack ) [Type] |