Value of forall on Directives

From: Bailey, Stephen <SBailey@model.com>
Date: Tue Nov 23 2004 - 11:19:45 PST

We do need to support forall capability at the directive level. After
the meeting, it hit me that this is how we add basic bin coverage to
PSL. For example, to know how many times each state in an FSM has been
hit:

  type FSM_State is (S0, S1, S2, S3, S4);
  signal current_state : FSM_State;

  -- psl default clock is rose(clk);
  -- psl forall State in [S0 to S4] : cover current_state = State;

Forgive any syntax errors.

The point being that you don't want the sum of cover S0 + cover S1 +
cover S2 + cover S3 + cover S4 recorded and reported. You want each
cover recorded and reported separately. Assuming the forall-type
capability at the directive level is replication, then you get separate
coverage bins for each sequence (state in the example). Otherwise, the
user must write each cover explicitly and separately (even with
parameterized sequences this is very cumbersome and not user-friendly).

------------
Stephen Bailey
Product Marketing Manager, ModelSim
Mentor Graphics
sbailey@model.com
303-775-1655 (mobile, preferred)
720-494-1202 (office)
www.model.com
Received on Tue Nov 23 11:19:51 2004

This archive was generated by hypermail 2.1.8 : Tue Nov 23 2004 - 11:19:53 PST