andre skriver

Brand i japansk chip-fabrik giver nye problemer i bilindustrien

Illustration: Renesas

En elektrisk kortslutning har antændt en større brand i en fabrik hos japanske Renesas, der producerer chips som især benyttes i biler. Det forventes at tage måneder at genopbygge produktionen, og hver måned uden produktion koster Renesas omkring en milliard danske kroner. Branden har fået aktier hos Honda, Toyota og Nissan til at falde. Bilproducenter i hele verden kæmper allerede med mangel på chips på grund af høj efterspørgsel, hvilket har sat produktionen ned i gear de senere måneder.

OGSÅ VÆRD AT LÆSE
via Global Construction Review 22. okt 2021 15:04
10 personer sigtet for dødsulykke i mexicansk metro
via Berlingske 22. okt 2021 11:08
Dansk overlæge: Coronapille ser lovende ud
via Techcrunch 22. okt 2021 10:55 3
Kommerciel rumstation skal opsendes i 2027
via Interesting Engineering 22. okt 2021 10:29
Sydkorea opsender den første raket bygget inden for landets grænser
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først

I gamle dage havde MAN altid BACKUP, men nu tæller økonomien ALT, desværre. selvforsyning er en saga blot. Afhængighed er hverdagen !!

  • 7
  • 4

Afhængig af hvilke funktioner disse chips udfører, så er der måske en chance for at fremstille biler med færre funktioner, så produktionen kan fortsætte.

  • 8
  • 3

Hvis at bilproducenterne gad at udvikle deres egne chips, så kunne de altid sende chiplayoutet til en anden og få dem fremstillet. Det kan være lidt problematisk, hvis det er sensor chips, men f.eks. processorer og high-speed digital elektronik er det nemt at udvikle selv fra bunden. Og det giver mulighed for langt større sikkerhed, da man ikke er afhængig af en producent, og pludseligt risikerer at det ikke fungerer, fordi de laver noget om, eller går ud af markedet. VHDL er det mest hardwareuafhængige programmeringssprog som findes!

  • 1
  • 12

Afhængighed er hverdagen !!

og var det så endda blot chips! Jeg kan ikke dy mig for at citere et læserindlæg fra seneste udgave af Weekendavisen:

Den 28. december kunne man i NRC Handelsblad læse, at 1500 lægemidler i år 2020 havde været i restordre på det hollandske marked, heriblandt vigtig medicin mod hjerterytmeforstyrrelser, medicin mod blodpropper og antibiotika. Årsagerne er lange leveringsveje. Tidligere blev der produceret store mængder medicin i Vesteuropa, men i dag produceres det meste i Asien, især i Kina. Dette sker først og fremmest af økonomiske årsager, men også som resultat af de håbløse ideer, der herskede indtil for nogle år siden om, at vi i Vesten skulle være kreative, mens industriproduktion skulle udliciteres til fjerne lande, hvis indbyggere man åbenbart anså for at være dummere end vi…

  • 14
  • 0

I gamle dage havde MAN altid BACKUP, men nu tæller økonomien ALT, desværre. selvforsyning er en saga blot.

I gamle dage var der second souce på f.eks. 8031 som kunne fåes fra adskillige leverandøre. Idag er det vel kun RAM og FLASH kredse der er pin kompatible. Man kan selvfølgelig bede Bosch om at udvikle second source varianter af deres motor moduler, således at man har varianter der bruger NXP, Renesas, eller STM microcontrollere. Men det vil næsten fordoble udviklings omkostningerne. En anden ting er at have Europæiske leverandøre hvis der opstår geopolitiske problemer. En 3'de ting er at betale for resevation af produktions kapacitet man måske ikke får brug for. Alt dette giver en mere robust, men dyre supplychain, som man ikke vil betale for.

  • 4
  • 0

Men det vil næsten fordoble udviklings omkostningerne.

Der kan bruges samme VHDL kode.

Der kan bruges stort set samme C++ kode.

Der kan bruges samme operativsystem.

Der kan bruges kompatible transistorer, kondensatorer, modstande osv.

Der kan bruges en anden printproducent uden det koster udviklingsomkostninger.

Det koster stort set intet.

Men det kan koste noget, hvis man anvender forskellige producenter, da det kan gå ud over mængderabatter. I store antal er priserne meget tæt på fremstillingspriserne, og det kan nemt ske, at man reelt kan få komponenterne billigere.

Så nej, det er intet problem. Og det koster stort set intet. Det er et politisk valg, at man vælger at holde fast på nogle bestemte. Eller, at man ikke ønsker flere valgmuligheder.

