Initial Blocks fail with Synopsys Tools


Subject: Initial Blocks fail with Synopsys Tools
From: Clifford E. Cummings (cliffc@sunburst-design.com)
Date: Fri Oct 05 2001 - 17:40:26 PDT


Hi, all -

I believe I tested this on Synopsys version 2000.08. I have been teaching
for years that initial blocks are not synthesizable. I tested them years
ago with Synopsys tools. I know of no version of the Synopsys tools that
ever ignored initial blocks. I still have some old Synopsys documentation.
If I get time I will verify that this was illegal with earlier versions of
Synopsys tools.

I was very surprised to learn that Synplicity ignored initial blocks. I
consider this to be a serious flaw in the Synplicity tools.

module dff (q, d, clk, rst_n);
   output q;
   input d, clk, rst_n;
   reg q;

   initial q <= 0;

   always @(posedge clk or negedge rst_n)
     if (!rst_n) q <= 1'b0;
     else q <= d;
endmodule

//Error: /.../dff.v:6: INITIAL statements are not supported by synthesis.

Regards - Cliff

//*****************************************************************//
// Cliff Cummings Phone: 503-641-8446 //
// Sunburst Design, Inc. FAX: 503-641-8486 //
// 14314 SW Allen Blvd. E-mail: cliffc@sunburst-design.com //
// PMB 501 Web: www.sunburst-design.com //
// Beaverton, OR 97005 //
// //
// Expert Verilog, Synthesis and Verification Training //
//*****************************************************************//



This archive was generated by hypermail 2b28 : Fri Oct 05 2001 - 17:48:30 PDT