Jak Twoja firma zarządza ponownym użyciem sprzętu?

12

W mojej firmie wykonujemy wiele oryginalnych projektów sprzętowych, z których każdy jest projektowany tylko przez niewielką część naszych inżynierów. Szukamy sposobów lepszego dokumentowania i rozpowszechniania tego, co zostało zrobione w ramach każdego projektu, aby informacje mogły być rozpowszechniane i potencjalnie ponownie wykorzystywane. Jak Twoja firma sobie z tym radzi?

Funkyeah
źródło
1
Nie jestem pewien, czy odnosi się to bezpośrednio do elektroniki, ale ponowne użycie kodu jest ważną rzeczą w świecie oprogramowania. Wikipedia ma artykuł na temat ponownego użycia kodu: en.wikipedia.org/wiki/Code_reuse
Thomas O
2
Wierzę, że koncepcja ponownego wykorzystania ma zastosowanie, ale chociaż oprogramowanie jest trudne do zarządzania, jest to zupełnie inna bestia w sprzęcie. Oprogramowanie próbuje rozwiązać problem globalnego ponownego wykorzystania, w którym kod jest współdzielony przez firmy i nieco między językami. Inżynieria sprzętu nawet nie rozwiązała lokalnego ponownego użycia w jakikolwiek płynny sposób, jaki znam. Biorąc pod uwagę wszystkie różne zastrzeżone formaty schematów i formatów CAD w mieszance, myślę, że lepiej byłoby najpierw rozwiązać lokalne ponowne użycie, a następnie przejść do globalnego ponownego użycia sprzętu.
Funkyeah,
2
@Funkyeah, może się okazać, że wiele firm nie rozwiązało ponownego użycia lokalnego kodu. To inna bestia ze sprzętem, zupełnie inna.
Kortuk
1
Chciałbym wiedzieć, czy istnieje metoda na sprzęt.
Kortuk
1
Myślę, że zdolność twórców oprogramowania do refaktoryzacji kodu bardzo pomaga w opłacalności ponownego użycia. Mogą użyć zewnętrznego modułu lub biblioteki do potwierdzenia koncepcji i szybkiej funkcjonalności, a następnie refaktoryzacji w celu uzyskania wydajności tam, gdzie jest to potrzebne. Sprzęt nie ma tej korzyści w tym, że refaktoryzacja sprzętu (co w zasadzie nazwałbym respinningiem zarządu) jest finansowo nieopłacalna, jeżeli jest przeprowadzana indywidualnie. Innym faktem, na który chciałbym zwrócić uwagę, jest to, że moduły sprzętowe są ściśle ze sobą powiązane ze względu na rzeczywisty koszt nadmiernego projektowania komponentów.
Funkyeah,

Odpowiedzi:

8

Niektóre narzędzia EDA, takie jak to, których używam, Altium Designer, zapewniają metody zapisywania różnych części obwodów, aby były one nieco przenośne. W przypadku małych obwodów można użyć „ Snippets ” lub w przypadku wielokrotnego użycia wielu arkuszy „ Arkuszy urządzeń

Nie znam żadnego standardu dla schematów sprzętowych (SPICE jest zbyt abstrakcyjne; według mojej wiedzy nie można go powiązać ze śladami, numerami części, dostawcami, ich numerami części ...), więc jakiekolwiek ponowne użycie byłoby w dużym stopniu zależy od pakietu EDA, z którego korzysta Twoja firma, od zapewnianych przez niego funkcji lub metod organizacyjnych, które wdrażasz.

Nick T.
źródło
Widziałem już te funkcje, jak dobrze działają?
Kortuk
1
@Kor: Osobiście ponownie wykorzystałem arkusze innych ludzi i własne „normalne”, z powodu mieszanki nieznajomości procesu ich tworzenia (choć wydaje się to dość łatwe), konieczności wprowadzania drobnych modyfikacji z powodu różnych wymagań lub arkusz nie jest brany pod uwagę poza jednym projektem.
Nick T
Używamy również Altium Designer i uwielbiam to narzędzie do przechwytywania schematów i układania. W ogóle nie korzystałem z narzędzia do tworzenia fragmentów kodu dla naszego własnego adresu IP i byłbym zainteresowany tutaj, gdyby inni ludzie go używali / lubili.
Funkyeah,
Użyłem również Altium i zrobiłem z nim większy projekt. Zarządzanie większymi projektami jest bardzo łatwe, a jeśli pomyślisz wcześniej o komponentach wielokrotnego użytku, założę się, że możesz skonfigurować swój sprzęt bardzo elastycznie. Przynajmniej na schemacie PCB jest czymś, co prawdopodobnie trzeba przerysować za każdym razem. Bardzo podoba mi się system Arkuszy Urządzeń Altium.
Hans
@ Hans, nie miałem do czynienia z projektowaniem altium, ale pokazały sposób, w jaki można wkleić system sprzętowy i dopasować jego PCB. Ładnie wyglądało.
Kortuk
8