Har man i øvrigt først udviklet platformen til forskellige producenter en gang, så koster fremtidige versioner ikke mere at lave til forskellige producenter, da koden er den samme. De biblioteker der er chipspecifikke, er udviklet og laves normalt ikke om i de følgende versioner. Mange producenters nyere processorer er stort set kompatible med deres forrige.

Bruges Arduino, kan du vælge mange forskellige producenter af processorer. Din kode er stort set kompatibel. Bruges et operativsystem findes også mange forskellige producenter af CPU'er. Med mindre, at producenten af operativsystemet indgår strategiske aliancer, hvor deres handelsaftaler kun tillader at deres operativsystem kan anvendes på en amerikansk producent af cpu'er.

For meget små virksomheder, kan det være en stor udgift. Men, typisk vil det koste max. 20% af udviklingsomkostningerne at udvikle til nyt hardware. Og, det gør det endvidere billigere, så ens software vil blive endnu billigere, at lave til en tredie producents hardware. Og hardware er også nyere udgaver af hardwaren. Så det bliver billigere at lave om til andre, billigere komponenter. Det er dog lidt dyrt for en mindre virksomhed, da udviklingsomkostningerne kan være høje, og så er 20% ekstra en del.

  • 1
  • 10

Der kan bruges samme VHDL kode.

Der kan bruges stort set samme C++ kode.

Der kan bruges samme operativsystem.

Der kan bruges kompatible transistorer, kondensatorer, modstande osv.

Der kan bruges en anden printproducent uden det koster udviklingsomkostninger.

Det koster stort set intet.

Den største udgift ved udvikling af en ASIC er ikke VHDL koden. Det er implementeringen, den fysiske produktion, test, verifikation og alle de andre oversete dele.

Den største udgift ved en anden implementering af din hardware er test, verifikation, certificering og alle de andre oversete ting. Hvis du vil have en second source på et produkt, der er så dokumentationskrævende som elektronik til biler, bliver det let dobbelt så dyrt. Hvis ikke mere, idet du nu skal holde styr på 2forskellige komponenter[1] i din produktionskæde.

Men det er en meget normal begynderfejl at tro at det er let og billigt lige at lave en version der er næsten magen til den anden...

[1] VW glemte så det der med at holde styr på 'ens' dele fra forskellige leverandører. Det blev dyrt for dem og deres kunder....

  • 5
  • 0

Den største udgift ved en anden implementering af din hardware er test, verifikation, certificering og alle de andre oversete ting. Hvis du vil have en second source på et produkt, der er så dokumentationskrævende som elektronik til biler, bliver det let dobbelt så dyrt. Hvis ikke mere, idet du nu skal holde styr på 2forskellige komponenter[1] i din produktionskæde.

Ved det som jeg arbejder med, vil det ikke koste meget. Men, der kræves ikke samme dokumentation som til elektronik i biler. Min forventning er, at en del af dokumentationen kan genbruges, så længe det laver eksakt det samme. Der vil formentligt være større udgift, ved at lave en ny version med samme elektronik.

Men det er en meget normal begynderfejl at tro at det er let og billigt lige at lave en version der er næsten magen til den anden...

Når jeg udvikler elektronik, så laver jeg mange versioner. Flere om dagen. Og det er let og billigt, at lave en version der er magen til den forrige. Det er en del af min fremgangsmåde.

Det bliver først dyrt, når du skal sende versionen i produktion, have den igennem godkendelser, producere manualer, vejledninger, undervise i produktet, reklamer, og have det ud til forhandlerne. Det er ikke at udvikle en ny version som koster. Det er at trykke på start knappen.

Hvis man gjorde det til vane, at altid lave to identiske produkter, med forskellige komponenter, vil du sandsynligvis få rabat, når du skal have dem godkendt, såfremt du laver dem, så alt dokumentation er helt identisk og koden er identisk.

Normalt, vil du have brug for et hardwareafhængigt bibliotek, men disse skal også være identiske til de platforme du bruger. Altså, man udvikler en grundplatform, til forskellige producenter, som man får godkendt hardwaremæssigt, og så lægges præcist det samme program, med samme dokumentation på. Man kan lave en enhed, der sammenligner de to konstruktioners opførsel, og sikre de fungerer eksakt ens. Efterfølgende versioner, vil kræve identiske ændringer, og man kan sikre sig at de opfører sig identisk.

En del af fidusen ved at bruge højniveausprog, er at opnå hardwareuafhængighed. Det kan så diskuteres, om det opnås. De færreste programmører formår at lave en liste over hvor at fejlene er i programmeringssproget, der gør at det er hardwareafhængigt, og lave et forslag til, hvordan at programmeringssproget skulle laves, så det ikke er afhængigt af hardware. Når jeg spørger programmører om, hvor fejlene er i C++, som gør at det ikke er deterministisk med hensyn til hardware, kan de færreste lave listen over fejlene i programmeringssproget.

  • 0
  • 8

