Cyclone10LP SEU CRC error implementation (part 2)
Dear support team,
I open a new post as the first has been closed without an answer, only references to already read documentation .
We have enabled the CRC_ERROR pin and we want to instantiate the block cyclone10lp_crcblock in order to retrieve the CRC calculated during configuration.
The cyclone10lp_crcblock is instantiated in a dedicated IP (attached with this message) where the CRC is output after 10s during 32 clocks.
When observed with signaltap there is no data output from the cyclone10lp_crcblock, could you help us to solve this issue ?
Below is the VHDL code used to output the CRC code :
//----- Instantiation and configuration -------------------------------------------------------
uut_cyclone10lp_crcblock : cyclone10lp_crcblock
generic map
(
oscillator_divider => 8 ,
lpm_type => "cyclone10lp_crcblock"
)
Port map
(
clk => s_clk_crcblock ,
shiftnld => s_shiftnld ,
ldsrc=> s_ldsrc ,
crcerror => s_crcerror ,
regout => s_regout
);
s_shiftnld <= '0';
s_ldsrc <= '0';
s_clk_crcblock <= i_clk when s_output_crc='1' else '0';
o_regout <= s_regout;
o_error_pin <= s_crcerror;
//----- Process to output data -------------------------------------------------------
pro_get_crc32: process(i_clk)
begin
if i_rst = '0' then
sv_cnt <= (others=>'0');
sv_crc32 <= (others=>'0');
s_output_crc <= '0';
elsif rising_edge(i_clk) then
-- Wait 10 s @ 60MHz then output register : 600000000
if unsigned(sv_cnt) = 600000000 then
s_output_crc <= '1';
sv_cnt <= std_logic_vector(unsigned(sv_cnt) + 1);
-- Stop after 32 clocks 600000032
elsif unsigned(sv_cnt) = 600000032 then
s_output_crc <= '0';
sv_cnt <= std_logic_vector(unsigned(sv_cnt) + 1);
-- Stop counter 33 clocks 600000033
elsif unsigned(sv_cnt) = 600000033 then
-- Count after reset
else
sv_cnt <= std_logic_vector(unsigned(sv_cnt) + 1);
end if;
if s_output_crc = '1' then
sv_crc32 <= sv_crc32(sv_crc32'length-2 downto 0) & s_regout;
end if;
end if;
end process;
//---------------------------------------------------------------------------------------------
Regards,
GB