Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Error in synthesis with Precision RTL

Status
Not open for further replies.

shakeebh

Member level 2
Joined
Apr 24, 2005
Messages
45
Helped
1
Reputation
2
Reaction score
0
Trophy points
1,286
Location
Pakistan
Activity points
1,852
precision rtl synthesis combinatorial loop

Hello everyone

I am trying to synthesize the following code with Precision RTL synthesis 2005b.91 but the synthesis fails with the following error:

Some input to a binary operator is directly connected to its output -- ifhs1_rh1_ix1

here is the verilog code of the asynchronous state machine:

module rst_handler(fwd_rst, rst, clk);

output fwd_rst;
input rst, clk;

parameter s0 = 3'b011, s1 = 3'b001, s2 = 3'b010, s3 = 3'b110,
d1 = 3'b111, d2 = 3'b0;

reg [2:0] n_state;
reg fwd_rst;
wire [2:0] p_state;

assign p_state = n_state;

always @ (p_state or clk or rst) begin
n_state = s0;
fwd_rst = 0;
if (rst) begin
if (p_state == s0) begin
if (clk)
n_state = s1;
if (!clk)
n_state = s2;
end
if (p_state == s1) begin
if (clk)
n_state = s1;
if (!clk)
n_state = d2;
end
if (p_state == s3) begin
fwd_rst = 1;
n_state = s3;
end
if (p_state == d2) begin
n_state = s2;
end
end
end
endmodule

I will appreciate if someone can point me a way out of this problem.

Thanks
 

Error in synthesis

hi
you used clk signal incorrectly. you should use neg or pos edge of clk not both in always
 

Re: Error in synthesis

Code:
always @ (p_state or clk or rst) begin

Is that synthesizable?
 

Error in synthesis

I suppose you have combinatorial loop on this _asynchronous_ design.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top