Den største udgift ved udvikling af en ASIC er ikke VHDL koden. Det er implementeringen, den fysiske produktion, test, verifikation og alle de andre oversete dele.

Det største problem, er at de fleste designere ikke har lært at lave designs som er 100% uafhængigt af forsinkelser og tid i kredsløbet. Dette giver problemer ved implementering. Man anvender et system, således at tiden intet betyder - det betyder også, at det kan anvendes i fysik, hvor at tiden ikke eksisterer, og hastigheden er uendelig. Det gælder også i programmeringssprog, at du skal altid lave et programmeringssprog, der virker på en uendelig hurtig computer, og som altid har et veldefineret svar. Ellers, er dit programmeringssprog ikke deterministisk, og den er upålidelig. Indenfor digitalt design, hedder metoden 2-fase non-overlappling klok. Ved hjælp af denne teknologi, så kan du helt undgå afhængighed af modstande, kondensatorer, transistorparametre, afkobling osv. i kredsløbet. Og samtidigt, er de fysiske forsinkelser lavere. Det er så stabilt, at selv afkobling intet betyder. Når det er nødvendigt at afkoble, skyldes det blandt andet, at man har brug for at kunne styre forsinkelserne. Anvender man den rigtige måde at designe sine chips, så er forsinkelserne totalt ligegyldige, og du kan bygge om på enhver rækkefølge som komponenterne arbejder, og indsætte delays overalt i transistorer, ledninger, osv. Dette betyder, at du ikke må anvende normale flankestyrede flipflops, da disse ikke kan godkendes. De indeholder logik, der er tidsmæssigt afhængigt. Og du opnår let problemer af tidsmæssig karakter, f.eks. problemer ved klokgating, delays osv. Alle disse problemer findes ikke, når du anvender en strategi der tillader implementering i fysik, hvor at hastigheden må være uendelig. 2-fase non-overlappling logik er time independent, bounce tolerent, rise/fall time tolerent, Power stability, no problem with clock gating, analog clock, sinus formed clock:

1) Helt uafhængig af enhver forsinkelse. Du kan indlægge vilkårlig forsinkelse i enhver komponent, transistor modstand kondensator eller ledning, og kredsløbet vil stadigt fungere.

2) Det er uafhængig af stigtider. Du kan have ekstrem lave stigtider, uden problemer.

3) Det kan være uafhængig af afkobling. Du behøver ikke en eneste afkobling på din chip, eller eksternt. Som regel, vil dog være ønskeligt med afkobling. Men, det har fordele, fordi man i nogle tilfælde sætter modstande ind, så man begrænser strømme i forsyning og transistorerne.

4) Metoden går ud på, at alle flipflops har to kloks, og to forsyninger. Kloks kører på skift. Det ene klok signal virker som reset, og den anden som set. Det betyder, at selvom der er meget store stigtider, eller er ringning, så har det ingen betydning for funktionen. Det er derfor stabilt omkring trig punktet, selvom der måtte være støj på. Det er vigtigt, at alle flipflops har to kloks, og at der ikke bare sættes en RS-flipflop foran. For kun, hvis de har to kloks, er de muligt at lave uafhængige af forsinkelser internt. Enhver flankestyret flipflop er forsinkelsesafhængigt, og kan ikke godkendes. Dine kloksignaler kan være analoge, og dette bruges ved ultra-low power kredsløb, hvor stigtiderne er meget lave, og hvor at klokkens kapacitet ophæves af induktioner. De to klokfaser kan man sætte en induktion imellem, og herved ophæves forbruget til at drive klok. Det betyder, at har man f.eks. en flipflop, hvor at indgangen ikke skifter, så vil den ikke have noget energiforbrug, da klok i sig selv ikke giver anledning til energiforbrug. Dette ophæves af induktionen over kapaciteten.

5) Det er hurtigere. Da det er tidsmæssigt robust, behøver man ikke at indføre delays, for at sikre funktionen. Heller ikke internt i flipflops. Det er tidsuafhængig på fysisk niveau, også internt i komponenter og internt i transistorerne.

6) Der kan ikke opstå problemer med klok-gating, man kan klokgate så tosset man vil, uden der kan opstå et problem. Klokgating er et timing problem, og disse er umulige. Der findes ingen former for hazard.

7) Der kan ikke opstå problemer med timing. Timing er et tidsfænomen, og dette findes ikke. Man kan f.eks. ikke have problemer med shift-registre der ikke skifter korrekt, fordi der er delays i klokken.

