SOURCE ARCHIVE
EXTRACTED CONTENT
1,026 chars1 ac = ConfigGen_AccessControl()
2 ac.ranges.constraint({valid address ranges})
3 ac.permissions.constraint(…)
4 gen = InputGen_TLUL()
5 gen.addr.constraint(ac.ranges,{higher weights around selected range})
6 cov=Coverage(ac.ranges,ac.permissions,ac.decisions)
7 cov.bins = cross(ranges, permissions, decisions)
8 cov.bins.illegal_bins({excluded bins})
9 orc = Oracle(GRM(),Monitor(),Scoreboard(),Asserts())
10 while total campaign budget remains
11 seed = next_seed()
12 dut.config = ac.randomize(seed, permissions)
13 sequence = gen.randomize(seed,addr,data,command)
14 for tlul_req ∈\in sequence
15 observation = execute_observe(tlul_req)
16 expected = orc.grm(tlul_req, dut.config)
17 cov.sample(tlul_req, expected, observation)
18 orc.run_scoreboard(expected, observation)
19 orc.assert({completes without timeout})
20 orc.assert({denied read ⇒\Rightarrow data = 0})
21 //manually performed by engineers: {
22 inspect coverage for gaps
23 update constraints, tests, gaps
24 }
25