Bus Selector
입력 버스에서 요소 선택
라이브러리:
Simulink /
Commonly Used Blocks
Simulink /
Signal Routing
HDL Coder /
Signal Routing
설명
Bus Selector 블록은 입력 버스 계층 구조에서 사용자가 이름으로 선택한 요소들을 추출합니다. 이 블록은 선택된 요소들을 개별적으로 출력하거나 하나의 새로운 가상 버스로 출력할 수 있습니다. 블록이 선택된 요소들을 개별적으로 출력하면, 선택된 각 요소는 하나의 출력 포트에 대응됩니다. 블록이 새로운 가상 버스를 출력하면, 블록은 선택된 각 요소를 포함하는 가상 버스를 위한 하나의 출력 포트를 갖습니다.
버스 계층 구조의 서로 다른 위치에서 여러 요소가 동일한 이름을 가질 수 있지만, 각 요소는 Bus Selector 블록이 사용하는 고유하고 정규화된 이름을 가집니다. 예를 들어 최상위 버스와 중첩된 버스 모두 이름이 chirp인 요소를 가질 수 있습니다. 최상위 버스 요소의 정규화된 이름은 chirp입니다. 중첩된 버스 요소의 정규화된 이름은 nestedbus.chirp이며, 여기서 nestedbus는 중첩된 버스의 이름입니다.
팁
서브시스템 및 모델 인터페이스에서 버스를 사용할 경우, Inport 블록과 Bus Selector 블록을 함께 사용하는 대신 In Bus Element 블록을 사용하십시오. In Bus Element 블록은 다음과 같은 장점이 있습니다.
블록 다이어그램에서 선이 복잡하고 지저분해지는 것을 줄여줍니다.
인터페이스를 점진적으로 변경하기가 더 쉽습니다.
Bus Selector 블록과 Goto 블록 구성을 사용할 필요 없이, 사용 지점에 더 가까운 위치에서 버스 요소에 액세스할 수 있도록 합니다.
예제
Bus Selector 블록을 사용하면 이름으로 버스에서 요소를 추출할 수 있습니다.
이름이 BusElementSelection인 예제 모델을 열고 컴파일합니다. 모델을 컴파일하려면 Simulink® 툴스트립의 모델링 탭에서 모델 업데이트나 실행을 클릭하십시오. 모델을 컴파일하면 선 스타일이 업데이트되며, 이를 통해 버스를 시각적으로 식별할 수 있습니다.

Bus Creator 블록은 소스 신호로부터 버스 계층 구조를 만듭니다.
이름이
Bus Creator인 Bus Creator 블록은sine신호와chirp신호를sinusoidal버스로 그룹화합니다.이름이
Bus Creator1인 Bus Creator 블록은pulse신호와saw신호를nonsinusoidal버스로 그룹화합니다.이름이
Bus Creator2인 Bus Creator 블록은 두 버스와constant신호를sources버스로 그룹화합니다.
Bus Selector 블록은 sources 버스를 입력으로 수신하고 chirp 신호를 출력으로 반환합니다.
이 예제에서는 Bus Selector 블록의 출력이 한 Out Bus Element 블록에 연결되어 있습니다. 두 개의 Out Bus Element 블록은 연결되어 있지 않습니다.
Bus Selector 블록에 출력 포트를 추가하기 위해, Bus Selector 블록의 출력 가장자리를 클릭합니다.

선택하려는 요소의 이름, 예를 들어 nonsinusoidal을 입력하기 시작합니다.

화살표 키를 사용하여 nonsinusoidal 요소를 선택합니다. 그런 다음 Enter 키를 누릅니다. 또는 메뉴에서 요소 이름을 클릭합니다.
새 포트를 Out Bus Element 블록에 연결합니다. 원하는 경우, 모델을 컴파일하면 선택된 버스의 선을 버스 선 스타일로 표시할 수 있습니다.

Bus Selector 블록의 새 출력 포트에 블록을 연결하려면, 그 블록의 연결되지 않은 입력 포트를 Bus Selector 블록의 출력 가장자리로 끌어서 놓습니다.
예를 들어 나머지 Out Bus Element 블록의 입력 포트를 Bus Selector 블록의 출력 가장자리로 끌어서 놓습니다.