Kiedy mówisz o projektach „sprzętowych”, wiem, że prawdopodobnie mówisz o PCB i rozwiązaniach z elementami dyskretnymi, ale mam pewne doświadczenie w projektowaniu układów ASIC, które mogą być przydatne na poziomie koncepcyjnym.

Kiedy projektujemy ASIC, który jest dość skomplikowany, od początku stosujemy hierarchię. Jednym z głównych powodów jest to, że w miarę powiększania się projektów zmniejsza się możliwość ich dokładnej oceny i symulacji. Ponadto projekty ASIC mogą być dość duże, a bez dobrze zorganizowanej hierarchii zarządzanie całym projektem może być trudne.

Mamy silną kulturę ponownego wykorzystania naszych elementów. Na przykład, jeśli mamy projekt wzmacniacza operacyjnego, który ktoś spędził dużo czasu na projektowaniu i sprawdzaniu poprawności, projekt ten zostałby spakowany, aby inny projektant mógł łatwo zaimportować ten projekt do własnego obszaru roboczego. Mamy scentralizowany serwer do przechowywania tych paczek, dzięki czemu wszystkie potrzebne części są łatwe do znalezienia.

Chociaż pojedynczy blok mógł zostać zaprojektowany dla określonego obwodu (np. Napięcia odniesienia dla wzmacniacza operacyjnego), zwykle można go ponownie użyć bez zmiany pierwotnego projektu. Cykl projektowania trwa przez miesiąc lub dłużej i obejmuje sprawdzenie poprawności układu. Zaprojektowanie jednego z tych bloków wymaga czasu, aby zapoznać się z zestawem problemów, więc nawet jeśli blok nie jest idealny, prawdopodobnie i tak spróbowałbyś go użyć.

W5VO
źródło
Brzmi świetnie, robimy coś podobnego w laboratoriach projektowych na naszej uczelni. Problem polega na tym, że dodaje się coś, co nie działa. Nienawidzę tego, ale wykonuje zadanie.
Kortuk
2
Strategia ponownego użycia wymaga dużej dyscypliny, podobnie jak system kontroli wersji. Nie działa tak dobrze, jeśli wszyscy nie rozumieją, jak i kiedy go używać.
W5VO,
2
Wziąłem kilka klas ASIC i dość dobrze znam projektowanie FPGA, więc zdecydowanie powiedziałbym, że projektowanie i ponowne użycie analogowych komponentów ASIC jest bezpośrednią alegorią dyskretnych rozwiązań komponentów na poziomie schematu. Moje pytania do ciebie brzmiałyby: w jaki sposób projektant danego bloku konstrukcyjnego rozpowszechnia użyteczność i elastyczność tego bloku? Korzystając z przykładu napięcia odniesienia, czy inni członkowie Twojego zespołu wiedzą o IP napięcia odniesienia, ponieważ jest to mały zespół lub ponieważ można go wyszukać? Jeśli napięcie odniesienia jest elastyczne, to jak przekazać te informacje?
Funkyeah,
W większych grupach, w których pracowałem, mamy repozytorium arkuszy danych dla odpowiednich części. Każdy arkusz danych zawierałby wystarczającą ilość informacji, aby ktoś mógł skorzystać z projektu bez spędzania tygodnia na czytaniu odpowiedniej literatury. W mojej pracy różne procesy IC, których używamy, ograniczają udostępnianie całego naszego zespołu, więc lepsza organizacja bloków nie była konieczna. Zwykle nie wykonujemy podwójnych projektów, chyba że wymagania projektowe są znacząco różne - na przykład mieliśmy tylko jedno odniesienie napięcia pasmowego.
W5VO,
4

Wiem, że TinyCAD pozwala na zapisanie schematu w hierarchicznym symbolu - możesz narysować, jak chcesz, aby obwód był reprezentowany w większym obwodzie i określić, jakie są wejścia i wyjścia. Twój obwód pokazuje się raczej jako pudełko ze szpilkami na większym schemacie, a proste podwójne kliknięcie pozwala zobaczyć, co jest pod spodem i edytować. Wszystkie części w obwodzie są wyświetlane na liście części, lista sieci ma wszystkie połączenia w obwodzie itp. Minęło trochę czasu, ale czy inne narzędzia EDA nie pozwalają na to lub podobne zachowanie?

AngryEE
źródło
Tak, robią, ale myślę, że Altium robi to w bardziej zaawansowany sposób, ale h bloki to to, co widziałem.
Kortuk