lm32_multiplier.v

changeset 26
73de224304c1
parent 0
cd0b58aa6f83
child 27
d6c693415d59
     1.1 diff -r 35dc7ba83714 -r 73de224304c1 lm32_multiplier.v
     1.2 --- a/lm32_multiplier.v	Sun Mar 06 21:14:43 2011 +0000
     1.3 +++ b/lm32_multiplier.v	Sat Aug 06 00:02:46 2011 +0100
     1.4 @@ -1,18 +1,39 @@
     1.5 -// =============================================================================
     1.6 -//                           COPYRIGHT NOTICE
     1.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation
     1.8 -// ALL RIGHTS RESERVED
     1.9 -// This confidential and proprietary software may be used only as authorised by
    1.10 -// a licensing agreement from Lattice Semiconductor Corporation.
    1.11 -// The entire notice above must be reproduced on all authorized copies and
    1.12 -// copies may only be made to the extent permitted by a licensing agreement from
    1.13 -// Lattice Semiconductor Corporation.
    1.14 +//   ==================================================================
    1.15 +//   >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<
    1.16 +//   ------------------------------------------------------------------
    1.17 +//   Copyright (c) 2006-2011 by Lattice Semiconductor Corporation
    1.18 +//   ALL RIGHTS RESERVED 
    1.19 +//   ------------------------------------------------------------------
    1.20 +//
    1.21 +//   IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM.
    1.22 +//
    1.23 +//   Permission:
    1.24 +//
    1.25 +//      Lattice Semiconductor grants permission to use this code
    1.26 +//      pursuant to the terms of the Lattice Semiconductor Corporation
    1.27 +//      Open Source License Agreement.  
    1.28 +//
    1.29 +//   Disclaimer:
    1.30  //
    1.31 -// Lattice Semiconductor Corporation        TEL : 1-800-Lattice (USA and Canada)
    1.32 -// 5555 NE Moore Court                            408-826-6000 (other locations)
    1.33 -// Hillsboro, OR 97124                     web  : http://www.latticesemi.com/
    1.34 -// U.S.A                                   email: techsupport@latticesemi.com
    1.35 -// =============================================================================/
    1.36 +//      Lattice Semiconductor provides no warranty regarding the use or
    1.37 +//      functionality of this code. It is the user's responsibility to
    1.38 +//      verify the userís design for consistency and functionality through
    1.39 +//      the use of formal verification methods.
    1.40 +//
    1.41 +//   --------------------------------------------------------------------
    1.42 +//
    1.43 +//                  Lattice Semiconductor Corporation
    1.44 +//                  5555 NE Moore Court
    1.45 +//                  Hillsboro, OR 97214
    1.46 +//                  U.S.A
    1.47 +//
    1.48 +//                  TEL: 1-800-Lattice (USA and Canada)
    1.49 +//                         503-286-8001 (other locations)
    1.50 +//
    1.51 +//                  web: http://www.latticesemi.com/
    1.52 +//                  email: techsupport@latticesemi.com
    1.53 +//
    1.54 +//   --------------------------------------------------------------------
    1.55  //                         FILE DETAILS
    1.56  // Project          : LatticeMico32
    1.57  // File             : lm32_multiplier.v
    1.58 @@ -78,21 +99,21 @@
    1.59  begin
    1.60      if (rst_i == `TRUE)
    1.61      begin
    1.62 -        muliplicand <= {`LM32_WORD_WIDTH{1'b0}};
    1.63 -        multiplier <= {`LM32_WORD_WIDTH{1'b0}};
    1.64 -        product <= {`LM32_WORD_WIDTH{1'b0}};
    1.65 -        result <= {`LM32_WORD_WIDTH{1'b0}};
    1.66 +        muliplicand <= #1 {`LM32_WORD_WIDTH{1'b0}};
    1.67 +        multiplier <= #1 {`LM32_WORD_WIDTH{1'b0}};
    1.68 +        product <= #1 {`LM32_WORD_WIDTH{1'b0}};
    1.69 +        result <= #1 {`LM32_WORD_WIDTH{1'b0}};
    1.70      end
    1.71      else
    1.72      begin
    1.73          if (stall_x == `FALSE)
    1.74          begin    
    1.75 -            muliplicand <= operand_0;
    1.76 -            multiplier <= operand_1;
    1.77 +            muliplicand <= #1 operand_0;
    1.78 +            multiplier <= #1 operand_1;
    1.79          end
    1.80          if (stall_m == `FALSE)
    1.81 -            product <= muliplicand * multiplier;
    1.82 -        result <= product;
    1.83 +            product <= #1 muliplicand * multiplier;
    1.84 +        result <= #1 product;
    1.85      end
    1.86  end
    1.87