Oproep : Van 0 en 1 tot FPGA

free_electron

Silicon Member

die laptop staat niet aan ( hopelijk )

een laptop die in sleep staat en door rontgen gaat kan zijn ram corrupt hebben.

in het beginstatdium van de drams ( toen keramsiche verpakkingen werden gebruikt ) hadden ze daar regelmatig last van. die keramishce verpakking durfden 'stralen'.

die kosmische straling is de oorzaak dat voor mission critical spul in ruimtevaart nog steeds ferrietkern geheugen gebruikt wordt.

en voor aeronaitica zijn er rad-hard componenten. ( radiation hardened : die zijn afgeshield en ook speciaal ontwikkeld om tegen een toevallig passerend deeltje te kunnen

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 3 december 2006 22:10:36 schreef stecj366:
....
Maar het gaat eigenlijk helemaal niet daarom welke taal je kiest, het is hoe je ze gebruikt. Je moet goed weten wat synthetiseerbaar is, en wat niet. Je moet goed weten wat het synthesetool van bepaalde constructies zal genereren.
....
Al deze zaken zijn even goed te verklooien in alle talen, daar ben ik zeker van. Het is dus goed opletten geblazen met WAT je schrijft, en dat je er rekening met houdt dat je geen programma schrijft, maar HARDWARE. Dat is het essentiele. De taal die je dan gebruikt doet er dan totaal niet toe.
....

Dit vind ik een van de sterkste posts in dit topic! De taal doet er voor geen meter toe. Inderdaad, een Verilog source is een stuk korter dan de VHDL equivalent. ECHTER, het coderen (lees: typen) kost je maar een heel klein deel van de tijd in het hele design proces. Het uitdenken wat en hoe je het gaat maken, en vervolgens het testen, kost vele malen meer tijd. Dit geldt voor professionals maar ook in de hobby.

Ik heb voor mijn beroep zowel VHDL als Verilog gebruikt (de laatste nog steeds) en de projecten duurden met Verilog echt niet minder lang dan toen ik VHDL gebruikte.
En dan nog dit: VHDL wordt niet alleen in de militaire en ruimtevaart gebruikt. Het is meer de verdeling Europa=VHDL en US=Verilog. Als voorbeeld: alle grote telecommers in Europa gebruiken VHDL (Ericsson, Nokia, Siemens...). Philips gebruikt beide.

Als ik mocht kiezen, geef mij maar VHDL.

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

Ik ben eigenlijk op zoek naar een mooie grote chip van Altera, ik kom uit het tijdperk Maxplus 2 en heb de hele zooi van mijn oude baan kunnen meenemen incl chips en programmers en ik heb vandaag wat oude ontwerpen door Quartus heen gehaald. Ziet er goed uit, alleen ik kan nog niet zo goed bepalen wat een mooie opvolger zou zijn.

Ik heb net gisteren een projectje Nixieklok afgemaakt in Altera chips EPM7128, pff was een hele klus.
Maar, het is een op zichzelf lopende klok, met de hand te zetten door de blauwe led onder de goede buis te laten knippen en de teller te verhogen, er zit een tijd/datum DCF77 decoder in om de klok goed te zetten, de tijdbits pariteit word gecontroleerd en alleen dan word de klok gesynchroniseerd. De eerste buis is uit te zetten wanneer ie nul is, (strapje leading zero off). de klok gaat uit tussen 1-6 uur smorgens (door knopje in te drukken gaat ie weer even aan). En met de geweldige mooie IN-18 nixiebuizen uit rusland.

Wie van al dat moois wilt genieten, de pics zijn in een klein zipje te downloaden.

(2.64MB)

http://hoog3827.speed.planet.nl/circuits.zip

(83MB filmpje van de klok die op DCF77 tijd springt)

http://hoog3827.speed.planet.nl/MVI_6235.AVI

Maar wie weet er een mooie opvolger ? deze 3 chips moeten met gemak in een nieuwe variant passen...

Op 4 december 2006 23:07:35 schreef free_electron:

die kosmische straling is de oorzaak dat voor mission critical spul in ruimtevaart nog steeds ferrietkern geheugen gebruikt wordt.

en voor aeronaitica zijn er rad-hard componenten. ( radiation hardened : die zijn afgeshield en ook speciaal ontwikkeld om tegen een toevallig passerend deeltje te kunnen

je wilt dus zeggen dat lifesupport op iss gebruik maakt van een grote plaat met kraaltjes en draadjes......phoe....toen ik een jaar of 6 geleden op een stage een opslag hok moest opruimen (was mooi werk voor de hobby trouwens) en ik kwam in de kantine aan op een dag met een plaat ferrietkern geheugen wat ik gevonden had.
wist:
1 - menig medewerker niet wat het was.
2 - vonden de proffesors (was een uni) het heel al een wonder dat ik het herkende als geheugen.

Op 23 december 2006 23:50:22 schreef Manta79:
Ik ben eigenlijk op zoek naar een mooie grote chip van Altera, ik kom uit het tijdperk Maxplus 2 en heb de hele zooi van mijn oude baan kunnen meenemen incl chips en programmers en ik heb vandaag wat oude ontwerpen door Quartus heen gehaald. Ziet er goed uit, alleen ik kan nog niet zo goed bepalen wat een mooie opvolger zou zijn.

Ziet er mooi uit! (filmpje is nog bezig, wel een enorm bestand zeg). Ik zou kijken hoe ver je komt met een IC uit de MAX II serie. Naar mijn idee zou zo'n klok toch niet heel veel logica moeten innemen dus waarschijnlijk kan je wel met een van de kleinere toe. Probeer quartus eens op een van de MAX II devices te zetten en kijk hoeveel logic elements je nodig hebt.

free_electron

Silicon Member

max Ii.

een heel stuk groter dan den epm7xxx familie
in een 1270 stamp je al heeeeel wat hoor

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

Yep das inderdaad een hele mooie keuze, ik heb net 1 design van een EPM7128 (90% vol) in een EPM570T144C5 gestopt (15% vol) en in een EPM1270T144C5 (7% vol), deze zijn 18 dollar en 24 dollar. Laatste lijkt mij een logische keuze, voor iets meer veel meer ;-)

Voor prototyping is dit niet een makkelijke behuizing TQFP144, iemand ervaring met deze adaptors ??:

http://www.crownhill.co.uk/product.php?prod=1232

Turbokeu

Golden Member

Op 24 december 2006 00:36:35 schreef Jan klaasen:
[...]

je wilt dus zeggen dat lifesupport op iss gebruik maakt van een grote plaat met kraaltjes en draadjes......phoe....toen ik een jaar of 6 geleden op een stage een opslag hok moest opruimen (was mooi werk voor de hobby trouwens) en ik kwam in de kantine aan op een dag met een plaat ferrietkern geheugen wat ik gevonden had.
wist:
1 - menig medewerker niet wat het was.
2 - vonden de proffesors (was een uni) het heel al een wonder dat ik het herkende als geheugen.

Ik heb nog een paar 32KBit x8 ferrietkerngeheugens (printen van 1.5x A4) liggen van Datatherm.
Kostten in 1978 zo'n 5000 Euro aankoopprijs...

CD :)

