Emulera mikroprocessorer/mikrokontrollanter i SPICE...
Emulera mikroprocessorer/mikrokontrollanter i SPICE...
Är det någon som vet hur en mikrokontrollant/mikroprocessor emuleras i SPICE? Det borde ju vara så att komponenten byts ut ben för ben mot något motsvarande, typ ett input ben motsvaras av några komponenter, ett output ben av några andra komponenter osv... eller vad tror ni?
självklart används VHDL för att simulera µC men verkligen inte i SPICE applikationer. För att överhuvudtaget kunna infoga en komponent i SPICE så måste den kunna modelleras som en kombination av enklare krets element, tex (o)beroende ström och spänningskällor, induktorer, kapacitorer, resistorer eller liknande. Så med andra ord borde det vara så att varje ben modelleras beroende på om det är satt som ingång/utgång eller liknande...
Proteus VSM (Virtual System Modelling) http://www.labcenter.co.uk/index_uk.htm kan simulera massa olika mikrokontrollrar i en mixad SPICE modell.
De gör en speciell DLL för varje typ av mikrokontroller som sedan anropas av deras spice version.
På så vis kan man testa både sitt program OCH elektroniken innan man byggt något.
De gör en speciell DLL för varje typ av mikrokontroller som sedan anropas av deras spice version.
På så vis kan man testa både sitt program OCH elektroniken innan man byggt något.

TJa, det beror väl på... Redan nu finns det väl stöd i open-source versionerna för mixed simulation. Det borde väl finnas ett gränssnitt hur en digital krets skall kopplas i källkoden. Eftersom du själv håller på med en SPICE version kan du väl berätta om hur du lagt upp det.
Att simulera en MCU är ju i princip inte speciellt svårt (beror ju givetvis på grad av sofistikering). Man får modellera upp register, adressbuss, databus, programräknare mm. Sedan får man göra ett program som kan tolka och exekvera maskinkodsinstruktionerna.
Att simulera en MCU är ju i princip inte speciellt svårt (beror ju givetvis på grad av sofistikering). Man får modellera upp register, adressbuss, databus, programräknare mm. Sedan får man göra ett program som kan tolka och exekvera maskinkodsinstruktionerna.
Jag gör precis som orginal SPICE gör... bygger upp en systemmatris som löses med LU Decomp. för linjära fallet och Newton-Raphson metoden för icke linjära scheman. Problemet är att man i båda fallen ställer upp nodanalys former (även om det i LU D och NR är förenklingar av nodanalysen) men det är svårt att skriva en formel för en µCPU
så vad jag antar att man för en Output pinne tex använder en modell med en kondensator, en resistor och en oberoende ström eller spännings källa. Men sen vet jag inte om det gäller för alla fall av Output pinnar, om det finns olika typer samt hur man skriver för Input pinnar osv. När man väl fått reda på dom modellerna (om det är som jag tror) så borde det ju inte vara så svårt att fortsätta...
Jag har redan skrivit hyffsade modeller för en x86 CPU, PIC och 65xx MCU men det måste fyllas på i alla 3 fallen med rutiner som kopplas till SPICE delen.

Jag har redan skrivit hyffsade modeller för en x86 CPU, PIC och 65xx MCU men det måste fyllas på i alla 3 fallen med rutiner som kopplas till SPICE delen.
- bengt-re
- EF Sponsor
- Inlägg: 4829
- Blev medlem: 4 april 2005, 16:18:59
- Skype: bengt-re
- Ort: Söder om söder
- Kontakt:
I det flesta fall är det effektivare att bygga protoyper än att simulera då simuleringen ändå aldrig ger säkra svar och riskerar att dra in nya felkällor.
Använd hellre bara simulering på just den pinnen eller den funktionen du vill ha svar på och se till att skapa en bra modell för just detta.
Proteus VSM är aning bättre än totalt värdelöst.... Det är för mycket fel i miljön för att den skall kunna ge några svar du inte kan få på annat sätt.
Använd hellre bara simulering på just den pinnen eller den funktionen du vill ha svar på och se till att skapa en bra modell för just detta.
Proteus VSM är aning bättre än totalt värdelöst.... Det är för mycket fel i miljön för att den skall kunna ge några svar du inte kan få på annat sätt.
Jag vet inte om jag missar frågan, men PSpice gör iallafall en helt digital simulering av digitala kretsar, endast 1,0,H,L,Z m.fl. dvs. de logiska nivåerna i VHDL. Inga spänningar/strömmar är inblandade där, endast digitala fenomen som propagation delay m.m.. Sen i övergången från den digitala domänen till den analoga (dvs när man hakar på en analog komponent på en digital nod eller vice versa) så modeleras en utgång med t.ex. utresistans drivförmåga och en digital ingång med incapacitans m.m. Först iomed övergången tar den vanliga spice simulatorn vid.
Min lärare
. Det var vad han påstog under våran elektronikkonstruktionskurs. Det stämmer ju även om du testar att simulera nån digital krets. Sätt en prob på utgången på en digital krets då det bara är andra digitala ingångar kopplade till den. Då blir simulerings tracen bara 0,1,X m.m. Kopplar du däremot dit ett 10Megs motstånd paralellt mot jord (som inte borde göra nån skillnad praktiskt) så är det helt plötsligt en analog spänning du får ut som simuleringstrace på den noden.
Edit: Lägger till en liten test simulering. Notera hur det är digitala traces på nod 1 och 3 som inte har analoga komponenter men hur det blir analog simulering av nod 2.


Edit: Lägger till en liten test simulering. Notera hur det är digitala traces på nod 1 och 3 som inte har analoga komponenter men hur det blir analog simulering av nod 2.

Följande länkar kanske ger dig det svar du söker:
http://users.ece.gatech.edu/~mrichard/Xspice/
http://ngspice.sourceforge.net/index.html
http://users.ece.gatech.edu/~mrichard/Xspice/
http://ngspice.sourceforge.net/index.html
pagge>>
visst simuleras en del digitala kretsar analogt. Det gör man när man utvecklar avancerad ASIC. Hur skulle vi annars kunna klocka en processor i 5GHz??
dock får vi vanliga dödliga förlita oss på "mixad" simulering (om du nu inte råkar ha en superdator i källaren). Det finns varianter av Spice som även hanterar digitala nätlistor (skapade från VHDL eller Verilog).
/uc
visst simuleras en del digitala kretsar analogt. Det gör man när man utvecklar avancerad ASIC. Hur skulle vi annars kunna klocka en processor i 5GHz??
dock får vi vanliga dödliga förlita oss på "mixad" simulering (om du nu inte råkar ha en superdator i källaren). Det finns varianter av Spice som även hanterar digitala nätlistor (skapade från VHDL eller Verilog).
/uc