초록
최근 VHDL 코딩 및 합성방법에 의한 설계가 널리 사용되고 있다. 집적도가 증가함에 따라 VHDL에 의한 설계 또한 그 분량이 증가하여 많은 코딩오류가 발생하고 있으며, 이를 검색하는데 많은 시간과 노력이 소요되고 있다. 본 논문에서는 VHDL 행위-레벨 설계를 대상으로 코딩오류를 검색하는 방법을 제안하였다. 그 방법에 있어서는 검색패턴을 생성하여 오류가 없는 응답과 설계의 응답을 비교함으로써 설계오류를 찾는 방법을 택하였다. 따라서 본 논문에서는 코딩오류를 검색하기 위한 검색패턴을 생성하는 알고리듬을 제안하였다. 검색패턴 생성은 각 코드에 대해 수행하며, 할당오류와 조건오류를 구분하여 수행하였다. 패턴생성을 위해 VHDL 코드를 CDFG로 변환하여 사용하며, CDFG상의 경로를 탐색하여 패턴생성에 필요한 정보를 추출한다. 경로탐색은 오류가 발생하였다고 가정한 지점으로부터 역방향 탐색과 정방향 탐색을 수행하여 패턴을 생성한다. 제안한 알고리듬은 C-언어로 구현하였다. 펜티엄-Ⅱ 400MHz의 환경에서 여러 가지 VHDL 행위-레벨 설계를 대상으로 제안한 알고리듬을 적용하였다. 그 결과, 고려한 모든 설계의 모든 코드에 대한 검색패턴을 생성할 수 있었으며, 가정한 모든 오류를 검색할 수 있었다. 검색패턴 생성에 소요되는 시간은 고려한 모든 대상 설계에서 1초 미만의 CPU 시간을 보여 속도면에서도 매우 우수함을 나타내었다. 따라서 본 논문에서 제안한 검색방법은 VHDL에 의한 설계에서 설계검증에 필요한 시간과 노력을 상당히 감소시킬 것으로 기대된다.
Recently, the design method by VHDL coding and synthesis has been used widely. As the integration ratio increases, the amount design by VHDL at a time also increases so many coding errors occur in a design. Thus, lots of time and effort is dissipated to detect those coding errors. This paper proposed a method to verify the coding errors in VHDL behavioral-level designs. As the methodology, we chose the method to detect the coding error by applying the generated set of verifying patterns and comparing the responses from the error-free case(gold unit) and the real design. Thus, we proposed an algorithm to generate the verifying pattern set for the coding errors. Verifying pattern generation is peformed for each code and the coding errors are classified as two kind: condition errors and assignment errors. To generate the patterns, VHDL design is first converted into the corresponding CDFG(Control & Data Flow Graph) and the necessary information is extracted by searching the paths in CDFG. Path searching method consists of forward searching and backward searching from the site where it is assumed that coding error occurred. The proposed algorithm was implemented with C-language. We have applied the proposed algorithm to several example VHDL behavioral-level designs. From the results, all the patterns for all the considered coding errors in each design could be generated and all the coding errors were detectable. For the time to generate the verifying patterns, all the considered designed took less than 1 [sec] of CPU time in Pentium-II 400MHz environments. Consequently, the verification method proposed in this paper is expected to reduce the time and effort to verify the VHDL behavioral-level designs very much.