I love watching conspiracy theorists use the airtight logic of the argument from incredulity: "Well I don't understand how it works so it can't be real!!!"

Quartus lijkt lekker te werken.

Ik heb besteld
6 x EPM1270T144C5 134 euro bij Digikey
2 x BE458 bij conrad bestellen (er zitten 3 x TQFP 144 naar PGA adapters op) a17 euro en nog wat andere rommel ;-)
1 x Byteblaster MV (ebay 16 euro)

De EPM1270T144C5 is een 3,3V device (maximaal), dus kan TTL aansturen.
5 volt inputs met een serieweerstand, cmos aansturen ook weer met pullup. Lees goed de PDF van deze devices.

[Bericht gewijzigd door Manta79 op 25 december 2006 00:43:04 ]

Goed opletten idd met de spanningen, kijk ook of die programmer wel op 3.3V werkt (zal wel maar toch, je ziet soms dingen met 5V buffers). En dacht dat de GT veries (die met externe 1.8V voeding erbij) geen 5V mochten aan de ingang, maar dat weet ik niet zeker meer. Je hebt de T versie gekozen dus dat moet geen probleem zijn.

Weet trouwens niet waar je ze wilde bestellen maar als je buyaltera.com wilde doen, kijk dan even bij digikey NL. Die heeft ze tegenwoordig ook, daar zijn ze euro 19,50 EURO ex BTW (23,nogwat inclusief) maar heb je vast 18 euro verzendkosten wat meestal veel goedkoper is dan buyaltera.com en dan ook nog eens UPS ipv USPS. Wel minimaal 100 euro bestellen wil je niet extra kosten hebben.

