• LF몰 이벤트
  • 파일시티 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

Verilog HDL 테스트 벤치 템플릿 생성 프로그램

곰팽이
개인인증판매자스토어
최초 등록일
2012.11.27
최종 저작일
2012.12
파일확장자 압축파일
가격 2,000원 할인쿠폰받기
다운로드
장바구니

소개글

소개글

Verilog HDL 설계 파일을 프로그램 입력으로 하여
입출력 목록을 테스트 벤치 템플릿 파일 형태로
변환시켜주는 프로그램 (아직 FPGA vendor 및 합성 툴 컴파일러에서는 이런 기능이 없지영)
암튼 아주 작은 코딩 시간이지만 줄여줄 수 있는 시간인것 같습니다.

컴파일 실행환경

목차1. Gtb.cpp (verilog 테스트 벤치 생성 소스 코드) 2. Test.v 예제(설계파일1) 3. tb_Test Gtb.exe를 통해 얻은 결과 파일 4. gtb.exe (설계파일을 테스트벤치 템플릿 파일로 변형해줌) (주의:생성된 코드를 직접 타이핑 치는 것보다 적은 코드 수정시간이 있습니다.

본문내용

/*
소스이름:Verilog 설계파일에 따른 테스트벤치 템플릿을 만드는프로그램 실행 파일소스
만든날짜:2012.11.22
저자: 탁형옥
입력: 최상위탑모듈베릴로그소스코드
출력: 최상위탑모듈을DUT로갖는디폴트테스트벤치베릴로그소스코드
논리설명: 사용자가 완성하여설계한 설계파일에대해서 디폴트 테스트벤치 템플릿 베릴로그소스를
자동으로생성하여만들어준다.
이를하기위해서베릴로그 2001 규격의포트선언에대해서
탑모듈의이름을읽고테스트벤치모듈의이름을명한다. (1995 규격의 포트 선언으로 변환)
탑모듈의입출력포트목록을분석하여테스트벤치의입력스티뮬러스변수를선언해준다.
또한출력모니터변수를선언해준다.
디폴트always 블럭과initial 블럭을만들어준다.
*/

// #define Debug

// #include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <direct.h>



#define MAXLEN 200
#define wLen 40

struct keywords {
char w[wLen] ;
} v_keyword [256] ; // v_keyword[i].w


char Line[MAXLEN];
char temp[MAXLEN];
int Start,End,EndOfLine;
int m,n=0;

int wi=0,w=0;
int m_name=0;
int m_time=0;
int m_timescale=0;
int bracket=0;
char name[20];
char keyword[20],identifier[20];
char id_name[100][wLen];
int id=0;
int m_param=0;
int current_in=0;
int current_out=0;
int cnt;
FILE *Infp, *Outfp;

int IsMsp(char *);
int IsMtab(char *);
int IsComma(char *);
int IsMcomma(char *);
int IsTab(char *);
int IsSp(char *);
int IsKeyword(char *);
int IsCtlKey(char *);
int IsSpComma(char *);
int IsNewLine (char *);

int main(int argc, char * argv[])
{

int i;
int m_name=0;
int id_out=0;
int Done=0;



Start =1;
End = 18;
EndOfLine = 100;
Infp = fopen("E:v_keywords.txt","rt");

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

for(m=0;(m<MAXLEN) ;m++)
{
if(IsCtlKey(&Line[m])==1)
{
if(IsTab(&Line[m])!=0) // 연속탭을한개의space만만듬혹은무시함
{
if(IsMtab(&Line[m])!=1) // 연속탭이면
; //fprintf(Outfp,"@");
else // 마지막탭이면
;// fprintf(Outfp,"1%s ",temp); // 마지막탭만처리
n=0;
}
else if (IsSp(&Line[m])!=0) // space를만나면
{
if(m_name==1)
{
fprintf(Outfp,"tb_%s;n",temp);
strcpy(name,temp);
m_name=0;
}
else if(IsMsp(&Line[m])!=1) // 다중space 중마지막space가아니면
{ ;
; // 마지막space외에는무시함
}
else if(IsMsp(&Line[m])==1) // 마지막space만처리
{
if((strcmp(temp,"input")!=0)&&(strcmp(temp,"output")!=0)&&(strcmp(temp,"reg")!=0)&&(strcmp(temp,"wire")!=0)&&(Line[m-2]!=`#`))

압축파일 내 파일목록

gtb.cpp
gtb.exe
tb_test.v
test.v
실행화면-캡쳐.jpg

참고 자료

없음
곰팽이
판매자 유형Bronze개인인증

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우
최근 본 자료더보기
탑툰 이벤트
Verilog HDL 테스트 벤치 템플릿 생성 프로그램
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업