Krautkanal.com

Veröffentlicht am 2015-08-13 22:20:47 in /t/

/t/ 28674: Simulationsfaden

devankoshal Avatar
devankoshal:#28674

Dies ist der Simulationsfaden. Zeig her deine Simulationen, Bernd.
OP eröffnet mit einer Schaltung, die eine LED beim entladen einer 9v-Blockbatterie immer gleich hell Leuchten lassen soll. Weitere Designziele waren: wenige Komponenten, niedriger zusätzlicher Stromverbrauch.
Außerdem hoffentlich in diesem Faden:
- Fachsimpelei über halbverstandene Themen
- Streitereien um "das beste" Simulationsprogramm
- Anfängerfragen und Hilfen
- BewusstseinsVerständniserweiterung
- Diskussionen über Nützlichkeit und Aussagekraft einer Simulation
- viele bunte Kurven

kinday Avatar
kinday:#28675

>>28674
> die eine LED beim entladen einer 9v-Blockbatterie immer gleich hell Leuchten lassen soll

Du suchst ein Buck-Boost LED-Treiber z.B.
http://www.linear.com/product/LTC3454

id835559 Avatar
id835559:#28676

>>28675
Den hat Bernd - im Gegensatz zum 2N2222 und Dioden / Widerständen aber nicht in der Grabbelkiste liegen.

herrhaase Avatar
herrhaase:#28677

Bernd simuliert gerade mit Simetrix an einem Transimpedanzwandler mit Class-AB-Ausgangsstufe und TP-Filter.

starburst1977 Avatar
starburst1977:#28681

Hat zwar nichts mit dem Thema zu tun, aber ich habe eine Anfängerfrage.

Habe hier einen 5V LED-Streifen mit 30 x 60mA RGB LEDs (1800mA max). Wenn die LEDs ausgeschaltet sind, verbrauchen die WS2812 ICs immer noch Strom. Darum möchte ich einen Transistor nutzen, um den Streifen nur bei Bedarf anzuschalten. Reicht ein 1A Transistor, oder sollten es 2A oder mehr sein? Soll ich einen NPN oder einen PNP nehmen, oder ist das egal? Brauche ich eine Diode? Der Streifen wird von einem ATmega gesteuert.

jimmywebdev Avatar
jimmywebdev:#28682

>>28674
Bernd entwirft gerade einen Mixed-Signal-ASIC und bastelt momentan am Digitalteil. Das wird hauptsächlich Datenverarbeitung, -bufferung und -weiterleitung auf Anfrage.
Es kommen letztlich 20 TBit/s im Digitalteil an, werden verarbeitet, mit 2.5TBit/s in Buffer geschoben und dann auf Anfrage nach außen über insgesamt 32*320MBit/s Leitungen (=10GBit/s) weitergeleitet Im Moment arbeite ich an der Anfragenverarbeitung und -beantwortung.
Bernd musste selbst für die Simulation einige Visualisierungstools schreiben, beispielsweise hier Histogramme der Belegung der Buffer. Man sieht: FIFO 1 läuft immer über weil er 4x so viele Daten bekommt.

Ohne Simulationen wäre ASIC-Design völlig undenkbar. Ein Engineering-Run in dieser Technologie (65nm) kostet bereits ca. eine Million, da geht nur "First Time Right".
Man kann natürlich mit einem MPW anfangen, aber dann ist man auch schnell bei 100k und verliert Monate durch den zusätzlichen Testzyklus.

yassiryahya Avatar
yassiryahya:#28683

>>28682
Könntest du bitte die Kosten für die Produktion weiter elaborieren?
Wie teilen sich die Kosten auf?
Was bekommt man dafür?
usw.

Danke :3

yigitpinarbasi Avatar
yigitpinarbasi:#28684

>>28683
Das ist sehr einfach: 90% der genannten Kosten ist die Maskenherstellung mit denen dann die Wafer belichtet werden. Der Elektronenschreiber ist einfach abstrus teuer (9-10-stelliger Preis) und mehrere Tage mit einem Maskensatz beschäftigt.

Bei einem vollen Engineering Run wird ein Maskensatz nur für dieses Projekt erstellt und ein paar Wafer zum Test produziert. Da bekommt man dann je nach Diegröße einige 1000-10000 ASICs, da ein Wafer 300mm Durchmesser hat. Wenn man dann anhand dieser Beispielchips feststellt dass alles OK ist, kann man direkt mit den selben Masken in die Produktion gehen, ein Wafer kostet dann nur um die 1000$. Für die eigentliche Produktion bleiben dann also nur Centbeträge pro Chip übrig.

