blob: 82b2a4115170e8304e16263c73db24e1115d0487 [file] [log] [blame]
Michael Schaffnerb5a88f22019-11-26 19:43:37 -08001// Copyright lowRISC contributors.
2// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3// SPDX-License-Identifier: Apache-2.0
4//
5// Assertions for ${dut.name}.
6// Intended to be used with a formal tool.
7
Greg Chadwickcf423082020-02-05 16:52:23 +00008`include "prim_assert.sv"
9
Michael Schaffnerb5a88f22019-11-26 19:43:37 -080010% if len(dut.pkgs) > 0:
Michael Schaffner84462042019-12-04 18:46:19 -080011module ${dut.name}_assert_fpv
Michael Schaffnerb5a88f22019-11-26 19:43:37 -080012% for pkg in dut.pkgs:
13 import ${pkg};
14% endfor
15% if dut.params:
16#(
17% else:
18(
19% endif
20% else:
21% if dut.params:
22module ${dut.name}_assert_fpv #(
23% else:
24module ${dut.name}_assert_fpv (
25% endif
26% endif
27% if dut.params:
28% for k, param in enumerate(dut.params):
29<% comma = "" if (k == len(dut.params)-1) else "," %> ${param.style} ${param.datatype} ${param.name} =${param.value}${comma}
30% endfor
31) (
32% endif
33% for k, port in enumerate(dut.ports):
34<% comma = "" if (k == len(dut.ports)-1) else "," %> input ${port.datatype} ${port.name}${comma}
35% endfor
36);
37
38 ///////////////////////////////
39 // Declarations & Parameters //
40 ///////////////////////////////
41
Michael Schaffner8a4c0432019-12-06 15:02:45 -080042 /////////////////
43 // Assumptions //
44 /////////////////
Michael Schaffnerb5a88f22019-11-26 19:43:37 -080045
Greg Chadwick46ede4b2020-01-14 12:46:39 +000046 // `ASSUME(MyAssumption_M, ...)
Michael Schaffnerb5a88f22019-11-26 19:43:37 -080047
Michael Schaffner8a4c0432019-12-06 15:02:45 -080048 ////////////////////////
49 // Forward Assertions //
50 ////////////////////////
51
Greg Chadwick46ede4b2020-01-14 12:46:39 +000052 // `ASSERT(MyFwdAssertion_A, ...)
Michael Schaffner8a4c0432019-12-06 15:02:45 -080053
Michael Schaffnerccef8272019-12-06 08:54:55 -080054 /////////////////////////
55 // Backward Assertions //
56 /////////////////////////
Michael Schaffnerb5a88f22019-11-26 19:43:37 -080057
Greg Chadwick46ede4b2020-01-14 12:46:39 +000058 // `ASSERT(MyBkwdAssertion_A, ...)
Michael Schaffnerb5a88f22019-11-26 19:43:37 -080059
60endmodule : ${dut.name}_assert_fpv