Bharath G S
10/28/2023, 4:46 PMTim Edwards
10/28/2023, 7:17 PMalways @(posedge clk or posedge reset) begin
if (reset == 1'b1) begin
signal1 <= signal2
...
Then yosys would properly generate a flop with SET and RESET where SET = f(reset, signal2) and RESET = f(reset, signal2). That is, it's a flop that when in reset is just buffering the value "signal2". At some point, that was deprecated in yosys. The function exists in the yosys intermediate form gate ALDFF, which is a flop with "asynchronous data" input AD and a latch L input that latches the asynchronous data. Since ALDFF does not map to any flop in the standard cell libraries for sky130, its mapping has to be described in terms of multiple gates, namely a flop with SET and RESET and some extra logic driving SET and RESET in a way that maps to the L and AD inputs of the ALDFF gate.Bharath G S
10/29/2023, 5:50 PM