What others have suggested is correct. You basically need a requirements
document. That can be written in a natural language, like English. However, a
technology that has really cought on is the use of executable requirements
using a lnaguage like PSL (Property Specification Language) or SVA (
SystemVerilog Assertion). PSL or SVA provide better readability of the
requirements, and provide verification of thoses properties using either
simulation or formal verification. For example:
-- psl default clock is (clk'event and clk='1');
-- psl property FifoIsFull is
-- always {people_counter=MAX_CAPACITY} |-> {fifo_full_s};
-- psl assert FifoIsFull;
-- psl property CloseOnFifoIsFull is
-- always {fifo_full_s} |-> {elevator_door_s=CLOSED};
-- psl assert CloseOnFifoIsFull;
-- A START/STOP input is also available to the attendant,
-- psl property manual_open is
-- always {manual_cntrl=START} |=> {elevator_door_s = OPENED};
-- psl assert manual_open;
Above properties will show during a review an issue with the design ...
If the elevator people counter shows a maximum capacity of people in the
elevator, then the door is closed. However, what if during that time, the
manual control is in START?
The property CloseOnFifoIsFull needs to be modified to something like:
-- psl property CloseOnFifoIsFull is
-- always {(fifo_full_s and manual_cntrl=Neutral) or
manual_cntrl=STOP} |-> {elevator_door_s=CLOSED};
-- psl assert CloseOnFifoIsFull;
PSL or SVA uses an Assertion-Based Verification methodology. Our latest book
address PSL by example.
Ben Cohen
-----------------------------------------------------------------------------
Ben Cohen Trainer, Consultant, Publisher (310) 721-4830
http://www.vhdlcohen.com/ (e-mail address removed)
Author of following textbooks:
* Using PSL/SUGAR for Formal and Dynamic Verification 2nd Edition, 2004 isbn
0-9705394-6-0
* Real Chip Design and Verification Using Verilog and VHDL, 2002 isbn
0-9705394-2-8
* Component Design by Example ", 2001 isbn 0-9705394-0-1
* VHDL Coding Styles and Methodologies, 2nd Edition, 1999 isbn 0-7923-8474-1
* VHDL Answers to Frequently Asked Questions, 2nd Edition, isbn 0-7923-8115
------------------------------------------------------------------------------