8) Det virker ved ekstrem lav spænding, også fint i week-inversion. Så det fungerer fint til ultra low-power elektronik. Typisk, er årsagen til, at man ikke kan få kredsløb til at fungere ved lav spænding, at det ikke er muligt at få styr på forsinkelser, og opnå tilstrækkeligt store skiftetider. Dette problem eksisterer ikke, da tiden ikke indgår som parameter.

9) Det er muligt at syntetisere uden efterbehandling af analoge signaler, og tidsmæssig justering. Og det vil normalt fungere væsentligt hurtigere.

10) Er nødvendigt med analoge komponenter, PLL'er og lign. så kræver det komponenter med delays, og som er udviklet til den pågældende chip, og dens parametre. Som regel, er det ikke et problem at få, eller have i skuffen.

Eneste problem er, at USA har gjort flanketrigget klok til defacto-standard, for at sikre at deres konkurenter får så store hovedbrud som muligt. I starten troede man faktisk ikke, at det var muligt at få flankestyret klok til at fungere på større kredsløb, men i dag er det lykkedes meget godt.

Så du kan fint gå direkte fra et programmeringssprog, f.eks. VHDL til chiplayout.

Jeg syntes, at man burde undervise alle de studerede i metoderne bag logik der fungerer ved uendelig hastighed - for det er mest stabilt, og det er hurtigst. Og, det samme gælder programmeringssprog. Et programmeringssprog der ændrer opførsel som funktion af processorens hastighed er en tilfældighedsgenerator.

  • 0
  • 7

Det største problem, er at de fleste designere ikke har lært at lave designs som er 100% uafhængigt af forsinkelser og tid i kredsløbet. Dette giver problemer ved implementering.

Suk. Der er så mange misforståelser i ovenstående at det vil kræve mindst lige så lang en smøre som ovenfor for at forklare det hele.

Jeg vil nøjes med at konstatere at self-timed kredsløb har været en lovende teknologi i ~40 år. For dem der lever i den virkelige verden er teknikken placeret på hylden over teknologi med begrænsede anvendelsesmuligheder i helt specifikke situationer.

To fase non-overlap klok har jeg stadig til gode at se i virkeligheden[1]. Man tager alle ulemperne fra et single fase system og sørger for at have dem to gange... og sådan et system er absolut ikke uafhængigt af delays...

...og sådan fortsætter det.

[1] Igen, de anvendes i helt specielle situationer. Umiddelbart kan jeg komme på switch-cap convertere og ccd shiftregistre.

  • 6
  • 0

Re: Globalisering

Det største problem, er at de fleste designere ikke har lært at lave designs som er 100% uafhængigt af forsinkelser og tid i kredsløbet. Dette giver problemer ved implementering.

Suk. Der er så mange misforståelser i ovenstående at det vil kræve mindst lige så lang en smøre som ovenfor for at forklare det hele.

Jeg vil nøjes med at konstatere at self-timed kredsløb har været en lovende teknologi i ~40 år. For dem der lever i den virkelige verden er teknikken placeret på hylden over teknologi med begrænsede anvendelsesmuligheder i helt specifikke situationer.

Self-time dteknologi er bestemt ikke uafhængige af timing - det er selftimed, og der kan være mange dele der er tidmæssigt afstemt til hindanden. Og, det er afhængigt af stigtider. Med langsomme stigtider, vil det oftest ikke kunne svinge. I self-timed kredsløb, kan enhver logisk gate være del af en oscillator, oftest en oscillator der udgøres af data og handshake.

To fase non-overlap klok har jeg stadig til gode at se i virkeligheden[1]. Man tager alle ulemperne fra et single fase system og sørger for at have dem to gange... og sådan et system er absolut ikke uafhængigt af delays...

...og sådan fortsætter det.

[1] Igen, de anvendes i helt specielle situationer. Umiddelbart kan jeg komme på switch-cap convertere og ccd shiftregistre.

Det virker til at du intet kendskab har til teknologien. Det var den eneste teknologi man brugte tidligere i sattelitter. DTU brugte ikke andet i de første sattelitter de lavede. Det skyldes netop, at det er 100% uafhængigt af enhver forsinkelse. Skal du indsætte modstande i kredsløb - dette gøres også ofte for at gøre elektronik mere robust - så er det også nemt at gøre i et 2-fase klokket system med non-overlapping klok, da det er uafhængigt af forsinkelser.

Jeg har lavet flere kredsløb på DTU med 2-faset klok.

Og nej, der er absolut ingen ulemper ved systemet.