Je bent net op tijd, was nog bezig bij conrad ;-)

Digikey NL tnx

Op 24 december 2006 22:02:23 schreef Manta79:

1 x Byteblaster MV (ebay 16 euro)

Heb je echt die MV nodig? je kunt ook een "gewone" blaster maken. Kost je bij elkaar een euro of 3.

Op google staat er vast wel wat informatie, en je hebt het zo opgebouwd op een stukje breadboard. Als je een buffer ictje gebruikt (ala 74240) dan is die in zekere zin ook multi volt (3.3 en 5 volt gaan prima).

free_electron

Silicon Member

juist. als je gewoon een 74lcx244 gebruikt issie zo klaar.
schema kan je downloaden bij altera ( is ene pdf file )

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

Hi allemaal,
Ik ben nieuw op dit forum, vandaar eerst even voorstellen:
Ik ben fotoopa, woon in Belgie, ben vooral actief op foto gebied maar ben ook heel actief op hardware, vooral zelfbouw en heb al heel wat jaren ervaring achter de rug met de Altera chips. Ik heb al heel wat projecten gedaan met deze componenten, vooral voor industrieele toepassingen maar ben intussen op rust en ik gebruik nu de Altera cyclone chips voor mijn hobby als fotografie vooral highspeed toepassingen en vliegende beestjes.
de resultaten kun je zien op mijn pbase account:
hier de opbouw van een controlbox voor alle hardware functie's:
http://www.pbase.com/fotoopa/image/64246709
Zo ziet er de onderkant uit, gesoldeerd met gewone middelen en soldeerbout, geen speciale componenten:
http://www.pbase.com/fotoopa/image/72036930
En het uitgeruste toestel:
http://www.pbase.com/fotoopa/image/64246714

Maar er staat veel meer op mijn pbase account die je kunt vinden op
http://www.pbase.com/fotoopa

Maar nu genoeg hierover, ik wil hier aangeven dat je heel mooie dingen kunt maken op dergeljke manier.
Mogelijks kan ik hier ook wat mee praten over bepaalde problemen. oh ja ik gebruik geen moeilijke programmeer technieken voor de cyclone, gewoon alles tekenen in Quartus met de klassieke logica hardware symbolen, samen voegen tot verschillende mooie bibliotheken, en laten werken. Ik ken geen C om software te programmeren ik hoef dus ook geen simulatie chip zoals een of andere microprocessor, nee gewone eenvoudige logica die samengevoegd de meest complexe schakelingen produceert. Zo zit ook een LCD display van 2x16 characters op mijn bordje, een numeriek keybordje enz. Deze zijn als kleine lib gemaakt en met 1 druk op de knop inzetbaar om mee te compileren. En mijn toestel is draagbaar in de field en werkt op 6x AA batterijen.