Bei einem MPW (Multi Project Wafer) teilt man sich den Maskensatz mit anderen Projekten. Die Masken sind 32x26mm, also kann man einige Projekte darauf unterbringen. Letztlich zahlt man so 50-100k auch hauptsächlich für den eigenen Anteil an den Masken und bekommt vielleicht 200 Chips zum Testen. Diese Masken kann man danach aber nicht weiterverwenden da ja noch andere Projekte darauf sind, man muss also nach dem Testen noch einen neuen Maskensatz für die Produktion herstellen lassen und das Ergebnis auch wieder testen. Der Vorteil ist also einzig: falls man einen Fehler gemacht hat sind nur 100k weg und nicht eine Million. Dafür verschwendet man Zeit, und wenn alles richtig ist auch die 100k.

aluisio_azevedo Avatar
aluisio_azevedo:#28685

>>28681
Mosfet mit möglichst niedrigem Rds on -> wenig Verlustleistung Rds on 0.1Ω , I Vollast 2A. Über Mosfet Spannungsabfall 0.2V. Verlustleistung 0.4W Also lieber einen nehmen der laut Datenblatt bis 20A "kann", der wird dann bei 2A so wenig warm das man nicht zusätzlich kühlen muss.

newbrushes Avatar
newbrushes:#28687

>>28684
>>28682
Kühl. Bernd hat mal in einem Reinraum als Anlagenbediener gearbeitet, etwa ein Jahr lang.
War die schlimmste Zeit seines Lebens. Du sitzt ja glücklicherweise im Büro.

Hat Bernd wenigstens etwas Mitleid mit den Produktionsmitarbeitern? :3

ryanjohnson_me Avatar
ryanjohnson_me:#28688

>>28682
Welche Ausbildung hast du genossen, Bernd?

freddetastic Avatar
freddetastic:#28692

>>28682
ASIC-Bernd, macht man heute eigentlich noch lustige Muster oder Logos auf die freien Flächen im Chip? Es ist natürlich extremer Autistenhumor, aber ich würde es witzig finden, wenn einer der Reverse-Engineering-Russen zufällig den Chip aufätzt, mit dem Mikroskop draufschaut und dann z.B. Heinrich.png sieht.

seanwashington Avatar
seanwashington:#28695

>>28682
Bist du eigentlich der ESA (?) Bernd, der ab und an schon was auf /b/ pfostiert hat?

andina Avatar
andina:#28714

>>28682
Wie entwickelt Bernd den Digitalteil? Kann man dazu VHDL oder Verilog benutzen und welche Software benötigt man? Gibt es für die Entwicklung von analogen ASICs auch eine Art Hardwarebeschreibungssprache wie für den Entwurf von Digitalschaltungen?

krdesigndotit Avatar
krdesigndotit:#28722

>>28714
> Gibt es für die Entwicklung von analogen ASICs auch eine Art Hardwarebeschreibungssprache wie für den Entwurf von Digitalschaltungen?

Dieser Bernd kennt jemanden, der mixed-Signal ASICs macht an der Grenze was die Technik gerade hergibt, hauptsächlich Frontends also ADCs, DACs mit einigen -zig GHz Samplerate, davor/danach noch entsprechende Verstärker und Analogequalizing. Da sind fertige Transistormakros, die man kopierpasten kann, das höchste der Gefühle, aber es wird immer noch sehr viel von Hand gemacht, wirklich einzelne Transistoren "gemalt" und optimiert. Die Simulationszeiten sind episch lang, es dauert auch auf einem über 9000-Kern-Rechner z.T. Tage, man muss vorher abschätzen ob sich das lohnt usw. Die Simulationen lassen sich auch nicht wirklich gut parallelisieren, so dass eben das Reinwerfen von noch mehr CPU-Kernen nicht viel bringt, es wird eher dazu genutzt, viele Simulationen gleichzeitig laufen lassen zu können. Und die Tools sind dreckig, aber es gibt nur ein zwei Hersteller und keinen Konkurrenzdruck, daher bleiben die auch schlecht. Natürlich wird der eigentlich Digitalteil davor oder danach, wenn das Signal eben auf sehr viele, dafür langsame parallele Bits aufgeteilt ist, in VHDL gemacht.

cat_audi Avatar
cat_audi:#28726

>>28687
>Hat Bernd wenigstens etwas Mitleid mit den Produktionsmitarbeitern?
Die sind in Taiwan und arbeiten für TSMC. Da hat Bernd leider nicht allzuviel Verbundenheit mit.

>>28688
>Welche Ausbildung hast du genossen, Bernd?
Ich bin Dipl.Ing. der technischen Informatik

