Oproep : Van 0 en 1 tot FPGA

free_electron

Silicon Member

nog een paar maand geduld. mijn ouders zijn weg en ik heb binnekort een paar weken verlof ( om te schrijven ... )

Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM

mooi, kan ik alvast de dagen gaan afstrepen ;)

Quidquid latine dictum sit, altum viditur

Mogen we ondertussen nog voostellen doen als er ons nog wat te binnen moest schieten, of ligt de concrete vorm van het boek al vast?

- - big bang - -

Niets is zo eerlijk verdeeld als verstand: iedereen denkt er genoeg van te bezitten

Ik mis in de inhoudsopgave nog een stukje over kleine processoren in FPGA's. Dan bedoel ik geen NIOS of microblaze, maar eerder kleine processoren zoals de picoblaze (kcpsm) van Xilinx.

ik heb ook wel interesse in zo'n boek :) ik houd dit topic in de gaten

[Bericht gewijzigd door christiaan-elektro op zaterdag 13 december 2008 10:38:39 (27%)

Bezoek ook eens: www.christiaan-elektro.nl
free_electron

Silicon Member

voorstellen zijn nog steeds welkom.

embedded processoren worden kort behandeld. de 8051 core van oregano komt aan de beurt. maar dat is louter een voorbeeld. (ik heb er voor de grap ooit eens de 8052-ah-basic van intel laten op lopen.... werk te perfect)

hou er rekening mee dat het boek is bedoeld als startpunt en wel vanuit deze opgave :
- je kent niks van digitaal
- je zit nog in het ttl en cmos (74xx en 4000) tijdperk

je wilt eens weten wat een fpga is , hoe het werkt en hoe je het gebruikt. en vooral : hoe zet je een bestaand ttl systeem om in fpga en hoe kom je snel op dreef om de functionaliteit uit te breiden.

de focus ligt op digitaal ontwerp (vooral de migratie van losse poortjes naar een meer systeemgericht ontwerp), niet op het implementeren van een processorcore en daar software op schrijven.
de eerste helft van het boek is dan ook vooral basis digitaal. wat zijn de verschillende blokken , hoe werken ze , vanwaar komen ze en hoe gebruik je ze.

ik geef wel ergens een overzicht van allerhande leuke modules (opencores etc) die je kan gebruiken. je hoeft niet steeds opnieuw het warm water uit te vinden.

Ik hou het ook op Altera in het boek. dus voorbeelden met picoblaze en dergelijke zijn al uitgesloten. niet omdat xilinx slechter is , maar simpelweg omdat ik meer thuis ben in altera en de tools van altera. als ik beide moet behandelen heb ik nog een jaar nodig ... tis al jaren terug dat ik nog met xilinx gewerkt heb.ik ben toen geswitch naar altera simpelweg omdat de tools veel beter in elkaar zitten.

ook dingen zoals timing analyse en closure en modelsim laat ik links liggen. het wordt even behandeld dat dat bestaat en belangrijk is , maar voor de basis werkt het eerder afschrikkend . de interne altera simulator is vaak meer dan toereikend.

de meeste starters hebben ergens een bord met een processor en een tros glue logic. pak dat systeem en kwak het in een fpga. Je zal niks tegenkomen boven de pakweg 10 MHz... in dat geval hoef je geneens timing analyse te doen. de fpga's zijn zo snel ( we praten over een paar honder picoseconden) dat het vanzelf goed gaat.

Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM

Op 13 december 2008 11:26:41 schreef free_electron:
...10 MHz... in dat geval hoef je geneens timing analyse te doen. de fpga's zijn zo snel...dat het vanzelf goed gaat.

Oei, ik hoop dat je dat niet te hard in je boek zet. Ik heb ontwerpen gezien die net een paar MHz haalden. Als je netjes ontwerpt is dat niet aan de orde natuurlijk, maar kijk maar eens in wat topics hier wat men allemaal uithaalt in een FPGA. 20 bit counter met toggle-FF's, hang daar maar eens 30 lagen logica achter en je hebt je timing probleem al te pakken bij 10MHz.
Op zich heb je gelijk dat het nog een eind goed gaat als je netjes ontwerpt.

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein

Op 13 december 2008 11:26:41 schreef free_electron:
voorstellen zijn nog steeds welkom.

embedded processoren worden kort behandeld. de 8051 core van oregano komt aan de beurt. maar dat is louter een voorbeeld. (ik heb er voor de grap ooit eens de 8052-ah-basic van intel laten op lopen.... werk te perfect)

hou er rekening mee dat het boek is bedoeld als startpunt en wel vanuit deze opgave :
- je kent niks van digitaal
- je zit nog in het ttl en cmos (74xx en 4000) tijdperk

je wilt eens weten wat een fpga is , hoe het werkt en hoe je het gebruikt. en vooral : hoe zet je een bestaand ttl systeem om in fpga en hoe kom je snel op dreef om de functionaliteit uit te breiden.

de focus ligt op digitaal ontwerp (vooral de migratie van losse poortjes naar een meer systeemgericht ontwerp), niet op het implementeren van een processorcore en daar software op schrijven.

Juist daarom is een picoblaze (trigger even niet op de naam / fabrikant) achtige processor juist zo'n mooi voorbeeld voor in je boek. Als voorbeeld vele malen beter dan de 8051. Het is een super simpel ding waarmee je ook heel goed de grondbeginselen van een microprocessor en assembly onder de knie kunt krijgen. Er is volgens mij ook een kloon (de pacoblaze) die op iedere FPGA werkt.

om in de trant van altera te blijven misschien kort iets over de NIOS? alles is geintegreerd in quartus, dus dat maakt het weer wat makkelijker..

Quidquid latine dictum sit, altum viditur
free_electron

Silicon Member

Op 13 december 2008 11:39:33 schreef flipflop:
[...]
kijk maar eens in wat topics hier wat men allemaal uithaalt in een FPGA. 20 bit counter met toggle-FF's, hang daar maar eens 30 lagen logica achter en je hebt je timing probleem al te pakken bij 10MHz.

dat is dus het eerste wat ik eruitstamp.. je leert PROPER design. geen cascaded clock haarballen !.

@Nico.c. ik zal er naar kijken. Tis inderdaad een leuk idee. Probleem is dat ik de picoblaze niet kan draaien op Quartus :p. Ik zal die 'pacoblaze' eens bekijken. Probleem is dat me dat weer gaat tijd kosten vooraleer ik er zelf voldoende mee weg ben vooraleer ik er iets nuttigs kan over schrijven...

@danielbakker. NIOS wordt niet behandeld... dat zou een boek op zich worden. Ik heb met de NIOs een paar maanden geworsteld en hem dan weggesmeten. Dat ding is een ramp.

Je kan daar geen efficiente systemen mee maken. Het is meer een lapsus voor 'programmeurs' die liever programmeren dan zich verdiepen in digitale hardware en hardware maken.

Het is inderdaad gemakkelijk in gebruik. de config wizard doet alles , genereert een blok code , je kwakt dat in de fpga en je schrijft code (tonnen code overhead om interrupts te doen en dat dan door GCC trekken .. bweuaark, maar das weer een ander discussie. 722 clockticks om naar een interrupt te springen... en 200 om terug te keren. nee dank je.) De NIOs is ideaal om wat toezicht te houden en gimmicks zoals webservers en dergelijke , of menu interfaces. maar om echt werk te doen kom je niet onder hardware onderuit.

Let op ik haal wel aan dat die dingen allemaal bestaan , maar ik geef er geen voorbeelden mee. Alleen al een 'getting started' tutorial zou meer dan honderd paginas beslaan. ( al de screencaptures om te tonen hoe je een nios systeem i elkaar zet. tegen dat je wat io gedefinieerd hebt...) ander punt is dat je die nios niet op ene cpld kan zetten. De voorbeelden moeten beperkt blijven tot wat je kan runen op een goedkope cpld.

Het boek is een startplatform , kwestie van de smaak te pakken te krijgen , en dan zelf te gaan experimenteren.

ik let er op in het boek om geen persoonlijke meningen in te stoppen. ik blijf neutraal. Ik geef wel op bepaalde plaatsen een 'persoonlijke bedenking' ( voorbeeld : karnaugh kaarten .. na de uitleg staat er dat niemand dat nog gebruikt. das een wiskundige gimmick. verspeel er geen tjd aan. )

enfin.

ik ben aant schrijven.

Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM

Op 13 december 2008 22:05:52 schreef free_electron:
ik let er op in het boek om geen persoonlijke meningen in te stoppen. ik blijf neutraal.

Woehoei! Das nieuw! :)

