본문 바로가기
Digital Design/환경 세팅

Shell Script를 사용한 Test Vector 검증

by RTLog 2024. 3. 25.
728x90
반응형

안녕하세요. RTlog입니다.

 

오늘은 Shell Script를 작성하여 지난 포스트에서 추출한 Test Vector 기반으로 검증을 진행하려고 합니다. 

 

Shell Script 

지난 포스트에서 추출되었던 파일 이름은 FIXED_OUTPUT.txt인데요. HW 설계를 진행하지 않았기 때문에, HW 설계가 잘 진행되었다는 가정 하에 FIXED_OUTPUT_RTL.txt를 복사해서 생성해주었습니다. (HW 설계 결과라고 생각해주세요.)

cp FIXED_OUTPUT.txt FIXED_OUTPUT_RTL.txt

 

저는 C Shell Script를 작성하였구요. Ubuntu는 기본적으로 Bash Shell을 사용하기 때문에, 설치가 필요할 수 있습니다. 

sudo apt install csh

 

스크립트 파일은 아래와 같습니다. 

#!/bin/csh

# Generate Test Vector
python "test_simulator.py"

# Simulation Output
# to be continue ... 

# Check Identity 
if ($#argv != 2) then
	 echo "Usage: $0 <file1> <file2>"
	 exit 1
endif

set file1 = $1
set file2 = $2

# Check if files exist
if (! -e "$file1") then
	echo "File '$file1' does not exist."
	exit 1
endif

if (! -e "$file2") then
	echo "File '$file2' does not exist."
	exit 1
endif

# Compare files using 'diff' command
if (`diff "$file1" "$file2" | wc -l` == 0) then
	echo "Files are identical."
else
	echo "Files are different."
endif

 

작성을 완료했다면, 아래와 같이 실행하면 됩니다. 가장 기본적인 형태인 스크립트 파일이기 때문에, 추후 수정이 필요하거나 기능이 필요하다면 코드를 추가해보도록 하겠습니다. 

csh TEST.csh FIXED_OUTPUT.txt FIXED_OUTPUT_RTL.txt

 

아래와 같이 "Files are identical"이 나타나면, HW 설계가 잘 되었다고 할 수 있습니다.

 

OUTPUT

 

시간이 걸리겠지만, 하드웨어를 직접 설계 포스트도 빨리 올릴 수 있으면 좋겠네요 ㅎㅎ..

 

감사합니다. 

728x90
반응형

let textNodes = document.querySelectorAll("div.tt_article_useless_p_margin.contents_style > *:not(figure):not(pre)"); textNodes.forEach(function(a) { a.innerHTML = a.innerHTML.replace(/`(.*?)`/g, '$1'); });