Det som er fidusen er, at du anvender særskilt klok til slave og master flipfloppen. Denne klok er non-overlapping. Det kan sikres på forskellig måde. Normalt vil først klok 1 gå aktiv, herefter passiv, så går klok 2 aktiv, og herefter passiv. Det tager længere tid, end ved et 1-fase klokket system, men delays i de to flipflops er væsentligt mindre, og da at kredsløb ikke er begrænset af klokhastigheden, men af delay, så er det hurtigere logik du får ud af det. Dine flipflops kan ideelt set reduceres til kun to transistorer - en for master, og en for slave flipfloppen, og denne transistor integreres som del af den logik, den er indsat i. Dette medfører, at flipflops ofte ikke har en målbar forsinkelse. Det svarer til at udgangen gøres 3-state, og optimeres på logikken, medfører det ofte ikke nogen forsinkelse.

Når man anvender 2-fase klok, bruger man helst kun N-FETS til transmissionsgates i forbindelse med klokken. Det er mest stabilt, men det kræver en højere spænding på klok, i forhold til den almindelige logik.

Jeg kan ikke her gennemgå det komplette bevis for, at det er totalt tidsuafhængigt. Men, det kan bevises. Der kræves dog, at klokfrekvensen er tilstrækkeligt lav, i forhold til chippens hastighed. Til gengæld, vil den normalt være højere end ved enkeltfaset klok, fordi at der ikke er nogen delays i flipflops, andet end - højst - en NMOS transistor. Det er meget almindeligt, at man laver kredsløbene så de er differentielle omkring en differentiel latch, fordi at det er den mest stabile konfiguration. Det giver flere transistorer, og en smule større forsinkelse, men bliver så også så stabilt, at spændingen til hukommelsescellerne kan gå ned til 0V uden de taber værdien.

Det ikke er muligt, at lave flankestyret logik uden tidsafhængighed, og det er også det, som gør at det er så kritisk med hensyn til spænding, forsinkelser, modstande, transistorparametre, kapaciteter osv. Flankestyret klok er lavet for at frigive, fordi man ikke troede at det var muligt, at få større kredsløb til at fungere med flankestyret logik. Laver du en flipflop med flankestyret klok anvender du oftest 20 - 40 transistorer. Anvender du 2-fase klok, så kan bruges ned til to transistorer.

Det sjove ved 2-fase klok, er at du også kan tage et normalt kredsløb og lave om, og så forsvinder f.eks. alle dine problemer med timing hazard og klok gating. Det kan derfor også bruges til automatisk korrigering af 1-fase kredsløb, og til at gøre dem hurtigere når de implementeres.

Jeg har hørt mange der ikke har forstået noget om 2-fase klokket non-overlapping logik, og tror at det er upålideligt, langsomt, går i selvsving osv. Alt det, som det netop ikke kan, og de ulemper det ikke har i forhold til flankestyret logik. Jeg fatter ikke hvor de har lært det - men det er næppe på DTU. Måske er det teknikum eller AUC der ikke ved noget om det. Det burde være det, som man lærer først, netop fordi at det er ligegyldigt med forsinkelser, og fungerer også selvom du har ringning på dine signaler. Du kan drive det direkte med en kontakt, der har to stillinger, selvom der er ringning på. Analoge signaler der skifter langsomt, medfører heller ikke et stort strømforbrug når de går hen over skiftepunktet, fordi at det eneste de medfører er en overførsel af ladning/data. Der behøver ikke at være en inverter på, der giver en spike på strømforbruget, og som øger forbruget. Man bruger ofte kun N-FETS, da der herved ikke kommer støj fra spændingsforsyninger på klok fra invertere.

Som nævnt, så burde man undervise eleverne i beviserne for uendeligt hurtigt logik. Dette er som nævnt også væsentligt i forbindelse med programmering, og programmeringssprog, samt i forbindelse med sammenhængen mellem deterministiske programmeringssprog, og parallelle programmeringssprog der er uafhængigt af hardwaren. Ud over, at de fleste programmeringssprog er designet så der er masser af determinisme fejl, og logiske fejl, så er de også designet til at give forskellige resultater, afhængige af hardwarens hastighed. Når man lærer om deterministisk logik, og uendelig hastighed, så lærer man også, at designe sine ting, så det virker uafhængigt af ens CPU frekvens. Du kan ganske enkelt ikke lave en bench-mark test, uden at compileren nægter at oversætte koden.

  • 0
  • 7

Jeg kan ikke her gennemgå det komplette bevis for, at det er totalt tidsuafhængigt. Men, det kan bevises. Der kræves dog, at klokfrekvensen er tilstrækkeligt lav, i forhold til chippens hastighed.

Så det er tidsuafhængigt, blot klokfrekvensen er lavere en propagation delay mellem FFs...

