I E C 62566 생명주기 - KINS · 2018-01-01 · Testbench Implement Design Vendor Library...
Transcript of I E C 62566 생명주기 - KINS · 2018-01-01 · Testbench Implement Design Vendor Library...
Verification(9)
HC requirements specification
(6)
Verification(9)
HC design (8)
Verification(9)
HC implementation (8.4)
Verification(9)
HC aspects of system integration
(10)
Verification(9)
HC aspects of system validation
(6)
I E C 6 2 5 6 6 생 명 주 기
* HC : HDL based integrated circuits
Verification 의 필요성 | Diagram |
S p e c . / D e s i g n / R T L C o d i n g
.
SDI
SI SD
ID
S :Requirement
spec.
I :R T L Coding
D :Architecture
/Design
S,D,I,SD,SI,ID,I =φ
The Most Desired Case : S ≡ D ≡ I *(≡: equivalent)
Minimize the regionof Verification process | Text |
단계별 Verification 방법
. System
requirements
Test Plan HW Design Spec
Implement Testbench
Implement Design
Vendor Library
Testbench
Synthesis
Place & Route (fit)
Gate-level Netlist
Timing File (SDF)
Full-timing Simulation
Static Timing Analysis
Bitstream Load FPGA Lab Test
Assertions
Equivalent check
Code Coverage Functional Coverage - Functional Correctness - Functional Cover
RTL
| Text |
Code coverage/Functional coverage
.
Statement
Condition
Branch FSM
Code coverage
Measures how much of the implementation has been excised
note ; requirement has been excercised ,but not how throughly and not how it interacts with the requirement
Verification method
.
Measures how much design spec. has been exercised
Functionality excised or not (cover group)
Functional correctness (assertion verification)
Functional coverage
Verification method | Text |
Code coverage/Functional coverage
Type of Testbench
1. Simple testbench
TestBench
DUT
- 간단한 DUT의 경우 쉽게 구현 가능
- 복잡한 DUT의 경우 많은 시간과 노력이 필요
Type of Testbench
Driver Assertion Mon.
DUT
Agent Scoreboard
Checker
Generator ENV
Test Fu
ntio
nal
cove
rage
2. Layerd testbench
- 초기에 테스트 환경을 구축하는데 다소 복잡
- 테스트 목적에 따라 손쉽게 재사용 가능
OVM The Open Verification Methodology (OVM) 는 IEEE 1800 SystemVerilog standard 기반의 verification 방법론임
- 표준 기구인 Accellera에서 개발되었으며 지적 재산권가 문제 발생하지 않는 Open Source임
- testbench 모듈의 재사용성이 매우 높음
- constrained random stimulus 생성이 가능함
- functional coverage 분석이 가능함
OVM
OVM의 구조
test env
agent
Sequencer
Driver
Monitor
VI
Predictor
Score board
IF
DUT
Seq item
Configuration object
Configuration object
- Sequencer : Test에서 받은 seq_item을 Driver로 전달 - Driver : seq_item을 pin-level transaction으로 변환하여 Virtual interface로 전달 - Monitor : Virtual Interface에서 DUT의 입/출력 응답을 측정 - Predictor : DUT로 전달되는 입력을 받아서 예상되는 DUT의 출력을 생성 - Scoreboard : Predictor에서 예상된 출력값과 Monitor에서 실제로 측정된 DUT의 출력값을 비교하여 에러발생 여부를 판별
OVM example – block level test
1. DUT 설명 – FDO
- 제어기의 입출력 카드에 사용되는 모듈
- 외부 연산모듈과 직렬버스를 통하여 송/수신
- sin으로 들어오는 직렬 데이터를 수신한 후, FDO모듈 내부 레지스터에 저장된 상태들 중 하나를 sout을 통하여 직렬 송신
16bit 16bit N x 16bit 16bit
OVM example – block level test
2. sequence
test env
agent
Sequencer
Driver
Monitor
VI
Predictor
Score board
IF
DUT
Seq item
Configuration
object
Configuration
object
Seq item
Seq item
Seq item
Seq item
Seq item
Seq item
Seq item stimulus
actual
expected
match ? or mismatch ?
Pin-level activity
OVM 기반 검증결과(block level)
code coverage 예
OVM 기반 검증결과(block level)
scoreboard 검증 결과
- 20개의 sequence item 중 20개의 매치 발생
OVM example – integration level test
2. Scoreboard 검증 과정
TX item
TX item
TX item
TX item
TX item
FDO item
FDO item
FDO item
RX item
RX item
RX item
match ?
match ?
match ?
OVM 검증결과 (integration level)
3. Scoreboard 검증 결과
- TX, FDO, RX 각각의
scoreboard 모두
20개의 sequence item 중
20개의 매치 발생
• OVM을 사용하여 원자력 발전소의 다양성 보호기에 사용되는 RTL 모듈의 verification 방법 제시
• constrained random stimulus생성
• scoreboard를 통한 검증작업 수행
• OVM을 사용하여 block level test, integration level test를 수행
• integration level test 내에 block level test에서 사용한 OVM 검증환경을 그대로 적용함으로써, DUT의 변화에 따른 테스트벤치의 유연한 재사용성, 모듈성을 보임
Conclusion