M
Matthias Alles
Guest
Hi,
I have a problem which I would like to optimize for simulation speed. I
have a signal "a", which is a record with many different elements and
element types. Now I would like to substitue single elements within this
record asynchronously. Currently I do the following:
process(a, b, c) is
begin
out <= a;
out.record_element_x <= b;
out.record_element_y <= c;
end process;
"out" is of the same type as "a", so I first copy all record elements
and then overwrite the ones I would like to substitute. Like that I
don't have to copy each record element individually. The problem is that
"b" and "c" might be asynchronously calculated as well, which means the
process can be triggered several times per rising clock edge, slowing
down the simulation (copying "a" to "out" seems quite time consuming).
Is there a better solution for this problem, which prevents me from
copying "a" to "out" a couple of times per clock? Of course, the
solution should be synthesizable.
Thanks,
Matthias
I have a problem which I would like to optimize for simulation speed. I
have a signal "a", which is a record with many different elements and
element types. Now I would like to substitue single elements within this
record asynchronously. Currently I do the following:
process(a, b, c) is
begin
out <= a;
out.record_element_x <= b;
out.record_element_y <= c;
end process;
"out" is of the same type as "a", so I first copy all record elements
and then overwrite the ones I would like to substitute. Like that I
don't have to copy each record element individually. The problem is that
"b" and "c" might be asynchronously calculated as well, which means the
process can be triggered several times per rising clock edge, slowing
down the simulation (copying "a" to "out" seems quite time consuming).
Is there a better solution for this problem, which prevents me from
copying "a" to "out" a couple of times per clock? Of course, the
solution should be synthesizable.
Thanks,
Matthias