FEV vs. gate-level #3477
Answered
by
nakengelhardt
stevehoover
asked this question in
Q&A
-
I'm having a difficult time finding the right command sequence to FEV sequential (stateful) circuits vs. their gate-level implementations. I'm currently getting the following error signature:
Here's a simple reproducer.
// A circuit computing the Fibonacci sequence.
module top(input wire clk, input wire reset, input wire [31:0] cyc_cnt, output wire passed, output wire failed);
wire [15:0] L0_Val_n1;
reg [15:0] L0_Val_a0,
L0_Val_a1;
wire L0_reset_a0;
always @(posedge clk) L0_Val_a0[15:0] <= L0_Val_n1[15:0];
always @(posedge clk) L0_Val_a1[15:0] <= L0_Val_a0[15:0];
assign L0_reset_a0 = reset;
assign L0_Val_n1[15:0] = L0_reset_a0 ? 1 : L0_Val_a0 + L0_Val_a1;
assign passed = L0_Val_n1 == 16'd21;
assign failed = cyc_cnt == 32'd30;
endmodule Synthesize in
FEV in
I'm using Yosys 0.15+11 (and I get the same result with Yosys 0.9). |
Beta Was this translation helpful? Give feedback.
Answered by
nakengelhardt
Sep 14, 2022
Replies: 1 comment 1 reply
-
If you want to use
|
Beta Was this translation helpful? Give feedback.
1 reply
Answer selected by
stevehoover
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
If you want to use
sat
for a circuit with registers in it, you need to pass the-seq N
option. For example: