( ESNUG 263 Item 2 ) -------------------------------------------- [8/27/97]

From: kurt@wsfdb.com (Kurt Baty)
Subject: DC w/ DesignWare Builds Incorrect Logic Via Bad Parameter Passing

John,

Public service warning!

Synopsys builds incorrect logic by passing parameters incorrectly to 
DesignWare library parts.  This bug occurs in at least Revs. 3.4b 
and 1997.01 of Design Compiler.  This bug occurs when Design Compiler 
is passing the parameter to a DesignWare library part, not when you're 
using a DesignWare part locally nor when you're using a template part 
locally.  (If the parameter problem occured on a port width, Design 
Compiler will inform you that you have a port width mismatch.  )

I use a lot of instances of DesignWare parts in my designs because they 
save me lines of code, thus making my time more productive.  
I found this bug using my own DesignWare part, which is in the libary.
This bug has been assigned to the HDL Compiler, the "read -format
verilog" command.  

  parameter j =  'h1f;
  parameter k = 8'h1f;

// working cases
  DW03_reg_s_pl #(8,31)    xgood1(data_in,clk,!reset,wr,good1);
  DW03_reg_s_pl #(8,'h1f)  xgood2(data_in,clk,!reset,wr,good2);
// parameter passed as 31
  DW03_reg_s_pl #(8,j)     xgood3(data_in,clk,!reset,wr,good3);
// parameter passed as 31
  test_reg_s_pl #(8,8'h1f) xgood4(data_in,clk,!reset,wr,good4);
// local DesignWare part works
  flop          #(8,8'h1f) xgood5(data_in,clk,!reset,wr,good5);
// local template part works

// not working cases
  DW03_reg_s_pl #(8,8'h1f)  xbad1(data_in,clk,!reset,wr,bad1);
// parameter passed as 8! NOT 31 !!!
  DW03_reg_s_pl #(8,k)      xbad2(data_in,clk,!reset,wr,bad2);
// parameter passed as  8! NOT 31 !!!
  DW03_reg_s_pl #(8,7'h1f)  xbad3(data_in,clk,!reset,wr,bad3);
// parameter passed as  7! NOT 31 !!!
  DW03_reg_s_pl #(8,9'h1f)  xbad4(data_in,clk,!reset,wr,bad4);
// parameter passed as  9! NOT 31 !!!
  DW03_reg_s_pl #(8,10'h1f) xbad5(data_in,clk,!reset,wr,bad5);
// parameter passed as 10 NOT 31 !!!

It appears the Synopsys parcer is using the first integer it sees!

  - Kurt Baty
    WSFDB Consulting



 Sign up for the DeepChip newsletter.
Email
 Read what EDA tool users really think.


Feedback About Wiretaps ESNUGs SIGN UP! Downloads Trip Reports Advertise

"Relax. This is a discussion. Anything said here is just one engineer's opinion. Email in your dissenting letter and it'll be published, too."
This Web Site Is Modified Every 2-3 Days
Copyright 1991-2024 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |

   !!!     "It's not a BUG,
  /o o\  /  it's a FEATURE!"
 (  >  )
  \ - / 
  _] [_     (jcooley 1991)