T
thomasc
Guest
I've been stuck in this problem for a couple of days. Below is the code
fragment that's causing the problem.
On the third line, I'm trying to change the value of an element the array,
called rx_SB. The index of the element(root_x1_LO) has been calculated
correctly in a separate block of code. And other signals(SE_colunt &
clk_RS) has been set properly so the 'if' statement becomes true and the
third line is executed. I witnessed that the simulator(ModelSim) executes
the third line but he value does not change. I simulated the entire code
further to see if the value was updated at the end of the clock cycle.
However, it wasn't.
Please take a look at the code below and let me know what's causing this
problem.
Thanks much in advance.
Please help!
=================================================
always @(posedge clk_RS) begin
if ((SE_count_LO)&&(en_RSE_LO)) begin
rx_SB[root_x1_LO] <= rx_SB[root_x1_LO]^syndrome0_LO; // line 3
en_RSE_LO <= 1'b0;
en_FX1_LO <= 1'b0;
end
end //always
// In order to see if the calculation is done correctly,
// I put the code below instead of line 3.
// But the value of 'rx_err_data' and 'dummy8' does not change.
/* rx_err_data <= rx_SB[root_x1_LO];
dummy8_LO <= rx_err_data ^ syndrome0_LO;
rx_SB[root_x1_LO] <= rx_err_data^syndrome0_LO; */
=================================================
fragment that's causing the problem.
On the third line, I'm trying to change the value of an element the array,
called rx_SB. The index of the element(root_x1_LO) has been calculated
correctly in a separate block of code. And other signals(SE_colunt &
clk_RS) has been set properly so the 'if' statement becomes true and the
third line is executed. I witnessed that the simulator(ModelSim) executes
the third line but he value does not change. I simulated the entire code
further to see if the value was updated at the end of the clock cycle.
However, it wasn't.
Please take a look at the code below and let me know what's causing this
problem.
Thanks much in advance.
Please help!
=================================================
always @(posedge clk_RS) begin
if ((SE_count_LO)&&(en_RSE_LO)) begin
rx_SB[root_x1_LO] <= rx_SB[root_x1_LO]^syndrome0_LO; // line 3
en_RSE_LO <= 1'b0;
en_FX1_LO <= 1'b0;
end
end //always
// In order to see if the calculation is done correctly,
// I put the code below instead of line 3.
// But the value of 'rx_err_data' and 'dummy8' does not change.
/* rx_err_data <= rx_SB[root_x1_LO];
dummy8_LO <= rx_err_data ^ syndrome0_LO;
rx_SB[root_x1_LO] <= rx_err_data^syndrome0_LO; */
=================================================