Så kan jeg med samme sikkerhed påstå at et enkeltfasesystem er totalt tidsuafhængigt.

Verden har udviklet digital integreret elektronik i snart 60 år. Mange ting er prøvet. Og for at parafrase Thomas Nielsen - CMOS single fase klok har sejret ad helvede til.

Det kan vi så vælge at tro er på grund af en amerikansk konspiration eller vi kunne få den tanke at en lang række særdeles dygtige, vidende og erfarne mennesker er kommet til den erkendelse af det blandt alternativerne er det mindst ringe.

  • 5
  • 0

Så det er tidsuafhængigt, blot klokfrekvensen er lavere en propagation delay mellem FFs...

Så kan jeg med samme sikkerhed påstå at et enkeltfasesystem er totalt tidsuafhængigt.

Det tætteste du kan komme på 2-fase non-overlapping klok med 1-fase klok, er at du anvender flipflops der skiftevis skifter på positiv og negativ flanke, således at der aldrig går data fra en flipflop der skifter på positiv flanke, til en anden der skifter på positiv flanke. Herved opnår du, at delays i klokdistribueringen ikke har betydning for funktionen.

Men, der er stadigt problemer med lav stigtid på klok, ringning, klokgating osv. Og ser du på logikkens indmad i flipfloppen, så vil en 1-fase flankestyret flipflop altid være forsinkelsesafhængig. Prøver du at lave en transistormodel, og lægger upassende forsinkelser ind, så vil den ikke fungere, selv med en klok på 1 hz.

Ved 2-fase klok er funktionen omtrent den samme som når du anvender 1-fase klok med alternerende klokflanke. De to kloks arbejder skiftevis, og data læses ud på den ene, og ind på den anden. Det er derfor meget tæt på systemet, med at anvende flipflops, hvor udgange der skifter på høj flanke, kun går til indgange der klokker på lav flanke og modsat.

Ved at indføre to kloks, så er også muligt at indføre to forsyningsnets, således at der kun sker spændingsdrop på det forsyningsnet der hører til den pågældende klok. Dette betyder, at det forsyningsnet som holder værdien ikke får et drop i spændingen, når klokken skifter.

Verden har udviklet digital integreret elektronik i snart 60 år. Mange ting er prøvet. Og for at parafrase Thomas Nielsen - CMOS single fase klok har sejret ad helvede til.

Her kan vi ikke være mere enige!

Det kan vi så vælge at tro er på grund af en amerikansk konspiration eller vi kunne få den tanke at en lang række særdeles dygtige, vidende og erfarne mennesker er kommet til den erkendelse af det blandt alternativerne er det mindst ringe.

Det jeg argumenterer for, er at man lærer om begge dele. Skal du have forståelse for timing, så er en god idé, at haver erfaring med det.

Men, det er også vigtigt at man lærer, et 1-fase klok er afhængigt af forsinkelser, blandt andet internt i flipflops. En eksempel kan være, at man laver en eventdrevet simulator, der simulerer en nand-gate beskrivelse, af en flankestyret flipflop, og hvor der ikke tages hensyn til delays. Her vil forsinkelserne som regel være i den gale rækkefølge, og man får logik som ikke fungerer. Af samme grund, så indlægger man zero-delays i VHDL simulatorer. Ellers vil kredsløbende ikke virke ved simulering af f.eks. klokkomponenter beskrevet på nand gate niveau. Derimod vil det virke fint, hvis man bruger 2-fase non-overlapping klok, da delay, og heller ikke zero delay, dermed har problemer. En zero-delay medfører at en komponent får en delay der svarer til epsilon, men at delays stadigt afhænger af kredsløbets dybde, og det reder simuleringen af 1-fase klokkede systemer.

Det er korrekt, at du kan lave 1-fase klokkede systemer der er meget robuste. Men, det kræver som nævnt, at du anvender alternerende klok. Har du, som eksempelt et skifteregister, hvor du forbinder en rækkke flipflops med hinanden, så vil det afhænge af delays i klokdistribueringen, om skifteregisteret fungerer. Anvender du alternerende klok, får du ikke dette problem, så længe at dine klokkomponenter fungerer. Men, de er afhængige af forsinkelser, og du vil ikke kunne simulere dem på en simulator, der ikke medtager en dybde f.eks. i form af zero delay forsinkelser. Derudover ser vi ofte masser af fejl, hazard, spikes på klok mv. og fejl ved klokgating i 1-fase klokkede systemer.

  • 0
  • 6

Re: Globalisering

Man kan lave en enhed, der sammenligner de to konstruktioners opførsel, og sikre de fungerer eksakt ens.