Dus ja mogelijks is dit een thema om verder over te praten en ervaringen te delen.

Frans.

Nog een oude Altera gebruiker, ik heb nog even gekeken en ik ben in mijn stage begonnen in 1989 met een LP4 board van Altera met Aplus als software op een 80286. Ep1210, Ep300,EP600, EP900, EPS448. Ik heb de LP4 ISA programmerboard (no 665) en programmeerboxen nog ;-).

Maar prachtige bouwsels ! Ik ben een half programmeer en half tekenaar, soms is een poortje hier en daar makkelijke dan een code aanpassen...

P.S gisteren 6 x EPM1270T144C5 besteld en vandaag al onderweg naar NL.. dat is snel ! kan bijna niet wachten..

P.S Zeer indrukwekkende foto's worden met dit apparaat gemaakt fotopa ! ik ben erg onder de indruk.....

free_electron

Silicon Member

ik werk ook meestal met de schematic capture. voor een complex ding schrijf ik wat verilog mdat dat minder werk is ( meestal dan toch , alst direct wil synthetiseren ... )

maar de toplevel is nog steeds schema hoor.

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

@fotoopa: indrukwekkend spul allemaal, prachtige foto's ook!

Zelf kom ik juist wel van de microcontroller/programmeerkant af en ben ik wat met Verilog gaan proberen. Dat is in het begin even wennen omdat je hardware zit te programmeren ipv software. Maar op zich goed te doen en Verilog zit duidelijk in elkaar. Alleen dat begin/end gedoe is irritant als je de veel kortere {accolades}-syntax gewend bent, je gaat ook veel eerder de fout in met missende begin of end keywords, missende accolades merk je veel sneller op.

Top level is dan nog een schema die de verschillende verilog modules aan elkaar hangt, maar ik gebruik geen losse poorten of 74xx series oid. Zoiets dus:
http://img226.imageshack.us/img226/9619/topii2.th.png

@Manta79: lekker snel ja UPS :) Heb het tot nu toe altijd binnen 2 dagen gehad.

Er zitten toch nog wat hardware mensen blijkbaar! Hoe je tot bruikbare oplossingen komt speelt eigenlijk weinig rol, als het maar werkt. Voordeel van die Quartus software is dat je alles kunt combineren en op het hogere niveau voel je gewoon niet meer hoe het daaronder geschreven is.

Mijn eerste versie voor de hobby was nog een prototype print van mijn vroegere activiteit maar ik ben dan overgegaan naar een bestaande module als basis. Mijn basis module komt van:
http://www.ebv.com/en/products/development_boards/db1c6_144.html

inclusief de ByteBlaster MV.

Die bevat een EP1C6 FPGA en de meeste I/O pinnen zijn beschikbaar aan de omtrek die je dan via gewone pinnen verder kunt verdelen.

Die EPM1270T144C5 van Manta79 is ook een mooie device. Mogelijks net ietjes te klein voor mijn huidige toepassing, alhoewel ik het eerst eens zou moeten compileren om dit juist te weten. De behuizing van de chips is meestal een praktisch probleem, vandaar mijn keuze voor die opbouw module. Ik heb ook al gewerkt met die verloopprintjes want die hadden we in ons labo ter beschikking, toch blijft het fijn werk om de chips erop te solderen, maar het gaat.

De meeste logische elementen die bij mijn toepassing gebruiktworden komen van de LCD display module. Daar zitten nogal wat functie's in, ook al omdat cursor en blinking ook ondersteunt is. Op het hoger niveau is het gewoon een blok waar je de 32 character waarden aanbied. De rest verloopt transparent.
Ik gebruik heel veel timmingen met precieze 5 digit instellingen. Veel van die tijden kunnen via het keyboard gewijzigd worden.
Mijn toepassingen vragen nogal wat snelheid. Vandaar dat het electuur project niet al te best geschikt zou zijn omdat I2C uitgangen te traag zouden zijn. Ik stuur mijn laserpointer gepulst aan, in een cyclus van 32 usec zo kan ik beter digitaal filteren maar ook meerdere lasers op 1 ontvangen plaatsen omdat ze gemultiplexst zijn.
De hoge spanning voor mijn magneet ( 150V) wordt ook via een PWM uit de Altera gestuurd waardoor hij ook instelbaar is. Enfin een blokschema van het geheel vindt je op:
http://www.pbase.com/fotoopa/image/64246711

