Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] PSL Assertion - stable()

Status
Not open for further replies.

hbeck

Junior Member level 2
Joined
Aug 3, 2011
Messages
21
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Activity points
1,419
I've a question regarding PSL assertions within VHDL code. Thats my testcase entity:

Code:
entity Test is
  port(start_i : in  std_logic;
        size_i  : in  std_logic_vector(2 downto 0);
  );

Now I want to setup a property that guarantees a stable input size_i for at least 3 clock cycles before start_i is pulled to '1'. My first try was the usage of stable(), unfortunately this function covers only the last cycle. For 3 clock cycles I need three stable calls which seems to be pretty awkward if there is a requirement for 'more' stable cycles.

Code:
  -- psl default clock is (clk'event and clk = '1');
  -- psl A1: assert (always start_i |-> stable(size_i));
  -- psl A2: assert (always start_i |-> stable(stable(stable(size_i))));

So is there another way to describe this property?

Thanks for any help!
 

I solved the problem by myself. (now its SVA)

Code:
 property p;
  !$stable(size) |-> !start[*3];
 endproperty
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top