Quartus® II Tcl 예시: 타선의 경우

author-image

기준

Quartus II는 9500000000으로 2018년 1월 1일 2.15일 2.15번으로 2018년 1월 11일 10시 모든 노드에는 포스트 피팅 넷리스트의 이름, 이름이 있습니다. ::quartus:::advanced_timing 을 누릅니다. 예를 들어, 특정 I/O 핀을 통해 수고할 수 있습니다. 이렇게 하려면 추적하려는 핀 이름이 있는 노드 ID를 찾아야 합니다. 다음 예시 절차는 넷리스트에 있는 모든 타이밍 노드를 검색하여 매칭 노드의 ID를 지정하고 반환하거나 존재하지 않는 경우 -1을 반환합니다.

*:quartus::::advanced_timing

proc는 {name }
    
    {foreach_in_collection node_id [get_timing_nodes -type all] { node_name

        [get_timing_node_info -info name
           
        $node_id] { {[($name $node_name] {
            {[$node_id} { $node_id
        }

Tcl의 경우, 예시 2018년 8월 12일, 2018년 1월 11일, 2018년 1월 12

{clk_33MHz $id
== -1 }
    {post_message -type(Type) "핀 핀(post_message)"을
입력합니다.

샘플 코드 개선

예제 코드를 개선할 수 있는 방법은 여러 가지가 있습니다.

긴 계층 구조 경로를 가진 이름에 대해 정확한 일치를 요구하는 것은 불편해집니다. 와일드카드 일치를 지원하기 위해 예제를 변경하면 긴 계층 구조 경로가 있는 노드를 더 쉽게 검색할 수 있습니다. 모든 일치에 대해 여러 노드 ID를 반환하기 위한 추가 수정을 통해 스크립트를 사용하여 노드 ID 그룹을 반환할 수 있습니다. 이렇게 하면 예를 들어 버스의 모든 비트를 더 쉽게 반복할 수 있습니다.

와일드카드가 두 개 이상의 이름과 일치할 수 있으므로 여러 개의 반환된 ID를 지원해야 합니다. 이를 위한 쉬운 방법은 패턴과 일치하는 이름으로 모든 노드 ID 목록을 반환하는 것입니다. 패턴과 일치하는 이름이 없으면 빈 목록이 반환됩니다.

다음 예에서는 타이밍 넷리스트의 모든 노드를 검색하고 패턴과 일치하는 이름이 있는 모든 노드 ID가 있는 목록을 반환합니다. 은 예시(*), 물음표(?), (?), ([])을 증빙하는 Tcl glob(glob)

코드체인::quartus:::advanced_timing

proc는 {패턴 }
    
    {} return_ids {}
    foreach_in_collection node_id [get_timing_nodes -type all] {

        node_name [get_timing_node_info -info name $node_id]
           
        {[$pattern $node_name] {
            {lappend return_ids $node_id
        }   
    
    $return_id
}

Tcl은 테클래스(tcl)(주)을 묶어 3000원을 증정합니다. 다음 예시, 즉, 을 추가합니다. [10]!

일치 [Addr[Addr[10]]

버스 이름은 개별 비트를 나타내기 위해 사각형 브래킷을 사용하기 때문에 버스 비트 셀렉터로 사용되는 사각형 브래킷으로 패턴을 피해야 합니다. escape_brackets 예: 다음으로 예시된 것으로 확인됨.

일치 [[escape_brackets addr[10]] [[] []

(주)2018년 1월 12일( escape_brackets 수)은 2018년 1월 12일, 2018년 1월 12일, 2018년 1월 12일, 2018년 1월 12일, 2018년 1월 12일,

노드 유형 필터링 추가

일치하는 이름을 검색하는 노드 종류를 제한할 수 있습니다. 이렇게 하면 타이밍이 큰 넷리스트를 통해 디자인에서 검색 속도를 높이는 데 속도를 출중할 수 있습니다. get_timing_nodes get_timing_nodes - type- type 을 은은하게 하며, 2018년 1월 1일, 2018년 1월 20일, 2018년 1월 1일, 2018년 1월 1일, 2018년 1월 12일, 2018년 1월

다음 예는 패턴 일치의 이전 예제를 기반으로 합니다. 패턴이 지정되지 않으면 모든 패턴과 일치하는 *로 기본값이 적용됩니다. 모든 노드 유형을 제한하는 옵션이 있습니다.

쿼투스 II의 400mtcl을 증정하는 쿼투스 II(쿼투스 II) 돌격형 Tcl은 4월 1일 1000억 달러(약 1000억원)를 증정하며, 2018년 1월 1일 1000만 달러(약 10조원)를 2000억원에 증정

패시드 ::quartus::advanced_timing
advanced_timing advanced_timing cmdline

proc 는 {args}
    
    {*\
        {\"pattern.arg" "*"
        "2.arg"} {"type.arg" "All" "2.arg"
    }}

    $options] return_ids {} foreach_in_collection node_id
    [get_timing_nodes-유형 $opts(유형)] {

        [get_timing_node_info -info name $node_id]를 node_name
           
        {[$opts($node_name] }
            {lappend return_ids $node_id
        } }
$return_id}

다음 코드는 이전 예제를 사용하는 몇 가지 방법을 보여줍니다.

# 55000까지의 모든 것을 지원합니다.
# escape_brackets
*[0]] -type reg-type reg-type( 0).

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