Spijtig dat ze de PLCC versie's nauwelijks nog ondersteunen. Soms heb ik nood aan kleine versie's, zeer goedkoop en toch nog wat logische elementen erin. Ik heb heel veel vraag naar iets eenvoudiger uitvoering van mijn controlbox.
De keuze van de cyclone chip is vooral om alle toekomstige problemen te kunnen oplossen zonder opnieuw te moeten gaan solderen in de box. Vandaar dat er meerdere lasers kunnen aangestuurd worden. Ongeveer 95 I/O pinnen zijn aangesloten. De huidige bezetting van mijn chip is 1180 elementen of 20% en 85 I/O's zijn gestuurd.

@free_electron,

Ik heb het ganse topic eens rustig gelezen en moet toegeven dat het schrijven van zo een boek heel veel inspanning vraagt. Ook niet te onderschatten is de grondige technische kennis die hiervoor nodig is en die je blijkbaar grondig beheerst. Proficiat met dit mooie initiatief!

Ik zie hier ook heel wat discutie's over de gebruikte middelen om tot een oplossing te komen. Ik denk echter door Quartus te gebruiken als basistool je voor iedereen een gepaste oplossing aanbied. Hoe je het onderliggend niveau oplost speeld weinig rol, je bekomt in alle gevallen een functionele blok waar je aan de ene kant je ingangen aanbied en aan de andere kant de resultaten verwacht. Iedereen kan zich gemakkelijk vinden in zijn eigen programmeer omgeving welke keuze hij dan ook maakt. En een werkende functioneele blok overnemen gemaakt in een andere toepassing is dan ook geen enkel probleem.
Zoals reeds aangehaald gebruik ik heel veel schema entry maar vele bloks worden ook gemaakt via de macro wizard. Vooral tellers, adders, dividers,shiftregisters enz worden altijd hiermee gemaakt. Dekoders worden heel veel in AHDL gemaakt maar dit kan evengoed in VHDL of verilog. Terwijl vb een 7 segment dekoder een simple lookup tabel is, terug in AHDL.

Wat ik echter heel belangrijk vind in het ontwerp is de methode om synchroon te werken, om de negatieve effecten van looptijden en gliches te vermijden, om je design betrouwbaar te maken en tevens de hoogst mogelijke frequenties te halen uit je bouwsteen. Chips zoals de cyclone of cycloneII en alle recente ontwikkelingen zijn daarop gebaseerd, bevatten daarom zoveel logische elementen. Je moet dan ook niet bang zijn om eerst je ingangen te synchroniseren op de werkclock alvoorens deze signalen te verwerken. Daardoor bekom je betrouwbare signalen die nauwelijks nog afhangen van looptijden of waarvan je de looptijden vooraf kunt bepalen hoe groot ze mogen zijn.

Ik gebruik heel veel de wizard, zoals op dit voorbeel van een PWM. Ik wou een PWM gebruiken om een instelbare spanning te maken tussen 0 en 250V. maar ik wou ook dat de waarde die ik aanbood overeen kwam met de bekomen spanning, dus 150 waarde moest 150V bedragen. Om dit op te lossen heb ik 10 bit tellers gebruikt waarvan de max gebruikte waarde overeen kwam met de bekomen analoge spanning bij 100% PWM uitsturing. Toen de schakeling gemaakt was blijk dat 100% PWM overeen kwam met 276V. Ik heb dus de grenswaarde van de 10 bit teller via een constante vastgelegd op 276 en op de variable ingang mag ik nu waardes aanbieden tussen 1 en 276. Hierdoor bekom is als laagste waarde 1V en als hoogste waarde 276V. Er is ook voorzien in een enable signaal die de uitgang kan af leggen zodat die dan 0V bedraagd. Deze schakeling is op enkele minuten te maken met de wizard. Hierbij het schema:

http://users.skynet.be/fotoopa/fpga/pwm1.png

Zo zou ik nog een heleboel kleine deelschakelingen kunnen geven zoals vb het klaviertje van 16 toetsen in een 4x4 matrix. De toetsen worden gescant en aan de uitgang wordt de numerieke waarde aangeboden samen met een keyboard signaal. Is ook een kleine module overal in te passen en te gebruiken, gewoon mee compileren. Dit zijn heel kleine deeltjes van een globaal project van mijn gestuurde camera en laser systeem.

Zeg even een vraagje, ik heb 6 keer een EPM1270T144 FPGA van Altera besteld bij Digikey.nl...

Als ik iets op een NL site bestel is het dan niet raar dat ik bovenop de 135 euro nog eens aan de deur 25,65 euro invoerrechten moet betalen ??

By the way, ik heb de (nixieclock) 3 Max Epld EPM7128LC84 nu in de EPM1270T144 zitten...smd socket al aan het solderen..
En dan kan ik nog 80% leuke dingen er bij stoppen, dus aan de gang met een DutyCycle temperatuursensor, Wekkerfunctie, instelbare "nixiebuis uit tijd" ipv vast, DCF77 sync tijdframe, ook datum parity controle en hand instelbaar maken ipv alleen DCF77, PWM hoogspanning regelen, LDR dim functie en wanneer de klok uit staat aan laten gaan door een infrarood oogje die reageert op wat voor een afstandbediening dan ook. EEprom voor instellingen ?? etc..

Op 16 december 2006 20:33:31 schreef flipflop:
[...]

Dit vind ik een van de sterkste posts in dit topic!

Dank u :)

De taal doet er voor geen meter toe. Inderdaad, een Verilog source is een stuk korter dan de VHDL equivalent.

Dit gaat enkel op bij kleine ontwerpen. Als je een grote file zou hebben (wat eigenlijk niet zo schitterend is, je moet partitioneren waar het kan) maken die paar regels overhead (declaraties van al de meu) niet zo veel uit.

ECHTER, het coderen (lees: typen) kost je maar een heel klein deel van de tijd in het hele design proces. Het uitdenken wat en hoe je het gaat maken, en vervolgens het testen, kost vele malen meer tijd. Dit geldt voor professionals maar ook in de hobby.

Ja inderdaad. Simuleren op de verschillende niveaus (RTL, Gate, Netlist) kan mischien saai en tijdrovend zijn, maar geeft uitsluitsel over vele vragen die anders niet echt op te lossen zijn... Want je kan nu eenmaal niet in de FPGA gaan meten (ja, niet iedereen heeft een Chipscope Pro, inclusief mij... hoewel ik hem wel wil :))

En daarnaast mag je de realiteit nooit uit het oog verliezen... Ik heb ooit eens de fout gemaakt een compleet systeem te schrijven (ADC uitlezen, data bewerken en die dan in processor zijn geheugen schrijven). In simulatie werkte dat allemaal zo mooi. Dan synthetiseer je dat, en poef, er gebeurt niets. De oorzaak was dat het uitlezen van de ADC al fout ging, en de rest vh systeem dus bagger binnen kreeg. Moraal: test veel, heel veel...

