Assertion Based Verification (ABV)๋ ๋์งํธ ํ๋ก ์ค๊ณ์์ ์ค์ํ ๊ฒ์ฆ ๊ธฐ๋ฒ์ผ๋ก, ์ค๊ณ์ ํน์ ์์ฑ์ด ์ถฉ์กฑ๋๋์ง๋ฅผ ํ์ธํ๊ธฐ ์ํด ๋ช ์์ ์ธ ์ฃผ์ฅ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ก ์ด๋ค. ABV๋ ์ค๊ณ์ ๋์์ด ์์ํ ๋๋ก ์ด๋ฃจ์ด์ง๊ณ ์๋์ง๋ฅผ ๊ฒ์ฆํ๋ ๋ฐ ์ด์ ์ ๋ง์ถ๋ฉฐ, ์ด๋ ํนํ VLSI ์์คํ ์์ ๋ณต์กํ ํ๋ก์ ์ค๋ฅ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ๋ ๋ฐ ํ์์ ์ด๋ค.
ABV์ ํต์ฌ์ โassertionsโ๋ผ๋ ๊ฐ๋ ์ผ๋ก, ์ด๋ ํน์ ์กฐ๊ฑด์ด๋ ์์ฑ์ด ๋ง์กฑ๋์ด์ผ ํจ์ ๋ช ์ํ๋ ๋ ผ๋ฆฌ์ ํํ์ด๋ค. ์ด๋ฌํ assertions๋ ์ค๊ณ์ ํน์ ๋์์ด๋ ์ํ๊ฐ ๋ฐ์ํ ๋ ํ์ฑํ๋๋ฉฐ, ์ด๋ฅผ ํตํด ์ค๊ณ์ ๋์์ ๋ชจ๋ํฐ๋งํ๊ณ , ์๋๋ ๊ธฐ๋ฅ๊ณผ ์ค์ ๋์ ๊ฐ์ ๋ถ์ผ์น๋ฅผ ์๋ณํ ์ ์๋ค. ABV๋ ๋์ ์๋ฎฌ๋ ์ด์ ๊ณผ ๊ฒฐํฉ๋์ด ์ฌ์ฉ๋๋ฉฐ, ์ด๋ก ์ธํด ๊ฒ์ฆ ํ๋ก์ธ์ค๊ฐ ๋์ฑ ํจ์จ์ ์ด๊ณ ํจ๊ณผ์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋ค.
ABV์ ์ค์์ฑ์ ๋ค์๊ณผ ๊ฐ๋ค. ์ฒซ์งธ, ์ค๊ณ ์ด๊ธฐ ๋จ๊ณ์์๋ถํฐ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ ์ ์์ด ์ ์ฒด ๊ฐ๋ฐ ๋น์ฉ์ ์ ๊ฐํ ์ ์๋ค. ๋์งธ, ๋ณต์กํ VLSI ์ค๊ณ์์ ๋ฐ์ํ ์ ์๋ ๋ค์ํ ์๋๋ฆฌ์ค๋ฅผ ๋ค๋ฃฐ ์ ์์ด, ๋ณด๋ค ํฌ๊ด์ ์ธ ๊ฒ์ฆ์ด ๊ฐ๋ฅํ๋ค. ๋ง์ง๋ง์ผ๋ก, ABV๋ ์๋ํ ๋๊ตฌ์ ํจ๊ป ์ฌ์ฉ๋ ์ ์์ด, ๊ฒ์ฆ ํ๋ก์ธ์ค๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค. ์ด๋ฌํ ์ด์ ๋ก ABV๋ ํ๋ ๋์งํธ ํ๋ก ์ค๊ณ์์ ํ์์ ์ธ ๊ฒ์ฆ ๋ฐฉ๋ฒ๋ก ์ผ๋ก ์๋ฆฌ ์ก๊ณ ์๋ค.
Assertion Based Verification์ ๊ตฌ์ฑ ์์์ ์๋ ์๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ด ์ค๋ช ํ ์ ์๋ค. ABV๋ ์ฃผ๋ก ์ธ ๊ฐ์ง ์ฃผ์ ๊ตฌ์ฑ ์์๋ก ๋๋ ์ ์๋ค: assertions, verification environment, ๊ทธ๋ฆฌ๊ณ simulation engine. ์ด๋ค ๊ตฌ์ฑ ์์๋ ์๋ก ์ํธ์์ฉํ๋ฉฐ, ABV์ ํจ๊ณผ์ ์ธ ๊ตฌํ์ ์ํด ํ์์ ์ด๋ค.
์ฒซ ๋ฒ์งธ ๊ตฌ์ฑ ์์์ธ assertions๋ ์ค๊ณ์ ํน์ ์กฐ๊ฑด์ด๋ ์ํ๋ฅผ ๋ํ๋ด๋ ๋ ผ๋ฆฌ์ ํํ์ด๋ค. ์ด๋ฌํ assertions๋ ์ค๊ณ์ ๊ธฐ๋ฅ์ ์๊ตฌ ์ฌํญ์ ๋ช ํํ ์ ์ํ๋ฉฐ, ์ค๊ณ์ ๋์์ ๋ชจ๋ํฐ๋งํ์ฌ ์๋๋ ๊ธฐ๋ฅ์ด ์ ๋๋ก ์ํ๋๊ณ ์๋์ง๋ฅผ ํ์ธํ๋ค. Assertions๋ ๋ค์ํ ํํ๋ก ํํ๋ ์ ์์ผ๋ฉฐ, ์๋ฅผ ๋ค์ด temporal logic, state machines, ๋๋ property specification language(PSL)์ ๊ฐ์ ํ์์ ์ฌ์ฉํ ์ ์๋ค. ์ด๋ฌํ ๋ค์ํ ํํ ๋ฐฉ์์ ์ค๊ณ์ ๋ณต์ก์ฑ๊ณผ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ์ ์ ํ ์ ํ๋ ์ ์๋ค.
๋ ๋ฒ์งธ ๊ตฌ์ฑ ์์์ธ verification environment๋ assertions๊ฐ ์ ์ฉ๋ ์ ์๋ ํ ์คํธ ํ๊ฒฝ์ ์ ๊ณตํ๋ค. ์ด ํ๊ฒฝ์ ํ ์คํธ ๋ฒค์น(testbench), stimulus generator, ๊ทธ๋ฆฌ๊ณ scoreboarding๊ณผ ๊ฐ์ ๋ค์ํ ์์๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ์ด๋ค์ ํจ๊ป ์๋ํ์ฌ assertions์ ๊ฒ์ฆ์ ์ง์ํ๋ค. ํ ์คํธ ๋ฒค์น๋ ์ค๊ณ์ ์ ๋ ฅ์ ์์ฑํ๊ณ , stimulus generator๋ ๋ค์ํ ์๋๋ฆฌ์ค๋ฅผ ์์ฑํ์ฌ ์ค๊ณ์ ๋์์ ์ ๋ํ๋ค. Scoreboarding์ ์ค์ ์ถ๋ ฅ๊ณผ ์์ ์ถ๋ ฅ์ ๋น๊ตํ์ฌ ๊ฒ์ฆ ๊ฒฐ๊ณผ๋ฅผ ํ๊ฐํ๋ ์ญํ ์ ํ๋ค.
์ธ ๋ฒ์งธ ๊ตฌ์ฑ ์์์ธ simulation engine๋ assertions๋ฅผ ํ๊ฐํ๊ณ , ์ค๊ณ์ ๋์์ ์๋ฎฌ๋ ์ด์ ํ๋ ํต์ฌ ์์์ด๋ค. ์ด ์์ง์ ๋ค์ํ ์๋ฎฌ๋ ์ด์ ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ์ค๊ณ์ ๋์์ ๋ถ์ํ๊ณ , assertions๊ฐ ์ถฉ์กฑ๋๋์ง๋ฅผ ํ์ธํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋์ ์๋ฎฌ๋ ์ด์ (dynamic simulation) ๋ฐฉ๋ฒ์ด ์ฌ์ฉ๋๋ฉฐ, ์ด ๋ฐฉ๋ฒ์ ์๋ฎฌ๋ ์ด์ ๋์ ์ค๊ณ์ ์ํ๋ฅผ ์ถ์ ํ๊ณ , assertions๋ฅผ ํ๊ฐํ๋ ๋ฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ค.
์ด๋ฌํ ์ธ ๊ฐ์ง ๊ตฌ์ฑ ์์๋ ABV์ ํจ๊ณผ์ ์ธ ๊ตฌํ์ ์ํด ์๋ก ๋ฐ์ ํ๊ฒ ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉฐ, ๊ฐ ์์์ ์ํธ์์ฉ์ ํตํด ์ค๊ณ์ ๊ธฐ๋ฅ์ ๊ฒ์ฆ์ ์ํํ ์ ์๋ค. ABV๋ ์ค๊ณ์ ๋ณต์ก์ฑ์ ๊ด๋ฆฌํ๊ณ , ์ค๋ฅ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ ์ ์๋ ๊ฐ๋ ฅํ ๋๊ตฌ๋ก ์๋ฆฌ ์ก๊ณ ์๋ค.
Assertions๋ ํฌ๊ฒ ๋ ๊ฐ์ง ์ ํ์ผ๋ก ๋๋ ์ ์๋ค: immediate assertions์ concurrent assertions. Immediate assertions๋ ํน์ ์์ ์์ ์ฆ์ ํ๊ฐ๋๋ ๋ฐ๋ฉด, concurrent assertions๋ ์๊ฐ์ ๋ฐ๋ผ ๋ฐ์ํ๋ ์ฌ๊ฑด์ ๊ฐ์ํ๋ฉฐ, ํน์ ์กฐ๊ฑด์ด ๋ง์กฑ๋๋์ง๋ฅผ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๋ค. ์ด๋ฌํ ๋ ๊ฐ์ง ์ ํ์ ์ค๊ณ์ ๋ค์ํ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑ์ํค๊ธฐ ์ํด ์ ์ ํ ์ฌ์ฉ๋ ์ ์๋ค.
Assertion Based Verification์ ๋ค์ํ ๊ฒ์ฆ ๊ธฐ๋ฒ๊ณผ ๋น๊ตํ ๋ ๋ช ๊ฐ์ง ๋ ํนํ ํน์ง๊ณผ ์ฅ์ ์ ๊ฐ์ง๋ค. ABV๋ ์ฃผ๋ก Functional Verification์ Formal Verification๊ณผ ๋น๊ต๋๋ค. Functional Verification์ ์ค๊ณ๊ฐ ์ฌ์์ ๋ง๊ฒ ๋์ํ๋์ง๋ฅผ ํ์ธํ๋ ๊ณผ์ ์ผ๋ก, ์ผ๋ฐ์ ์ผ๋ก ์๋ฎฌ๋ ์ด์ ์ ํตํด ์ํ๋๋ค. ๋ฐ๋ฉด, Formal Verification์ ์ํ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ์ค๊ณ์ ๋ชจ๋ ๊ฐ๋ฅํ ์ํ๋ฅผ ๋ถ์ํ๊ณ , ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ๋ ๊ธฐ๋ฒ์ด๋ค.
ABV๋ Functional Verification์ ๋นํด ๋ช ๊ฐ์ง ์ฅ์ ์ ์ ๊ณตํ๋ค. ์ฒซ์งธ, ABV๋ ํน์ ์กฐ๊ฑด์ด๋ ์์ฑ์ ๋ช ์์ ์ผ๋ก ์ ์ํ๋ฏ๋ก, ์ค๊ณ์ ํน์ ๋์์ ํนํ ๊ฐ์กฐํ ์ ์๋ค. ๋์งธ, ABV๋ ๋์ ์๋ฎฌ๋ ์ด์ ๊ณผ ๊ฒฐํฉ๋์ด ์ฌ์ฉ๋ ์ ์์ด, ๋ค์ํ ์๋๋ฆฌ์ค๋ฅผ ์ฝ๊ฒ ํ ์คํธํ ์ ์๋ค. ๊ทธ๋ฌ๋ ABV๋ Formal Verification์ ๋นํด ๋ชจ๋ ๊ฐ๋ฅํ ์ํ๋ฅผ ๋ถ์ํ๋ ๋ฐ ํ๊ณ๊ฐ ์์ ์ ์๋ค. Formal Verification์ ABV๋ณด๋ค ๋ ์ฒ ์ ํ ๊ฒ์ฆ์ ์ ๊ณตํ ์ ์์ง๋ง, ๊ณ์ฐ ๋ณต์ก์ฑ์ผ๋ก ์ธํด ์๊ฐ์ด ๋ง์ด ์์๋ ์ ์๋ค.
์ค์ ์ฌ๋ก๋ก๋, ๋๊ท๋ชจ VLSI ์ค๊ณ์์ ABV๊ฐ ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ๋ฅผ ๋ค ์ ์๋ค. ์๋ฅผ ๋ค์ด, ๊ณ ์ฑ๋ฅ ํ๋ก์ธ์ ์ค๊ณ์์ ABV๋ฅผ ํตํด ํน์ ์ฑ๋ฅ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋์ง๋ฅผ ๊ฒ์ฆํ ์ ์๋ค. ์ด์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ABV๋ ์ค๊ณ์ ํน์ ์์ฑ์ ๊ฐ์กฐํ๊ณ , ์ค๋ฅ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ๋ ๋ฐ ๊ธฐ์ฌํ ์ ์๋ค.
Assertion Based Verification์ ๋์งํธ ํ๋ก ์ค๊ณ์์ ํน์ ์์ฑ์ ๊ฒ์ฆํ๊ธฐ ์ํด ๋ช ์์ ์ธ ์ฃผ์ฅ์ ์ฌ์ฉํ๋ ๊ฐ๋ ฅํ ๊ฒ์ฆ ๊ธฐ๋ฒ์ด๋ค.