If you want to succeed, double your failure rate.

Hahaha. Same thought here :-) Maar het is een mooi streven.

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein

Op 13 december 2008 11:26:41 schreef free_electron:
voorstellen zijn nog steeds welkom.

Wel, hier een voorstelleke wat misschien mee kan opgenomen worden: PRBS ofwel Pseudo Random Bit Sequence. Gene hoop moeilijke rekenboel maar een digitale bitreeks opwekken met een randomkarakter door teruggekoppelde schuifresisters, terugkoppeling door EXORpoorten op strategische plaatsen. Ik denk dat je zoiets met voldoende snelheid en met genoeg terugkoppelingen op een FPGA kan laten lopen om een mooi egaal ruisspectrum te bekomen.
Er staat ook wat over in de Art of Electronics maar is zeer interessant voor een boek over digitale.

- - big bang - -

Niets is zo eerlijk verdeeld als verstand: iedereen denkt er genoeg van te bezitten

Je bedoelt een PN generator? Ik denk dat dat in 6.5 want het CRC berekenen doe je ook met een PN generator.

PS, ik word zelf overigens in 8.2 behandeld. DE flipflop :-)

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
free_electron

Silicon Member

prbs wordt behandeld , maar niet het ontwerpen van een PRBS. dat alleen is en heksenketel ...

Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
bprosman

Golden Member

Vincent,

Ga je ook een bepaald ontwikkelbord noemen waar je je op gaat baseren ?

Groeten, Bram