Ik heb voor mijn beroep zowel VHDL als Verilog gebruikt (de laatste nog steeds) en de projecten duurden met Verilog echt niet minder lang dan toen ik VHDL gebruikte.
En dan nog dit: VHDL wordt niet alleen in de militaire en ruimtevaart gebruikt. Het is meer de verdeling Europa=VHDL en US=Verilog. Als voorbeeld: alle grote telecommers in Europa gebruiken VHDL (Ericsson, Nokia, Siemens...). Philips gebruikt beide.

Als ik mocht kiezen, geef mij maar VHDL.

Mij ook, ben eigenlijk te lui om Verilog te gaan bekijken...(ik herken verilog wel, en heb dat ook wel al eens grondig bekeken, maar om nu zelf van scratch iets te gaan schrijven, nee daar gaat te veel tijd in kruipen) Ik ken nu al redelijk tot vrij goed VHDL, en wat de sythesetools ervan maken, wat niet mag, wat wel, ...

Sonar is meer dan Ping...
free_electron

Silicon Member

Op 28 december 2006 22:00:54 schreef fotoopa:
@free_electron,

Ik heb het ganse topic eens rustig gelezen en moet toegeven dat het schrijven van zo een boek heel veel inspanning vraagt. Ook niet te onderschatten is de grondige technische kennis die hiervoor nodig is en die je blijkbaar grondig beheerst. Proficiat met dit mooie initiatief!

kzit halverwege nu ... :p
tegen eind maart zou die moeten af zijn. ik ben hem aant herlezen van voor af aan en stukken aant toevoegen , verpaatsen en dergelijke om er een duidelijker lijn in te steken.

Quartus

ik heb daar niet lang moetne over nadeneken. op het werk geruik ik zowel quartus als ISE ( van zie-links ... )
quartus is veeeel makkelijker om mee te beginnen. de drempel is een stuk lager en twerkt vlotter ook.

bovendien heb je schea/verilog/vhdl/ahdl mogelijkheden en kan je alles door elkaar gebruiken.
en de grote dooddoener is dat de ganse ttl ( 74xx) familie erin zit. dat maakt dat voor mensen die met ttl en cmos spelen de overgang naadloos wordt ; effe je schema met de vertrouwde blokken intekenen en go.

Dekoders worden heel veel in AHDL gemaakt maar dit kan evengoed in VHDL of verilog. Terwijl vb een 7 segment dekoder een simple lookup tabel is, terug in AHDL.

awel dat doe ik nu ook zie. je kunt gewoon een table maken in ahdl zonder vele tralala errond en -waf- decoder is klaar... maar das het enige waar ik ahdl nog voor gebruik.

[/quote]Wat ik echter heel belangrijk vind in het ontwerp is de methode om synchroon te werken
[/quote]

na de asynchrone tellers ( die moet je even meegeven om de boel compleet te houden ) verlaat ik die asynchrone wereld. ik gebruik in de rest van het boek alleen nog synchroon spul. ( je kan wel verschillende klokdomains gebruiken maar binnen 1 domain loopt alles synchroon. veeeeel voorspelbaarder. )

trouwens ik besteed vele aandacht aan delay in poorten. zo is de 4x4 multiplier ( met poorten gemaakt, dus niet sequenteele maar volledig combinatorisch ) leuk om te zien hoe die uitgangen 'dansen' voordat de echte waarde er staat.

en dan maak ik de multiplier via een LUT. -waf- 100 keer sneller en geen gedans meer.

das een zwaar punt in gans het boek : het leren 'anders' denken. veel dingen die je oplost met een combinatorisch blok zijn veel sneller te implementeren door middel van LUT ( look-up table). maar helaas kan dat alleen in FPGA. die techniek is niet toepasbaar ( toch niet praktisch , je hebt veel te veel chipjes nodig) op klassiek logica

ditto voor het maken van 'vreemde' tellers bijvoorbeeld 1-3-4-6-7-9-0-2-5-8

