귀사는 하드웨어 재사용을 어떻게 관리합니까?


12

우리 회사에서 우리는 엔지니어의 작은 하위 섹션으로 만 디자인 된 많은 독창적 인 하드웨어 디자인을 수행합니다. 우리는 정보를 배포하고 재사용 할 수 있도록 각 프로젝트에서 수행 한 작업을보다 잘 문서화하고 배포하는 방법을 모색하고 있습니다. 귀사는 어떻게 이것을 처리합니까?


1
그것이 전자 제품에 직접 적용되는지 확실하지 않지만 코드 재사용은 소프트웨어 세계에서 큰 것입니다. Wikipedia에는 ​​코드 재사용에 관한 기사가 있습니다. en.wikipedia.org/wiki/Code_reuse
Thomas O

2
재사용 개념이 적용된다고 생각하지만 소프트웨어에서 관리하기는 어렵지만 하드웨어에서 모두 다른 짐승입니다. 소프트웨어는 코드가 회사와 언어간에 공유되는 전역 재사용 문제를 해결하려고합니다. 하드웨어 엔지니어링은 내가 아는 한 매끄러운 방식으로 로컬 재사용을 해결하지 못했습니다. 믹스의 모든 다른 독점 회로도 및 CAD 형식을 고려할 때 로컬 재사용을 먼저 해결 한 다음 글로벌 하드웨어 재사용으로 이동하는 것이 더 낫다고 생각합니다.
Funkyeah

2
@ 펑크 네, 많은 회사들이 지역 코드 재사용을 해결하지 못했을 수도 있습니다. 하드웨어가 다른 짐승입니다.
Kortuk

1
하드웨어 방법이 있는지 알고 싶습니다.
Kortuk

1
소프트웨어 개발자가 코드를 리팩터링하는 능력은 재사용 가능성에 큰 도움이된다고 생각합니다. 외부에서 개발 한 모듈 또는 라이브러리를 사용하여 개념 증명 및 빠른 기능을 수행 한 다음 필요한 경우 성능을 얻기 위해 리팩터링 할 수 있습니다. 하드웨어는 리팩토링 (기본적으로 보드를 회전시키는 것)이 사례별로 수행되는 경우 재정적으로 실행 불가능하다는 점에서 이러한 이점이 없습니다. 내가 지적한 다른 사실은 하드웨어 설계가 구성 요소를 과도하게 설계하는 데 드는 실제 비용 때문에 본질적으로 밀접하게 결합되어 있다는 것입니다.
Funkyeah

답변:


8

내가 사용하는 Altium Designer와 같은 일부 EDA 도구는 회로의 다양한 부분을 저장하여 휴대 성을 높이는 방법을 제공합니다. 작은 회로의 경우 " 스 니펫 "을 사용 하거나 더 큰 다중 시트 재사용 인 " 장치 시트 "를 사용할 수 있습니다.

하드웨어 회로도에 대한 표준을 모릅니다 (SPICE는 너무 추상적입니다; 내 지식으로는 발자국, 부품 번호, 공급 업체, 부품 번호 등으로 묶을 수는 없습니다) 그래서 어떤 종류의 재사용이든 회사에서 사용하는 EDA 패키지 및 제공하는 기능 또는이를 구현하는 조직적 방법에 크게 의존합니다.


이전에 이러한 기능을 보았습니다. 실제로 어떻게 작동합니까?
Kortuk

1
@Kor : 개인적으로 다른 사람들과 내 자신의 '정상'시트를 재사용했습니다. 다른 요구 사항으로 인해 사소한 수정이 필요합니다. 시트는 단일 프로젝트를 넘어서는 생각되지 않습니다.
Nick T

우리는 Altium Designer도 사용하며 회로도 캡처 및 레이아웃 도구를 좋아합니다. 나는 우리 자신의 IP에 스 니펫 도구를 전혀 사용하지 않았으며 다른 사람들이 그것을 사용하거나 좋아한다면 여기에 관심이있을 것입니다.
Funkyeah

나는 Altium도 사용했으며 더 큰 프로젝트를 수행했습니다. 더 큰 프로젝트를 관리하는 것은 매우 쉬운 일이며, 재사용 가능한 구성 요소에 대해 미리 생각하면 하드웨어를 매우 유연하게 설정할 수 있습니다. Atleast, 회로도의 경우 PCB는 매번 다시 그려야 할 부분입니다. 나는 Altium의 장치 시트 시스템을 많이 좋아합니다.
Hans