De jongere generatie loopt veel te vaak zijn PIC achterna.

Op 14 december 2008 22:46:54 schreef flipflop:
Je bedoelt een PN generator? Ik denk dat dat in 6.5 want het CRC berekenen doe je ook met een PN generator.

Neenee, gene pariteitgenerator, tis een randombitgenerator voor ruisopwekking.
Vincent: ok, merci hé.

- - big bang - -

Niets is zo eerlijk verdeeld als verstand: iedereen denkt er genoeg van te bezitten

Een CRC generator is feitelijk ook een PN generator (kijk maar naar het logische schema). Als je een CRC generator voedt met een vast level, krijg je een "random" bitstream op alle FFs. Maar goed, de toepassing is anders dus een apart chapter is niet verkeerd.

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
free_electron

Silicon Member

oef er zijn weer wat posts bijgekomen.
PRBS geef ik ene paar voorbeelden van ( maar geen mathematische uitwerking. )

crc ... pfff weet niet of ik dat ga behandelen. dat moet ik even bekijken. das al geavanceed spul.,

ontwikkelbord. Elektuurbord ( natuurlijk. ) en ook het bkleine cpld terasic bordje. dat kost een habbekrats en je kan er vele mee.
ik heb een tijdje met het idee gespeeld zelf iets te maken op basis van een kleine cpld of fpga, maar tegen dat je klaar bent kost het weer al meer dan dat ding van terasic. en dan heb je alleen maar een programmertje wat op printerpoort werkt ... veel mensen hebben geen printerpoort meer.
dat terasic ding heeft de programmer ingebouwd, ne je ken de progger ook naar buiten brengen om je eigen borden te proggen. dus je vangt 2 vliegen in 1 klap.

[Bericht gewijzigd door free_electron op dinsdag 16 december 2008 21:52:52 (21%)

Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
free_electron

Silicon Member

>:)

http://www.uploadarchief.net/files/download/cover.png

vooraleer de vragen rondbarsten : ik ben nog bezig eraan. ik heb 2 weken verlof nu en Word kan haast niet volgen ( de spellchecker dan :p )

Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
Quidquid latine dictum sit, altum viditur

Chique, klasse!
Ik hoop alleen dat die uitgever nu voor een hardcover gaat. Een mooi cadeautje voor in 2009!

- - big bang - -

Niets is zo eerlijk verdeeld als verstand: iedereen denkt er genoeg van te bezitten

waar kunnen we hem alvast pre-orderen? >:)

IF you can't convince them, then confuse them!
free_electron

Silicon Member

hahaaa
Ik zal vragen of hardcover kan. das eigenlijk geen slecht idee. het drijft de kosten wel omhoog.

wat je ziet op de cover is een wafer met Pentium II processoren. gofotgrafeerd door mij in het Intel Museum hier in Santa Clara.
Dat schema is gewoon een dummy wat lijkt op een FPGA matrix binnenin gemaakt in Altium en dan gewarped met Paintshop Pro. Dat schema wimpeld verder over de achterkant trouwens.

De waveform is een capture van de Quartus simulator op een van de voorbeelden uit het boek. opnieuw gewarped in Paintshop

De PCB is gewoon de 3D renderer van Altium losgelaten op een van mijn oude borden. En dan even 'blue soldermask' aangebracht :P
Daardoor staat een klets verilog code.

De backdrop is dezelfde floodfill als van mijn visual basic boek maar dan in paats van indigo met red gevuld.

ik was in een creatieve bui deze morgen (was aan het wachten op de download van quartus 8.2. miljaar. meer dan 1 gigabyte ... )

Nu is het eerst kerstfeest. Morgen post ik wel ene update van de inhoudstabel.

Dingen die ik de laatste 2 dagen bijgeschreven heb en nieuw zijn

- interface met de buitenwereld. 15 bladzijden. over protectie van in en uitgang , esd protectie , oversapnning / stroom , galvanische iolatie / optocouplers ,voedingen maken , powerstages maken. push pull drivers / uln en udn en half en full bridges.

- er komt een extra hoofdstuk over 'analogische' circuits.
delay genratoren met r/c r/c diode. monoshot (123 en 121) , oscillatoren ( rc , xtal ) en de 555 in een aantal toepassingen.

- hoofdstuk over synthese talen is ook al af
palasm , cupl, abel , ahdl , verilog en vhdl , werking van een synthesizer en synthese problemen

- verilog in ene notedop ( half af. een 30 tal paginas )

- vhdl in ene notedop ( moet ik nog aan beginnen )

- pwm en brm generatie

kent er iemand een leuk progje om karnaugh kaarten te maken. ? het kost verrekte veel tijd om die kaartjes te tekenen... als ik screenshots kon maken ... der kruipt ongelofelijk veel tijd in de illustraties.

Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
bprosman

Golden Member

Visio ?
Kan ik ook een gesigneerde versie bestellen ? ;-)

Groeten, Bram

[Bericht gewijzigd door bprosman op donderdag 25 december 2008 02:45:23 (50%)

De jongere generatie loopt veel te vaak zijn PIC achterna.