선택하려는 요소의 이름, 예를 들어 saw를 입력하기 시작합니다.

화살표 키를 사용하여 nonsinusoidal.saw 요소를 선택합니다. 그런 다음 Enter 키를 누릅니다. 또는 메뉴에서 요소 이름을 클릭합니다.

이 예제에서는, saw 신호가 nonsinusoidal라는 이름의 중첩된 버스 내에 있으므로, 이 신호 요소의 정규화된 이름은 nonsinusoidal.saw입니다.
이 예제는 블록 다이어그램에서 입력 버스의 요소를 선택하는 방법을 보여주지만, Bus Selector 블록을 더블 클릭하여 열리는 대화 상자에서 출력 요소를 선택할 수도 있습니다.
확장 예제
Simulink Bus Capabilities
Work with buses in components, simplify component interfaces, and streamline common bus workflows.
포트
입력
출력
파라미터
블록 파라미터를 대화형 방식으로 편집하려면 속성 인스펙터를 사용합니다. Simulink® 툴스트립의 시뮬레이션 탭에 있는 준비 갤러리에서 속성 인스펙터를 선택하십시오.
기본적으로 속성 인스펙터는 세로 레이아웃을 사용하며, 출력 요소는 버스 요소 목록 아래에 표시됩니다. 버스 요소와 출력 요소를 나란히 보려면
을 클릭하십시오.
읽기 전용 파라미터입니다.
버스 요소 목록은 중첩된 버스와 그 버스의 요소까지 포함하여, 블록으로 들어오는 요소들을 제공합니다. 요소 옆에 화살표가 있으면 그 입력 요소가 버스임을 나타냅니다. 해당 버스의 내용을 표시하려면 화살표를 클릭하십시오.
정규 표현식 사용 여부와 관계없이 이름을 기준으로 버스 요소를 필터링하려면 필터 상자에 검색어를 입력하십시오. 검색어를 따옴표로 묶지 마십시오. 선택적으로,
을 클릭하면 필터링된 결과를 계층 없이 단순 나열할 수 있습니다. 단순 나열된 목록은 점 표기법을 사용하여 버스 계층 구조를 반영합니다. 기본적으로, 필터링된 결과는 계층적 트리로 표시됩니다.
블록으로 들어오는 요소의 소스를 선택하려면, 목록에서 해당 요소를 선택하십시오. 그런 다음
을 클릭하십시오. 또는 요소를 마우스 오른쪽 버튼으로 클릭하십시오. 그런 다음 소스 블록 선택을 선택하십시오. 선택된 소스 블록의 파라미터가 속성 인스펙터에 표시됩니다. 여러 요소의 소스 블록을 선택하면, 현재 포커스가 있는 소스 블록의 파라미터가 속성 인스펙터에 표시됩니다.
블록으로 들어오는 요소들의 목록을 새로 고치려면
을 클릭하십시오. 예를 들어 대화 상자가 열려 있는 상태에서 요소 이름을 변경했다면 이 버튼을 클릭하십시오.
팁
선택된 출력 요소 옆에는 녹색 확인 표시 아이콘이 나타납니다.
선택된 출력 요소 위에 커서를 올리면 Bus Selector 블록이 해당 요소를 선택한 횟수가 괄호 안에 표시됩니다.
정규 표현식을 사용하면 입력 요소가 패턴과 일치하는지 여부에 따라 필터링할 수 있습니다. 예를 들어 필터 상자에
t$를 입력하면 이름이 소문자t로 끝나는 모든 요소가 표시됩니다. 자세한 내용은 정규 표현식 항목을 참조하십시오.
프로그래밍 방식의 사용법
프로그래밍 방식으로 블록 파라미터 값을 가져오려면 get_param 함수를 사용하십시오.
| 파라미터: | InputSignals |
| 값: | 읽기 전용: cell array of element names |
예: get_param(gcb,'InputSignals')
선택된 요소들의 목록은 블록에서 나가는 요소들을 제공합니다. 이 목록은 각 요소의 정규화된 이름을 사용합니다.
Simulink 편집기에서는, 가상 버스로 출력이 선택 해제되어 있는 경우, 블록에 포트를 추가하는 방식으로 입력 버스에서 요소를 선택합니다.
Bus Selector 블록의 출력 가장자리를 클릭합니다. 또는 블록이 버스를 수신하고 있고 모든 출력 포트가 다른 포트에 연결되어 있는 경우, Bus Selector 블록의 출력 가장자리 가까이에 새 선을 그립니다.
선택할 요소를 지정합니다.
속성 인스펙터 또는 블록 파라미터 대화 상자에서는, 출력 요소 목록에 요소를 추가하는 방식으로 입력 버스에서 요소를 선택합니다.
버스 요소 목록에서 블록 출력에 추가할 요소를 하나 이상 선택합니다.
버스 요소 목록에서 여러 요소를 선택하는 경우, 출력 요소 목록에 이들 요소가 추가되는 순서는 사용자가 요소를 선택하는 순서에 의해 정해집니다.
선택적으로, 출력 요소 목록에서 새 요소를 추가하고 싶은 위치 바로 위에 있는 요소를 선택할 수도 있습니다. 아무 요소도 선택하지 않으면, 새 요소는 목록의 맨 끝에 추가됩니다.
대화 상자의 레이아웃에 따라
또는
을 클릭합니다. 또는 선택한 요소 중 하나를 마우스 오른쪽 버튼으로 클릭합니다. 그런 다음 출력에 추가를 클릭합니다.
출력 요소의 순서를 변경하려면, 출력 요소 목록에서 해당 요소를 다른 위치로 끌어서 놓습니다. 요소 순서를 변경해도 포트 연결은 유지됩니다.
블록 출력에서 요소를 제거하려면 출력 요소 목록에서 제거할 요소를 선택합니다. 그런 다음
을 클릭합니다. 또는 선택한 요소 중 하나를 마우스 오른쪽 버튼으로 클릭합니다. 그런 다음 제거를 선택합니다.
목록에 나열된 요소가 입력 버스에 없으면 요소 이름이 빨간색으로 표시됩니다. 선택된 요소들의 목록에서 해당 요소를 제거하거나, 지정된 이름의 요소가 입력 버스에 포함되도록 수정하십시오. 입력 버스에는 존재하지 않는 출력 요소를 모두 제거하려면 빨간색으로 표시된 요소 이름을 마우스 오른쪽 버튼으로 클릭합니다. 그런 다음 유효하지 않은 모든 요소 제거를 선택합니다.
제한 사항
재귀 제한을 피하려면 Bus Selector 블록당 500개 미만의 요소를 선택하십시오.
프로그래밍 방식의 사용법
프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param 함수를 사용하십시오.
| 파라미터: | OutputSignals |
| 값: | 'signal1,signal2' (디폴트 값) | comma-separated list of element names in quotes |
| 데이터형: | char | string |
예: set_param(gcb,'OutputSignals','constant,sine')
기본적으로 블록은 선택된 각 요소를 해당 버스 요소 이름으로 레이블 지정된 개별 출력 포트에서 출력합니다. 선택된 요소들을 가상 버스로 그룹화하여 하나의 포트에서 출력하려면 이 파라미터를 선택하십시오.
출력을 비가상 버스로 변환하려면 Bus Selector 블록 뒤에 Signal Conversion 블록을 삽입하십시오. Signal Conversion 블록의 출력 파라미터를 비가상 버스로 설정하고 데이터형을 Simulink.Bus 객체로 설정하십시오.
출력 요소 목록에 하나의 요소만 포함되어 있는데 이 파라미터를 선택하면, 해당 요소는 버스로 묶이지 않습니다. 예를 들어 해당 요소가 버스이면 출력 요소도 그 버스입니다. 해당 요소가 버스가 아니면 출력 요소도 버스가 아닙니다.
종속성
이 파라미터를 사용하려면 블록 출력이 메시지를 포함하지 않아야 합니다.
프로그래밍 방식의 사용법
프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param 함수를 사용하십시오.
| 파라미터: | OutputAsBus |
| 값: | 'off' (디폴트 값) | 'on' |
예: set_param(gcb,'OutputAsBus','on')
블록 특성
데이터형 |
|
직접 피드스루 |
|
다차원 신호 |
|
가변 크기 신호 |
|
영점교차 검출 |
|
팁
기본적으로 대화 상자는 세로 레이아웃으로 열리며, 선택된 요소는 버스 요소 목록 아래에 표시됩니다. 버스 요소와 선택된 출력 요소를 나란히 보려면
을 클릭하십시오.
확장 기능
실제 데이터형 또는 기능 지원은 블록 구현에 따라 달라집니다.
HDL Coder™는 HDL 구현과 합성된 논리에 영향을 주는 추가 구성 옵션을 제공합니다.
이 블록에는 하나의 디폴트 HDL 아키텍처가 있습니다.
| ConstrainedOutputPipeline | 기존 지연을 설계 내부로 이동하여 출력에 배치하는 레지스터 개수입니다. 분산된 파이프라이닝은 이러한 레지스터를 다시 분산하지 않습니다. 디폴트 값은 |
| InputPipeline | 생성된 코드에 삽입할 입력 파이프라인 단계의 개수입니다. 분산 파이프라이닝과 제약이 있는 출력 파이프라이닝은 이러한 레지스터를 이동할 수 있습니다. 디폴트 값은 |
| OutputPipeline | 생성된 코드에 삽입할 출력 파이프라인 단계의 개수입니다. 분산 파이프라이닝과 제약이 있는 출력 파이프라이닝은 이러한 레지스터를 이동할 수 있습니다. 디폴트 값은 |
이 블록은 HDL 코드 생성 시 다음과 같은 데이터형을 지원합니다.
| 입력 포트 | 차원 | 고정소수점 | 부동소수점 | 내장 정수 | 버스 | 부울 | 복소 신호 |
|---|---|---|---|---|---|---|---|
| Port_1 | 스칼라 벡터 행렬(최대 2차원) | 예 | half형 single형 double형 | 예 | 예 | 예 | 예 |
이 블록은 속도와 면적을 최적화하기 위해 다음과 같은 HDL 최적화를 적용합니다.
면적 최적화
| 최적화 | 설명 |
|---|---|
| Resource Sharing (HDL Coder) | 리소스 공유는 HDL Coder가 기능적으로 동등한 여러 리소스를 식별하여 단일 리소스로 대체하는 면적 최적화입니다. |
| Streaming (HDL Coder) | 스트리밍은 HDL Coder가 벡터 데이터 경로를 스칼라 데이터 경로(또는 더 작은 크기의 여러 개 벡터 데이터 경로)로 변환하는 면적 최적화입니다. |
속도 최적화
| 최적화 | 설명 |
|---|---|
| Distributed Pipelining (HDL Coder) | 분산 파이프라이닝(Distributed pipelining), 즉 레지스터 타이밍 재지정은 설계 내 기존 지연을 이동시켜서 기능적 동작을 유지하면서 임계 경로를 줄이는 속도 최적화입니다. |
| Adaptive Pipelining (HDL Coder) | 적응형 파이프라이닝(Adaptive pipelining) 최적화는 설계 내 블록에 파이프라인 레지스터를 삽입하여 달성 가능한 클록 주파수를 개선하고 FPGA 보드의 면적 사용량을 줄일 수 있는 레지스터가 포함된 블록의 패턴이나 조합을 생성합니다. |
모범 사례는 다음 항목을 참조하십시오.
HDL 코드 생성을 위하여 버스를 사용하는 방법에 대해 자세히 알아보려면 Buses (HDL Coder) 항목을 참조하십시오.
PLC 코드 생성
Simulink® PLC Coder™를 사용하여 Structured Text 코드를 생성할 수 있습니다.
실제 데이터형 또는 기능 지원은 블록 구현에 따라 달라집니다.
버전 내역
R2006a 이전에 개발됨이제 속성 인스펙터에서 Bus Selector 블록 파라미터를 지정할 수 있습니다. 속성 인스펙터 또는 블록 파라미터 대화 상자에서 변경하면 변경 사항이 즉시 적용됩니다. 적용 및 확인 버튼은 제거되었습니다.
Bus Selector 블록은 적어도 하나의 출력 요소를 가져야 합니다. 출력 요소를 완전히 교체하려면, 입력 버스에서 요소를 블록 출력으로 추가하십시오. 그런 다음 원래 출력 요소들을 제거하십시오. 예를 들어, 새로운 Bus Selector 블록인 경우, 입력 버스에서 요소를 블록 출력으로 추가합니다. 그런 다음 이름이 signal1인 자리 표시자 요소를 마우스 오른쪽 버튼으로 클릭하고 유효하지 않은 모든 요소 제거를 선택합니다.
입력 요소의 소스 블록을 식별하면, 이제 해당 소스 블록은 강조 표시되는 대신 선택됩니다. 선택된 소스 블록의 파라미터가 속성 인스펙터에 표시됩니다. 여러 요소의 소스 블록을 선택하면, 현재 포커스가 있는 소스 블록의 파라미터가 속성 인스펙터에 표시됩니다. 이 변경 사항을 반영하기 위해 소스 블록 강조 표시 옵션(
)의 이름이 이제 소스 블록 선택으로 바뀌었습니다.
Bus Selector 블록의 블록 파라미터 대화 상자에서 요소를 마우스 오른쪽 버튼으로 클릭하고 원하는 동작을 선택합니다.
출력에 추가 — 입력 버스에서 요소를 블록 출력에 추가합니다.
소스 블록 강조 표시 — 입력 버스에 있는 요소들의 소스 블록을 강조 표시합니다.
제거 — 블록 출력에서 요소를 제거합니다.
유효하지 않은 모든 요소 제거 — 입력 버스에 존재하지 않는 모든 출력 요소를 제거합니다. 유효하지 않은 요소 이름은 빨간색으로 표시됩니다.
요소에 대해 사용 가능한 동작을 보려면 해당 요소를 마우스 오른쪽 버튼으로 클릭하십시오. 여러 요소를 선택한 상태에서 사용 가능한 동작을 보려면 선택한 요소 중 하나를 마우스 오른쪽 버튼으로 클릭하십시오. 예를 들어, 선택한 요소들이 모두 유효하지 않은 요소인 경우가 있을 수 있습니다. 마우스 오른쪽 버튼을 클릭하면 두 가지 옵션인 제거 및 유효하지 않은 모든 요소 제거가 표시됩니다. 선택한 요소들 중에 유효한 요소가 포함되어 있으면 제거 옵션 하나만 표시됩니다.
Bus Selector 블록과 상호 작용할 때 동작 결과가 더 명확해졌습니다.
"요소 선택" 버튼
은 이제 "출력에 추가" 버튼
입니다.선택한 요소 목록은 이제 출력 요소 목록입니다.
"가상 버스로 출력" 버튼
은 이제 가상 버스로 출력 체크박스입니다.
Bus Selector 블록 대화 상자의 디자인이 간소화되고 기능이 추가되었습니다.
버스 요소 목록에서, 선택된 출력 요소 옆에 녹색 확인 표시 아이콘이 나타납니다.
버스 요소 목록에서, 선택된 출력 요소 위에 커서를 올리면 Bus Selector 블록이 해당 요소를 선택한 횟수가 괄호 안에 표시됩니다.
필터링은 기본적으로 정규 표현식을 지원합니다.
세로 레이아웃과 가로 레이아웃 간에 전환할 수 있습니다.
이전 기능은 그대로 유지됩니다.
기본적으로 대화 상자는 세로 레이아웃으로 열리며, 선택된 요소는 버스 요소 목록 아래에 표시됩니다. 버스 요소와 선택된 출력 요소를 나란히 보려면
을 클릭하십시오.
가로 레이아웃은 이전 Bus Selector 블록 대화 상자 디자인과 더 비슷합니다.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