Tillykke. Du har netop konstrueret en tredje komponent der skal implementeres, testes, verificeres, valideres og dokumenteres.

Skal vi ikke med det samme lave en fjerde der kan teste den tredje? Det er automatisk test hele vejen ned...[1]

[1] Sammenligningen med skildpadder er bevist.

Jo, det gør vi altid under udviklingsforløbet.

Du kan faktisk ikke lave en komponent uden at teste den. Af sikkerhedsmæssige årsager, så kræves der, at vi laver tests, for at overhovedet få kode ud. Compileren medtager ikke kode, der ikke er testet, men erstatter det med en trap. Og, for at lave en release, så kan der ikke være sådan en fejl. Det kan ikke oversættes.

I software, skal du aktivere enhver linje, og enhver retning, i enhver branch, hvis den skal implementeres. Det viser sig, at hvis dine tests ikke aktiverer det, så er det mere sikkert, at ikke implementere. Din compiler, vil derfor ikke oversætte ikke ordentligt testet kode, men erstatte det med en trap, som logger fejlen til en black box, og måske springer sikringen. Det er ofte den sikreste løsning, når der opstår et problem. Det er mere sikkert, at springe sikringen, end det er at udføre kode, som ikke er testet.

Og præcist det samme gælder hardware.

  • 0
  • 5

Ved at indføre to kloks, så er også muligt at indføre to forsyningsnets, således at der kun sker spændingsdrop på det forsyningsnet der hører til den pågældende klok. Dette betyder, at det forsyningsnet som holder værdien ikke får et drop i spændingen, når klokken skifter.

Det er på mange måder en temmelig tosset ide.

1) Problemet med spændingsdrop er ikke retention i dine FFs. De kan holde til ret meget.

2) Den effektive afkobling af de skiftende signaler er nu effektivt halveret.

3) Spændingsdroppet i det skiftende signal er problemet - det påvirker timing - og da der jo er en modtagende FF der på den anden klok skal bruge et stabilt datasignal er det et ret stort problem... og spændingsdroppet er qva førnævnte nu øget....

4) Der er nu indført et krav til antallet af kanter mellem knudepunkerne i din timinggraf - antallet skal nu være lige for alle stier mellem to knudepunkter, da klok fase1 og fase2 har forskellige forsyninger.

  • 3
  • 0

Det er på mange måder en temmelig tosset ide.

1) Problemet med spændingsdrop er ikke retention i dine FFs. De kan holde til ret meget.

Ja, det er korrekt. Hvis der ikke er noget som smadrer dataene. Det sker netop ikke i 2-fase klokkede systemer, da der ikke er nogen klok til begge dele. Der kan derfor være alt den støj som det vil være på den modsatte klok.

2) Den effektive afkobling af de skiftende signaler er nu effektivt halveret.

Ja, men det betyder ikke så meget. Der er også mindre logik, og klokfrekvensen er kun for den ene klok.

3) Spændingsdroppet i det skiftende signal er problemet - det påvirker timing - og da der jo er en modtagende FF der på den anden klok skal bruge et stabilt datasignal er det et ret stort problem... og spændingsdroppet er qva førnævnte nu øget....

Og igen, så er det netop vigtigt, at der ikke er timing afhængighed internt i flipflops i et 2-fase klokket system. Så længe at spændingen når op, inden at kloksignalet på den efterfølgende blok kommer, så vil der være et stabilt signal, når at klokken til denne blok skifter. Det som sker, er at vi ser en masse støj på indgangen til en blok som ikke klokkes. Men, spændingen når op, inden den klokkes. Når den klokkes, så skifter dens flipfloppe tilstand, og derfor så betyder det intet om den husker stabilt, når power signalet dropper.

4) Der er nu indført et krav til antallet af kanter mellem knudepunkerne i din timinggraf - antallet skal nu være lige for alle stier mellem to knudepunkter, da klok fase1 og fase2 har forskellige forsyninger.

Kredsløb som er klokket af fase 1, går altid til kredsløb der klokkes af fase 2. Og kredsløb, som klokkes af fase 2, går altid til kredsløb som klokkes af fase 1. Dette gælder altid uanset forsyningen.

Forestiller vi os, at du har uafhængige forsyninger, så vil en klok på den ene fase medføre et drop i den ene forsyning. En klok på den anden fase, medføre et drop i den anden forsyning. Forbinder vi de to forsyninger med hinanden, så får vi en større kapacitet, men vi risikerer også, at der går støj fra den del der tåler støj (det er den hvor spændingen dropper), og til den del der helst ikke må få støj (det er den del hvor spændingen ikke dropper). Heldigvis, så hænger det netop sådan sammen, at den del hvor forsyningen dropper, der betyder forsyningen intet. Nogle sætter endda en transistor på, og afbryder helt for forsyningen under klok, og oplader forsyningen bagefter. Eller, hiver den aktivt ned til 0V (men det kræver ekstra energi!).

