Quartus® II Tcl 예: 기본값이 아닌 전역 할당

author-image

기준

설계에서 전역 할당을 검토하여 할당이 기본 설정과 다른지 확인하는 것이 유용할 수 있습니다. 예를 들어, 설계 성능이 예상과 다를 경우, 기본값에서 실수로 설정을 변경했는지 여부를 확인할 수 있습니다.

이 예에서는 프로젝트의 기본값이 아닌 전역 할당 설정을 나열하는 사용자 지정 보고서 패널을 만듭니다. 사용자 지정 보고서 패널을 만드는 명령은 Quartus II 소프트웨어 버전 4.1(:quartus::report Package의 버전 2.0)을 시작으로 사용할 수 있습니다. 이 예에서는 cmdline Tcl 패키지를 사용하여 명령줄 인수를 처리합니다.

load_package 보고서
패키지에는 cmdline
세트 옵션 {\ {
    "project.arg" "프로젝트 이름" } \
    {"revision.arg" "개정 이름"
}} 배열
세트가 필요합니다[::cmdline::getoptions quartus(args)) $options]

project_open $opts(project) -개정 $opts(개정)

load_report panel_name
"비폴트 전역 설정"
세트 panel_id [get_report_panel_id $panel_name] # 패널을

만들기 전에 패널을 삭제해야 합니다.
{-1 != $panel_id }
    {delete_report_panel -id $panel_id} panel_id

[create_report_panel -table $panel_name] # 새 보고서 패널

add_row_to_table -id $panel__에 대한 열 제목
id \ {
    "할당" "기본값" "설계 값" }

foreach_in_collection asgn [get_all_quartus_defaults] { section_id 이름
    
    default_value } $asgn { 브레이크 } current_value
    설정 [get_global_assignment -name $name]

    # 값이 다른 경우 표에 행을 추가합니다.
    { 경우 { ! [문자열 동일 -nocase $current_value $default_value] } {
        add_row_to_table -id $panel_id \
            [목록 $name $default_value $current_value] } }
    save_report_database
project_close

시스템 명령 프롬프트에서 다음과 같이 코드가 포함된 스크립트를 실행할 수 있습니다.

quartus_sh -t script.tcl -project myproject -개정 myrevision

샘플 코드 개선

코드를 개선하는 한 가지 방법은 모든 컴파일이 끝날 때 자동으로 실행되도록 하는 것입니다. 이렇게 하려면 프로젝트에 새 할당을 추가하고 명령줄 인수 처리 방식을 변경합니다.

할당 이름은 POST_FLOW_SCRIPT_FILE. 이 할당에 대한 자세한 내용은 자동 스크립트 실행 예제 를 참조하십시오. 스크립트가 script.tcl이라고 가정하면 Quartus II 설정 파일(.qsf)에 다음 할당을 추가하십시오.

set_global_assignment -name POST_FLOW_SCRIPT_FILE quartus_sh:script.tcl

POST_FLOW_SCRIPT_FILE 할당으로 스크립트를 실행하는 방식 때문에 프로젝트를 여는 스크립트 상단의 명령을 변경해야 합니다. 스크립트는 흐름, 프로젝트 및 개정 이름이라는 세 가지 사전 정의된 위치 인수로 실행됩니다. 이 경우 cmdline 패키지를 사용할 필요가 없습니다.

다음과 같이 스크립트 상단을 수정합니다.

load_package 보고서

포리치 { flow_name 프로젝트 개정 } $quartus(args) { 중단 }

project_open $project -개정 $revision

스크립트는 Quartus II GUI, 시스템 명령 프롬프트 또는 스크립트에서 컴파일을 시작했는지 여부에 관계없이 모든 컴파일이 끝날 때 자동으로 실행됩니다.

이 페이지의 콘텐츠는 원본 영어 콘텐츠에 대한 사람 번역 및 컴퓨터 번역의 조합으로 완성되었습니다. 이 콘텐츠는 편의와 일반적인 정보 제공을 위해서만 제공되었으며, 완전하거나 정확한 것으로 간주되어선 안 됩니다. 이 페이지의 영어 버전과 번역 간 모순이 있는 경우, 영어 버전이 우선적으로 적용됩니다. 이 페이지의 영어 버전을 확인하십시오.