@hans, 나는 altium 디자인을 사용하지는 못했지만 하드웨어 시스템을 붙여 넣고 PCB를 일치시키는 방법을 보여주었습니다. 멋지다.
Kortuk

8

"하드웨어"디자인을 말할 때는 아마도 PCB 및 이산 구성 요소 솔루션에 대해 이야기하고 있다는 것을 알고 있지만 개념적 수준에서 유용 할 수있는 ASIC를 설계 한 경험이 있습니다.

상당히 복잡한 ASIC을 설계 할 때는 처음부터 계층 구조를 사용합니다. 주요한 이유는 디자인이 커질수록 철저한 평가 및 시뮬레이션 능력이 저하되기 때문입니다. 또한 ASIC 설계는 상당히 커질 수 있으며 체계적인 계층 구조가 없으면 전체 설계를 관리하기가 어려울 수 있습니다.

우리는 빌딩 블록에 대한 강력한 재사용 문화를 가지고 있습니다. 예를 들어, 누군가 설계하고 검증하는 데 많은 시간을 소비 한 op-amp 디자인이있는 경우 다른 디자이너가 해당 디자인을 자신의 작업 공간으로 쉽게 가져올 수 있도록 해당 디자인이 패키지화됩니다. 이러한 패키지를 저장하기위한 중앙 집중식 서버가 있으므로 필요한 모든 부품을 쉽게 찾을 수 있습니다.

개별 블록은 특정 회로 (예 : 연산 증폭기의 전압 레퍼런스)를 위해 설계되었지만 일반적으로 원래 설계를 수정하지 않고 재사용 할 수 있습니다. 디자인주기는 한 달 이상 지속되며 레이아웃 유효성 검사가 포함됩니다. 이러한 블록 중 하나를 디자인하면 문제 세트에 익숙해지는 데 시간이 걸리므로 블록이 이상적이지 않더라도 어쨌든 사용하려고 시도 할 것입니다.


우리 대학의 디자인 랩에서 비슷한 일을합니다. 문제는 작동하지 않는 것이 추가 될 때입니다. 나는 그것을 싫어하지만 작업이 완료됩니다.
Kortuk

2
재사용 전략에는 버전 관리 시스템과 같은 많은 규칙이 필요합니다. 모든 사람이 언제 어떻게 사용하는지 이해하지 못하면 제대로 작동하지 않습니다.
W5VO

2
나는 ASIC 클래스를 가지고 FPGA 디자인을 아주 잘 알고 있기 때문에 아날로그 ASIC 컴포넌트의 설계와 재사용은 회로도 수준에서 개별 컴포넌트 솔루션과의 직접적인 우화라고 말할 것이다. 당신에게 내 질문은 주어진 빌딩 블록의 디자이너가 어떻게 상기 빌딩 블록의 유용성과 유연성을 전파합니까? 전압 참조 예를 사용하여 팀의 다른 사람들이 작은 팀 또는 검색 할 수 있기 때문에 전압 참조 IP에 대해 알고 있습니까? 전압 레퍼런스가 유연하다면 어떻게 그 정보를 전달합니까?
Funkyeah

내가 일한 더 큰 그룹에는 관련 부품에 대한 데이터 시트 저장소가 있습니다. 각 데이터 시트에는 관련 문헌을 읽는 데 일주일을 소비하지 않고 누군가가 디자인을 사용할 수있는 충분한 정보가 있습니다. 제 업무를 위해 우리가 사용하는 다른 IC 프로세스는 전체 팀이 공유 할 수있는 공유를 제한하므로 더 나은 블록 구성이 필요하지 않았습니다. 설계 요구 사항이 크게 다른 경우를 제외하고는 일반적으로 중복 설계를 수행하지 않습니다. 예를 들어 밴드 갭 전압 기준이 하나뿐입니다.
W5VO

4

TinyCAD는 회로도를 계층 적 기호로 저장할 수 있다는 것을 알고 있습니다. 더 큰 회로에서 회로를 표현하는 방법을 그리고 입력 및 출력을 지정할 수 있습니다. 회로는 더 큰 회로도에 핀이있는 상자로 표시되며 간단한 더블 클릭으로 아래 내용을보고 편집 할 수 있습니다. 하위 회로의 모든 부품이 부품 목록에 표시되고, netlist는 모든 하위 회로 연결 등을 갖습니다. 오랜 시간이 지났지 만 다른 EDA 도구가 이와 유사한 동작을 허용하지 않습니까?


그렇습니다. 그러나 Altium이 더 발전된 방식으로 수행한다고 생각하지만 h 블록은 내가 본 방식입니다.
Kortuk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.