Hvis vi anvender differentielle flipflops, så er det meget robust når at spændingen dropper, og en ganske lille differentiel spænding mellem de to bit og /bit, vil blive forstærket op, når spændingen kommer på igen. Og så vil det sikkert gå fint, at sætte dem på samme forsyning.

Jeg giver dig ret i, at vi hvis vi anvender samme forsyning får en større kapacitet, og et mindre drop. Men, som nævnt, så vil det introducere støj på den kritiske del fra den ukritiske del, så med mindre man anvender differentielle flipflops/latches, så kan det være risikabelt.

Man kan også anvende spændingsdroppet til at styre klokken med. Oplades den pågældende klok med en konstant strøm, så skifter vi klokken, når spændingen kommer over et vist niveau. Herefter trækker vi strøm på den anden halvdel, og denne forsynes også med konstant strøm. Så det bliver den konstante strøm, der bestemmer klokkens frekvens. En konstant strøm, kan være en fordel i mange systemer, blandt andet induceres mindre støj i tilledninger til forsyningen.

  • 0
  • 5

Jeg har lige søgt på nettet, og der fintes masser af udmærket literatur omkring 2-fase klok, og dets fordele, blandt andet klok-screw tollerance. Der er dog mange af de fordele som jeg har nævnt, de oftest glemmer - f.eks. at det (med mindre klokken laves af self-timed logik) - er helt uafhængigt af timing for komponenterne, såfremt at de er hurtige nok, samt at 1-fase klok når der bruges edge triged flipflops, er afhængige af timing. Dette betyder noget, blandt andet for strømforsyning, robusthed og meget andet. Og 2-fase klok bruges også i forbindelse med analog elektronik, hvor man anvender sinus form som klok - som jeg skrev, så er det robust overfor stigtiden, og der kan anvendes en sinus form, uden det fører til høje strømspikes i skifteøjeblikket. Dette er relevant ved klokning f.eks. i A/D konvertere. Endeligt, så kan sinus formet klok også anvendes ved at den laves med induktion, og giver et lavere energiforbrug.

En enkelt ting, som jeg til gengæld glemte - og som er væsentligt er "soft edges:" Soft edges fjerner performance overheads, fordi at timing variationer kan flyde igennem klokkede elementer. Dete gælder både dynamisk logik og latche. Dette fører til, at 2-fase klokkede og 4-fase klokkede systemer, kan opnå større hastighed. Ved et 1-faset system, vil man forsøge at lave delay på klokken, for at opnå et optimalt design. Det behøver man ikke ved soft-edges, fordi at data flyder over latchene, og de kan lægge helt op mod hinanden. Den teoretiske klokfrekvens er måske den samme - bortset fra, at 1-fase klok også medfører ekstra forsinkelser til setup og holdetider. Disse findes ikke ved soft-edges. Og, ikke mindst, så er delays og timing ikke designet på forhånd, men tager hensyn til den aktuelle chips parametre, temperatur osv. En ekstra forsinkelse i en klokcycle, kan der kompenseres for i de efterfølgende. Anvender man automatisk retiming, hvor at logikken flyttes ind imellem d-flipflops, så giver systemer med flankestyret klok fordele der svarer til, og det var derfor jeg ikke nævnte det. Men, bruges der d-flipflops som prædesignede komponenter, så har 2-fase klokkede systemer en væsentlig performancefordel på grund af der altid er soft edges.

  • 0
  • 4

Du prøver at lave sjov med os ?

Ja, hvis du kan se hvor morsomheden er placeret!

Forestiller vi os, at du opnår konstant strømforbrug, så vil du ikke have nogen spænding over din induktion i forsyningen. Det bruges meget ved analoge kredse, at man anvender en selvsvingende klok, for at opnå et konstant strømforbrug, der eventuelt ændrer sig langsomt. Nogle kombinerer det med en shunt-generator på chippen.

  • 0
  • 4

Re: Ved at indføre to kloks, så

Nogle kombinerer det med en shunt-generator på chippen.

Ah - nåhja. Sammen med emigrator-modulatoren ?

Jeg har ikke set benævnelsen emigrator modulation, men man fodrer kredsen med konstant strøm og i nogle tilfælde ledes den strøm som ikke bruges ned i jorden, hvor den skrottes. Det kan give et miljøproblem på chips. Der kan bruges en emitterfølger, til at justere spændingen.

  • 0
  • 4
Bidrag med din viden – log ind og deltag i debatten