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.

cannot synthesize simple mux with design compiler

Status
Not open for further replies.

pavel47

Member level 4
Joined
Nov 8, 2005
Messages
68
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
Switzerland
Activity points
1,790
Hello,

I have a problem when synthesizing multiplexer. This multiplexer has no inputs. Depending on control input it should output different constants. Something like this:

Code:
module MOD1 (S, OUT);
input S;
output [3:0] OUT;
assign OUT = (S == 1) ? 4'b0101 : 4'b1010;
endmodule

The result of synthesis is desastrous: everything is shorted.

Where is a problem ?

Thanks in advance.

Pavel.

P.S. employing always @(S) changes nothing
 

Try using this instead:
module MOD1 (S, OUT);
input S;
output [3:0] OUT;
wire [3:0] A;
wire [3:0] B;

assign A = 4'b0101;
assign B = 4'b1010;


assign OUT = (S) ?A : B;
endmodule

I simulated this way and it worked. Actually it should have worked with your code too. What program are you using?
 

Thank you for response,

Your code works in simulation as well as mine, but result of synthesis is the same.
For synthesis I use Synopsys Design Compiler 2008.
Maybe I must put some synopsys directive ...

In attachment I put schema - result of synthesis
 

Can you provide your synthesis report?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top