begin maar hoor. ik leg die method ook uit maar tis veeeeeel simpeler om een gewone simepel teller te maken met 4 flipflops en daar ene lut achter te plakken. in een minut ben je klaar. tegen dat je de logica uitgebvlooid hebt om een teller in die sequence te laten tellen ..... ben je een halve dag verder. en dan komt er een ambetanterik af . oei 'tmoest 7-6-9 zijn ... whaaaaaaaaaa....
Met dat lut mechanisme: twee cijferkes omdraaien, kladedder: klaar.

Ik gebruik heel veel de wizard, zoals op dit voorbeel van een PWM.

hmmm dat ontbrak nog.. kzal maar een paar hoofdstukken bijschrijven over de wizard zeker ... :p

[/quote]Zo zou ik nog een heleboel kleine deelschakelingen kunnen geven zoals vb het klaviertje van 16 toetsen in een 4x4 matrix.
[/quote]

dat gebeurt ook in het boek. in plaats van 'onnozele' voorbeelden geef ik direct practische voorbeelden.

aan het eind van het verhaal heb je dan een hoop blokken die je zo kunt gebruiken , waaronder een keyboard scanner , een display multiplex driver en nog ene nest ander spul.
er wordt veel aandacht besteed aan het modulair maken van ene ontwerp.

bij het werken met een FPGA hoef je niet op ene poortje meer of minder te kijken. die dingen zijn 1) grooot genoeg en 2) de synthesizer minimaliseert alles toch .

ik leg in het begin KV en QM uit alsook booleaanse logica ( daar begin ik mee ) en als laatste zinn van dat hoofdstuk staat er ; als je met FPGA werkt mag je dit allemaal terug vergeten. de synthesizer doet dat veel beter, veel sneller, en vooral veel foutlozer dan jij dat ooit gaat kunnen. dus tek het u niet aan als het niet helemaal duidelijk is.

er wordt ook aandacht besteed aan het leren 'denken' in termen van poorten. met name ands- vervangen door NOR's en schuiven van invertertekens en dergelijke. met ander woorden pratische machismen om het denken eenvoudiger te maken.

ik persoonlijk haat et werken met geinverteerde en niet geinverteerde signalen. die ingang s actief laag , die actief hoog en op den duur is het zo een soep ... zet daar om te beginnen direct een inverter en maak alles 1 active-level. dat werkt een stuk vlotter. en opnieuw de synthesizer werkt dat direct weg. trouwnes wat er uiteindelijk IN de fpga staat is soms heeeel verschillend van wat je daar getekend hebt. maar het doet wel het zelfde.

enfin. genoeg geklets. k'ga verder gaan schrijven. er van profiteren van de 3 dagen dat ik thuis ben om er nog ene hoofdstuk of 2 uit te persen voor dat we 2007 zijn :)

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

Ja inderdaad. Simuleren op de verschillende niveaus (RTL, Gate, Netlist) kan mischien saai en tijdrovend zijn, maar geeft uitsluitsel over vele vragen die anders niet echt op te lossen zijn... Want je kan nu eenmaal niet in de FPGA gaan meten (ja, niet iedereen heeft een Chipscope Pro, inclusief mij... hoewel ik hem wel wil :))

Bij probleem gevallen breng ik nogal eens een paar extra signalen naar buiten en meet die dan met mijn scoop. Vroeger op het werk hadden we de Logic analyser, dat was nog beter. Mijn ontwerpen zijn altijd standaard voorzien van enkele meetpinnen waar ik de signalen kan aftappen. Je moet het design gewoon eens hercompileren om die pinnen actief te maken! Ook tussen resultaten weergeven op mijn LCD display pas ik soms toe, alsook bepaalde leds als tijdelijke hulpfunctie. Dit is een goedkoop alternatief voor de ontbrekende Logic analyser.

Komt tijdens de jaar wisseling misschien een proef versie online om het jaar goed in te gaan.

Hobby, maar sample met mate. | BumbleBee plus pack | Weerstand calculator voor je PSP