   VMM
   Copyright 2004-2008 Synopsys, Inc
   All Rights Reserved

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at 

            http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

   The VMM Standard Library is based on the specification in Appendix A
   of the Verification Methodology Manual for SystemVerilog.
   (http://vmm-sv.org).

   This product includes software developed by Synopsys, Inc
   (http://www.synopsys.com)

   This product includes software developed by OpenCores.org
   (http://www.opencores.org)
