-2

What will the be DC synthesis output? I don't have access to DC. If a=1 and b=1 will both address locations get updated ? Addr1 and addr2 are logic as well and guaranteed not to be equal.

logic [3:0][31:0] cache;

always_ff .... begin
.....reset...

if (a) 
  cache[addr1] <= data1;


if (b)
  cache[addr2] <= data2;

end
5
  • Don't have access to synthesis tool Commented Oct 12, 2022 at 15:10
  • There are free synthesis tools out there, e.g. XST, Vivado synthesis, whatever Intel's FPGAs use, Lattice's tool, etc Commented Oct 12, 2022 at 15:32
  • Looking for DC specific results Commented Oct 12, 2022 at 17:08
  • This is going to depend on the declaration of cache and the target technology you are mapping to. If cache is an array of bits, or can fit into a register file instead of a memory, then no problem. Commented Oct 13, 2022 at 0:46
  • Cache is a packed array [3:0][31:0]. Commented Oct 13, 2022 at 17:17

1 Answer 1

0

Yes, this will synthesize into a 128-bit register with each input bit fed by a 3-to-1 multiplexor selection a bit from data1, data2, or the previous output bit of the register. The selection logic will be a combinational expression of the addresses, a, and b.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.