GHDL 및 Vunit를 사용한 VHDL 테스트 환경 구축
개시하다
"GHDL 및 Vunit를 사용한 VHDL 테스트 환경 구축"의 Docker 버전입니다.
파형 확인용 추가GTKWave
개발 환경
환경 구조
Windows에서 테스트 및 웨이브 확인을 위해 VcXsrv 설치 및 Docker 이미지 만들기
VcXsrv
VcXsrv 설치
설치VcXsrv
이번에 chocolatey부터 설치를 시작했어요.choco install vcxsrv -y
VcXsrv 시작
VcXsrv 시작
모든 기본 설정 OK
Docker
Windows 용 Docker 설치에 대한 자세한 내용은 추가 기사를 참조하십시오.
디렉토리 구조
다음과 같은 디렉터리 구조를 구상하다
디렉토리 구조C:.
├─docker-compose.yml
├─ghdl
│ └─Dockerfile
└─project
├─run.py # テスト実行ファイル
├─src
│ └─*.vhd
├─test
│ └─*.vhd
└─vunit_out # テスト結果出力フォルダ
Docker file 만들기
자동 테스트 및 파형 확인 사용ghdl/ext:latest
VcXsrv로ltkwave의 파형을 확인하기 위해 설정ENV DISPLAY host.docker.internal:0.0
DockerfileFROM ghdl/ext:latest
# VcXsrvでWindows上にGUIを表示するための設定
ENV DISPLAY host.docker.internal:0.0
docker-compose.yml 만들기
volumes 를 사용하려면 Windows 용 Docker 용 Shared Drives 를 미리 설정하십시오.
docker-compose.ymlversion: '3'
services:
ghdl:
restart: always
build: ./ghdl
working_dir: "/project"
volumes:
- ./project:/project
tty: true
실행 파일run을 테스트합니다.py 생성
Vunit의 예의 VHDL User Guide를 기반으로 테스트 실행 파일 작성
run.pyfrom os.path import join, dirname
from vunit import VUnit
root = dirname(__file__)
project = VUnit.from_argv()
lib = project.add_library("lib")
lib.add_source_files(join(root, "src", "*.vhd"), "lib")
lib.add_source_files(join(root, "test", "*.vhd"), "lib")
project.main()
docker 이미지 만들기
docker-compose로 ghdl 이미지 만들기docker-compose build ghdl
실행 테스트
테스트를 위한 GUI 없음
src와test 폴더에 파일 넣기
docker-compose에서run까지.py를 실행하면 테스트가 실행되고 결과가 표시됩니다docker-compose run --rm ghdl python run.py
실행 결과(省略)
==== Summary ===============================================
pass lib.tb_uartreceiver_0.o_EN (0.6 seconds)
pass lib.tb_uartreceiver_0.normal (0.5 seconds)
pass lib.tb_uartreceiver_0.parity error (0.8 seconds)
pass lib.tb_uartreceiver_0.framing error (0.7 seconds)
============================================================
pass 4 of 4
============================================================
Total time was 2.7 seconds
Elapsed time was 2.7 seconds
============================================================
All passed!
GUI에서 테스트
-g
옵션을 설정하면 VcXsrv에서도 GTKWave의 파형을 확인할 수 있습니다.docker-compose run --rm ghdl python run.py -g
참고 자료
GHDL
ghdl/docker
ghdl/docker usecase.md
Vunit
VcXsrv
GTKWave
Docker for 창의 컨테이너에서 GUI 응용 프로그램 실행
GHDL 및 Vunit를 사용한 VHDL 테스트 환경 구축
역사를 갱신하다
2019/09/23
이미지 이름을 ghdl/ext:ls-vunit-gtkwave
에서 ghdl/ext:latest
로 변경합니다.
Reference
이 문제에 관하여(GHDL 및 Vunit를 사용한 VHDL 테스트 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ryo_i6/items/bbcaab0a0fc5706b7c7e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
choco install vcxsrv -y
C:.
├─docker-compose.yml
├─ghdl
│ └─Dockerfile
└─project
├─run.py # テスト実行ファイル
├─src
│ └─*.vhd
├─test
│ └─*.vhd
└─vunit_out # テスト結果出力フォルダ
FROM ghdl/ext:latest
# VcXsrvでWindows上にGUIを表示するための設定
ENV DISPLAY host.docker.internal:0.0
version: '3'
services:
ghdl:
restart: always
build: ./ghdl
working_dir: "/project"
volumes:
- ./project:/project
tty: true
from os.path import join, dirname
from vunit import VUnit
root = dirname(__file__)
project = VUnit.from_argv()
lib = project.add_library("lib")
lib.add_source_files(join(root, "src", "*.vhd"), "lib")
lib.add_source_files(join(root, "test", "*.vhd"), "lib")
project.main()
docker-compose build ghdl
테스트를 위한 GUI 없음
src와test 폴더에 파일 넣기
docker-compose에서run까지.py를 실행하면 테스트가 실행되고 결과가 표시됩니다
docker-compose run --rm ghdl python run.py
실행 결과(省略)
==== Summary ===============================================
pass lib.tb_uartreceiver_0.o_EN (0.6 seconds)
pass lib.tb_uartreceiver_0.normal (0.5 seconds)
pass lib.tb_uartreceiver_0.parity error (0.8 seconds)
pass lib.tb_uartreceiver_0.framing error (0.7 seconds)
============================================================
pass 4 of 4
============================================================
Total time was 2.7 seconds
Elapsed time was 2.7 seconds
============================================================
All passed!
GUI에서 테스트
-g
옵션을 설정하면 VcXsrv에서도 GTKWave의 파형을 확인할 수 있습니다.docker-compose run --rm ghdl python run.py -g
참고 자료
GHDL
ghdl/docker
ghdl/docker usecase.md
Vunit
VcXsrv
GTKWave
Docker for 창의 컨테이너에서 GUI 응용 프로그램 실행
GHDL 및 Vunit를 사용한 VHDL 테스트 환경 구축
역사를 갱신하다
2019/09/23
이미지 이름을 ghdl/ext:ls-vunit-gtkwave
에서 ghdl/ext:latest
로 변경합니다.
Reference
이 문제에 관하여(GHDL 및 Vunit를 사용한 VHDL 테스트 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ryo_i6/items/bbcaab0a0fc5706b7c7e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
2019/09/23
이미지 이름을
ghdl/ext:ls-vunit-gtkwave
에서 ghdl/ext:latest
로 변경합니다.
Reference
이 문제에 관하여(GHDL 및 Vunit를 사용한 VHDL 테스트 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryo_i6/items/bbcaab0a0fc5706b7c7e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)