>>28692
>macht man heute eigentlich noch lustige Muster oder Logos auf die freien Flächen im Chip
Ja sicher, wenn noch Zeit ist vor dem Tape-Out, da ist aber oft soviel Stress dass man nicht mehr zu Logos kommt. Heinrich wird etwas schwierig, ich bin ja nicht der Einzige der das dann zu Gesicht bekommt.

>>28695
Nein, habe nichts mit der ESA zu tun

>>28714
>Wie entwickelt Bernd den Digitalteil?
Ja, ich verwende Verilog. Zum Simulieren, Synthetisieren, Place&Route etc. benutzen wir die Cadence-Toolchain, das siehst du auch in dem Screenshot >>28682
Eine Analogbeschreibungssprache gibt es nicht wirklich und die würde vermutlich auch keinen Vorteil bringen. Man arbeitet halt mit wiederverwendbaren und anpassbaren Blöcken, und sehr spezielle Sachen macht man komplett von Hand.
Beim derzeitigen Projekt mache ich auch einige Teile des Digitalteils von Hand da diese so schnell laufen (~2.5GHz) dass die Synthese das nicht hinbekommt.

>>28722
Naja, das sehe ich alles ein bisschen anders. Die Tools sind eigentlich sehr gut und unterstützen einen auch Stark im Analogdesign.
Sicher muss man die Schaltung erstmal von Hand "malen" aber daraus das Layout zu erstellen geht schon fast automatisch. Man muss sich etwas mit den Features der Tools auseinandersetzen, dann kann man viel Zeit sparen. Kein Mensch malt mehr Transistoren von Hand ausser es gibt irgendwelche völlig abstrusen Flächenbeschränkungen.
Simulationen lassen sich inzwischen perfekt parallelisieren, die Lizenzen für den entsprechenden Simulator sind nur schweineteuer. Wir haben ein paar Lizenzen für Spectre XPS (http://www.cadence.com/cadence/newsroom/features/Pages/SpectreXPS.aspx) und einen Cluster mit 1024 Rechnern wenn es wirklich mal schnell gehen muss oder eine sehr komplexe Simulation ansteht.
Die Tools sind ganz und gar nicht dreckig sondern auf Profis zugeschnitten. Wenn man sich auf Mausbedienung beschränkt und keine Scripte selbst schreibt ist die Bedienung tatsächlich nervig, aber kein vernünftiger Ingenieur macht das so. Ja, es gibt nur Mentor und Cadence für Full-Custom-Design aber beide Toolchains sind ausgezeichnet nachdem man sich gut darin eingearbeitet hat. Studenten sind damit leider schnell überfordert.

eduardostuart Avatar
eduardostuart:#28729

>>28726
> Die Tools sind ganz und gar nicht dreckig sondern auf Profis zugeschnitten.

Oke, ich habe das ja nur aus zweiter Hand. Entweder ist der Kollege so gut, dass er es wirklich an die Grenzen treibt oder eben nicht so solle.jpg :3
Aber dass man so gut parallelisieren kann war mir neu, es sind doch im Endeffekt riesige Differentialgleichungen, wo alles von allem abhängt?
>>28722 hier.

albertodebo Avatar
albertodebo:#28730

>>28729
> Endeffekt riesige Differentialgleichungen, wo alles von allem abhängt?
Sone Schaltung wird durch riesige Matritzen die miteinander verrechnet werden dargestellt. Wenn du zum Beispiel eine 10x10 Matrix mit 5 multiplizierst, bekommst du 500 einzelne Multiplikationsaufgaben, die du prima unabhängig voneinander berechnen kannst.

illyzoren Avatar
illyzoren:#28733

>>28685
Danke, Bernd. Es funktioniert aber nur, wenn ich den 100k Widerstand zwischen GND und 1k Widerstand hinter MPU output weglasse, oder ihn durch einen 9,09k Widerstand ersetze. Hat das irgendwelche Nachteile beim Stromverbrauch?

marshallchen_ Avatar
marshallchen_:#28734

>>28733
Das liegt daran ob/was dein MPU an Pull up / Pull down Widerständen eingebaut hat. Solange der Transistor sauber schaltet, alles ok.

albertodebo Avatar
albertodebo:#28739

>>28730
> bekommst du 500 einzelne Multiplikationsaufgaben, die du prima unabhängig voneinander berechnen kannst.

Das klingt plausibel. Warum gibt es eigentlich keine Simulationswolke von den Herstellern? Das ist doch ideal für sowas, nur solange man simuliert nutzt man halt sehr kurze Zeit sehr viele Maschinen gleichzeitig.

degandhi024 Avatar
degandhi024:#28752

Welche SPICE Varianten benutzt Bernd? Dieser Bernd hat bis jetzt nur LTSpice verwendet, wird aber demnächst auch mal die Test-Version von PSpice ausprobieren.

Gibt es hier eigentlich HF-Bernds, die irgendwelche interessanten Simulationscodes verwenden?

chrisvanderkooi Avatar
chrisvanderkooi:#28762

>>28681
Habe noch eine Anfängerfrage. Was für einen IC (RM 2,5mm, notfalls auch SMD) muss ich nehmen, um mir sowas zu bauen:
Pololu Logic Level Shifter
http://www.exp-tech.de/pololu-logic-level-shifter-4-channel-bidirectional

Ich nutze den, um die LEDs anzusteuern, brauche aber nur 2 Pins für die Daten. Mit einem IC mit weniger Pins könnte ich möglicherweise Platz auf der Platine sparen.

jjshaw14 Avatar
jjshaw14:#28763

>>28762
Habe selber einen gefunden, wenn ich das richtig verstehe:
http://www.conrad.de/ce/de/product/1073822/Logik-IC-SN74LVC1T45DRLR-SOT-563-Texas-Instruments?ref=searchDetail

cboller1 Avatar
cboller1:#28764

>>28762
Sie haben direkt den Schaltplan auf der Seite:
https://www.pololu.com/file/0J752/ls01a-logic-level-shifter-schematic.pdf
Sie verwenden also dem Bild nach einfach zwei Stück Doppel-Mosfets in einem Gehäuse (2x2=4, 4 Kanäle hat es ja).
Hier gibt es eine Übersicht zu möglichen Pegelwandlern in allen Variationen:
http://www.mikrocontroller.net/articles/Pegelwandler

commoncentssss Avatar
commoncentssss:#28771

>>28764
Danke, Bernd. Habe die Seite auch schon gefunden. Da scheint es allerdings bis auf SMD nichts platzsparendes (im Vergleich mit dem Pololu Teil) zu geben. Naja, vielleicht versuche ich es mal mit SMD, wenn ich eine entsprechende Platine dafür finde. Dürfte ja ein ganz schönes Gewurschtel werden, mit dem SMD IC, SMD Widerständen und SMD Mosfets.

Hier ist das Ergebnis der Bastelei (Stimmungslampe):
https://www.youtube.com/watch?v=sp7V643zFTo

thehacker Avatar
thehacker:#28776

>>28771
Schön gemacht, Bernhard :3
Sehe ich das richtig, dass der von dir genannte Pegelwandler eben schon verbaut ist? Warum brauchst du dann noch einen?
Willst du ein zweites Exemplar der LED-Lampe aufbauen oder eine Platine machen? Es ist keine Schande, auf fertige Module zurückzugreifen, wenn es ein Einzelstück ist, würde ich es einfach so lassen.
Der Pegelwandler muss ja übrigens nur ein eine Richtung gehen, oder? Diese Neopixels werden ja schon recht schnell angesteuert, da wäre auszuprobieren, ob die Methode Polarität im uC invertieren und dann npn-Trans mit 5V-Pullup schnell genug ist. Was hast du denn für einen uC dran? Einen AVR kann man auch mit 5V laufen lassen, dann brauchst nur für den Anschluss an den ESP8266 einen Pegelwandler (Spannungsteiler in eine Richtung, nichts in die andere, da der AVR bei 3.3V-Pegel schon ziemlich sicher eine 1 sieht).
Wo hast du eigentlich das "Gehäuse" für diese Lampe her?

kennyadr Avatar
kennyadr:#28781

>>28776
>Warum brauchst du dann noch einen?

Hab noch 2 x 30 LED Streifen hier rumliegen, die natürlich auch irgendwann verwendet werden wollen. Vielleicht baue ich mir noch so eine Lampe als Nachtlicht mit Bewegungsmelder im Flur.

>ob die Methode Polarität im uC invertieren und dann npn-Trans mit 5V-Pullup schnell genug ist

Geht das einfach so? Spielen die WS2812 ICs da mit? Könnte ich mal probieren.

>Was hast du denn für einen uC dran? Einen AVR kann man auch mit 5V laufen lassen

Wollte halt 3V3 verwenden, weil dabei ein paar mA weniger verbraucht werden. Aber so gross ist der Unterschied eh nicht.

>Wo hast du eigentlich das "Gehäuse" für diese Lampe her?

Die Puzzleteile habe ich bei Ebay gekauft. Muss man sich selbst zusammenbauen.

http://www.ebay.de/itm/381362980020?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Neuste Fäden in diesem Brett: