Op 3 april 2007 19:54:18 schreef flipflop:
[...]
Jammer dat je niet door VHDL heen bent gekomen. Tis toch zo'n mooie taal
Hahaha... voor zover ik me (helaas) nog kan herinneren, leek het errug veel op C. En aangezien ik ook een gruwelijke hekel heb aan C !
Parallel denken kan overigens ook prima als je een FPGA gaat opbouwen met logische bouwstenen (uit de 7400 serie).
Op 3 april 2007 20:38:20 schreef flipflop
h ja, nog even over VHDL/Verilog. Op zich wel mee eens dat Verilog wat toegankelijker is. Dat het uiteindelijk niet zo heel veel uitmaakt deze vergelijking: De instap-training Verilog bij Doulos UK was 4 dagen. De VHDL training indertijd bij Esperan: ook 4 dagen. Zou er dan toch niet zoveel verschil zijn?
In trainingstijd die er voor uitgetrokken is misschien niet, maar waarschijnlijk wèl in het aantal cursisten die er ook daadwerkelijk iets zinnigs hebben opgestoken (en dat ook blijft hangen) en kunnen toepassen op eigen kracht.
[Bericht gewijzigd door MNM(tm) op ]
flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Op 3 april 2007 21:21:17 schreef MNM(tm):
Hahaha... voor zover ik me (helaas) nog kan herinneren, leek het errug veel op C. En aangezien ik ook een gruwelijke hekel heb aan C !
Dat geeft te denken 
In trainingstijd die er voor uitgetrokken is misschien niet, maar waarschijnlijk wèl in het aantal cursisten die er ook daadwerkelijk iets zinnigs hebben opgestoken
Als je dat vindt dan heb je de trainingen zelf niet gevolgd. We hebben die VHDL training toen met een vijftal collegas gevolgd en zijn de week daarop gelijk gaan designen. En geen hobby projectje. Geen van allen had een digitale design achtergrond.
Zoals ik eerder al zei: 'k heb VHDL op de TH Rijswijk gehad. Een semester lang. En hoe verder het semester vorderde, hoe meer hekel ik kreeg aan VHDL.
free_electron
Silicon Member
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 april 2007 19:40:41 schreef MNM(tm):
Mijn ervaring met VHDL begon op TH Rijswijk. 't Enige wat ik erover kwijt wil is: Very Hard Description Language!
wahahahaaaa ! das nu eens een accurate beschrijving zie.
free_electron
Silicon Member
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 april 2007 20:38:20 schreef flipflop:
[...]
Moeten we de nieuwelingen niet gewoon aanleren dat dit niet de methode is en gelijk Verilog of VHDL promoten? Ik zou zelf nooooooit iemand adviseren om met poortjes te gaan prutsen. Dat is 20 jaar terug in de tijd. Mensen die nu van school komen denken net zo makkelijk in RTL als in poorten.De VHDL training indertijd bij Esperan: ook 4 dagen. Zou er dan toch niet zoveel verschil zijn?
free pakt zijn tweeloop en zoek GPS coordinaten op van 'flipflop' om er 2 pershings naar toe te mikken ...
SCHANDALIG ! dat is de reden waarom heel veel van die systemen de dag van vandaag bloatware en nodeloos complex zijn. Pram er maar gates in . tkan niet op.
twordt tijd dat ze eerst weer wat TTL leren en wat minder VDHL ...
ik kan u stoten vertellen... VHDL coders die een stukje glue logic moeten maken. blijkt dat daar maar liefst 8 TTL ic's voor nodig zijn. dan komt zo een oude 'prutser' gelijk tekik langs , die veegt daar 2 keer over en er schieten nog 3 ttl chipjes over....
en als je dan uitlegt dat An + Bn eigenlijk het zelfde is als (A*B)n . en dat je die 2 invertoeren en die or poort kan vervangen door een NAND die je nog over had in een andere chip. dan kijken ze je raar aan... tikken dat in VHDL , sleuren dat door de synthesiser , simuleren dat door en dan reageren ze verbaasd : heja dat klopt. hoe wist je dat ? Je zou er op den duur van in de gordijnen klimmen ...
Als je die gasten probeert te vertellen over Boole denken ze aan eten ( van die dingen met pudding tussen. : 'Berlijnse Boulen' )
Das dezelfde zever met programmertalen. Der is geen enkele programmeur die nog 1 noot machientaal kent. en dan kom je met draken van programmas af die honderden megabytes ram hebben. Vroeger op een ZX81 met 4k ram schreven ze ganse boekhoudprogramma's. Nu krijgen ze geneens nog de bootloader in.... ( de bootloader van CPM past in 63 bytes code, en gebruikt 2 bytes ram om zijn werkt e doen... plaats zat in een 512 byte sector van ene floppy. ) Ga maar eens zien hoe groot 'lilo' of NTboot is ... ( Free pakt tweeloop en patronen voor olifantenjacht .. ) Weet je trouwens hoeveel programmeurs er nodig zijn om een lamp te vervangen tegenwoordig ? ze kunnen het NIET, das immers een HARDWARE probleem en daar kennen ze niks meer van.
en dat van die 4 dagne cursus.
4 dagen verilog en je designt complexe systemen. 4 dagen vhdl cursus en je kan net een and gate met 2 ingangen instantieren.
Der is een test gedaan een paar jaar terug. ( georganiseerd door Cadence en Synopsys )
De 4 VHDL gurus van deze aarde ( 2 ervan hebben die taal ontwikkeld ) en 4 Verilog gurus .
opdracht : maak in een half uur een klok die 60 hz binnen krijgt en uren minuten seconden op 7 segment displays ( gemultiplext ) laat zien. Schrijf code , simuleer en blaas in prototype bord. ( er waren borden klaar gemaakt. en de templates met pin definities stonden klaar. dus je moest allen code schrijven.
resultaat : 4 verilogs simuleerden 100 % en draaiden op het bord na half uur.
Van de VHDL was er ene die compileerde maar niet correct werkte .. ( een minuut had 59 seconden , een uur 59 minuten ... en er waren 23 uur in een dag ... vergeten dat er ook 00 op een klok kon komen. stom stom stom.
de andere 3 VHDL's compileerden nog niet eens ...
google op 'VHDL versus verilog test synopsis' en lees de gepubliceerde resultaten.
Trouwens hier in de 'valley' is het al Verilog wat de klok slaat. Als je hier gaat solliciteren en je zegt dat je VHDL kent maar geen Verilog dan kijken ze je medelijdend aan en krijg je 5 dollar zodat je toch iets kunt eten vandaag ...
maar we wijken af.
nog eens. ik bekijk de boel vanuit het standpunt van iemand die er wil mee spelen. die het nog nooit gedaan heeft , er al veel over gehoord heeft , en het gepruts met baantjes krabben, op printjes als er weer eens een foutje in zijn circuitje met ttl chipjes zit, beu is.
Dan is quartus een droom. je rolt van je gekende wereld in de wereld van programmeerbare logica met nul moeite. je krijgt er een mooie simulator op de koop toe bij.
en dan pik je verilog op en er gaat een ongelofelijk boeiende wereld open. nul effort. tgaat vanzelf. ( als ze er nu nog gebraden kiekens, een zak patat met mayonnaise ( of favoriet saus. tmag ook stoofvlees zijn ) en een koud biertje konden bijleveren had je alles ...
Dus waarom moeilijk doen , met linux , commandlines , VHDL en allerhande andere meuk liggen krotten als het ook makkelijk kan ? De weg van de minste weerstand is wel genoeg ( als rechtschapen electroniucs hoort dat zo te zijn ) Je moet zelf geen problemen maken. De problemen vinden jouw wel vanzelf ...
enfin. das mijn 2 ohm ...
Op 4 april 2007 02:45:50 schreef free_electron:
[...]
...
en als je dan uitlegt dat An + Bn eigenlijk het zelfde is als (A*B)n .
volgens mijn waarheidstabel is het dit:
n A B An + Bn (A*B)n
0 0 0 0 0
0 0 1 0 0
0 1 0 0 0
0 1 1 0 0
1 0 0 0 0
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
oh ik heb te diep in het glaasje gekeken, of ik kan net zo goed mijn studie opzeggen!
free_electron
Silicon Member
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
Er is een doos op weg met daarin : een witte overall , een pot verf, een setje borstel en een 'klakke' en een coupon voor omscholing ... ze zoeken nog iemand om de lijnen op de parking van de GB te schilderen ..
die kleine letter n betekent NOT
dus Aniet + Bniet = ( A * B ) niet
_ _ ___
A+B = A*B
nu gesnopen ?
en in tabel vorm
_ _ ___ _ _
A B A B A*B A*B A+B
0 0 1 1 0 1 1
0 1 1 0 0 1 1
1 0 0 1 0 1 1
1 1 0 0 1 0 0
Eet nog een 'Boole de Berlin' of pak u een abonnement op 'De Morgan' ...
flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Op 4 april 2007 02:45:50 schreef free_electron:
free pakt zijn tweeloop en zoek GPS coordinaten op van 'flipflop' om er 2 pershings naar toe te mikken ...
Je hebt de Amerikaanse cultuur al aardig opgepakt. Wil je niet luisteren? Bom erop. Komt nogal aggressief over, snap je dat?
Maar goed, ontopic. Ten eerste, het feit dat iemand met een hogere programmeertaal werkt wil niet zeggen dat je de onderliggende logica niet kent. Dat is een taak van de scholen en universiteiten om dat op nivo te houden. Anno 2007 is er echter geen enkel bedrijf meer die nog in poortjes implementeert. Noem er anders maar een. Ik ken ze niet.
Bloatware? In VHDL krijg je dat niet snel omdat je exact opschrijft wat je wilt hebben aan logica. Natuurlijk kan het, maar dat onderscheidt nu juist de goede designers van de slechte.
twordt tijd dat ze eerst weer wat TTL leren en wat minder VDHL ...
Opa spreekt. TTL praat ik niet over. Dat bestaat niet meer.
en als je dan uitlegt dat An + Bn eigenlijk het zelfde is als (A*B)n .
Tuurlijk. Boleaanse algebra. En zal ik je eens iets nieuws vertellen? Een synthese tool optimaliseerd dat vanzelf. Hoe je het ook opschrijft, je krijgt dezelfde logica. Dus mocht je het niet meer weten van school, is niet eens erg als je VHDL/Verilog programmert.
4 dagen verilog en je designt complexe systemen. 4 dagen vhdl cursus en je kan net een and gate met 2 ingangen instantieren.
Gate instantieren? omg! niet vloeken hier pls. Nogmaals, ik heb zelf die training gedaan en ben toen gelijk de week daarop gaan programmeren. En ik had 0.0% ervaring met welke vorm van HDL dan ook. Tuurlijk, je moet het in de praktijk nog echt leren, net als auto rijden. Zou voor Verilog niet anders zijn geweest. Oh ja, Verilog is wel makkelijker te leren hoor, da's duidelijk. Beter? Nee, kan ook niet als je de geschiedenis van de taal kent.
Trouwens hier in de 'valley' is het al Verilog wat de klok slaat
Ja duhhh, US=Verilog. Europa=VHDL. Tuurlijk heb je daar niets aan VHDL! Zelfde geldt als je bij Nokia or Ericsson gaat werken, daar heb je niets aan Verilog.
Verhaal van dat onderzoek ken ik. Is echter totaal nietszeggend. Coderen is nog geen 10% van de designtijd. Tijd zit m in nadenken vooraf en verificatie. Taal speelt dus nauwelijks een rol.
Kijk, ik ben het volledig met je eens dat de overstap van losse ic-tjes naar FPGA een hartstikke leuke is. Ik kan het iedereen aanraden. Het schept ineens ontzettend veel mogelijkheden en is ook flexibel. Ik deel je enthousiasme hierin. Ik vindt het wel jammer dat je je jouw waarheid zo brengt als DE WAARHEID. Er zijn meerdere waarheden. Verilog is prima, maar er is ook VHDL. Quartus is prima, maar er is ook ISE of zelf nog andere. Gezien de huidige stand van de tools zou ik niet meer adviseren om met gates te werken. Dat is echt verleden tijd vind ik. En ja, je moet nog steeds wel "hardware denken" natuurlijk.
Dus waarom moeilijk doen , met linux , commandlines , VHDL en allerhande andere meuk..
Een antwoord: omdat het LEUK is. (Windows is geen "meuk" trouwens?
)
Tjonge, ik had kort willen reageren... weer niet gelukt.
chuckie
Honourable Member
Ervaring is de naam voor de som der fouten die we gemaakt hebben--Oscar Wilde
TTL bestaat godzijdank nog wel, heb net vanmiddag weer een zak vol van die multie-prikkertjes gehaald(al kan ik schijnbaar nergens een 7032 krijgen, nu ja internet is geduldig)
flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Ja ok. Beetje verkeerde woordkeuze misschien. Ik bedoelde eigenlijk "ttl programmeren", dus poortjes tekenen.
die kleine letter n betekent NOT
dus Aniet + Bniet = ( A * B ) niet
Is handig als je volgens het de regels van logic sets schrijft. Ik ben nog geen boek in mijn studie tegen gekomen waar de 'n' als not zien. Als ik hier op google kom ik dit ook niet tegen, hier gebruiken ze het zelfs als NAND.
Dit zijn dus de officiele operators: en
. Waarbij de eerste (NOT) voor het gemak ook als ! getyped kan worden. Maar letters in boolean logic
? Stel je bent op je whiteboard aan het schrijven en je kijgt de volgende dag terug. 90% kans dat je wel ergens niet meer weet wat een hoofd letter of kleine letter is. Laat staan als iemand anders het moet nalezen.
EDIT:
Als toevoeging.: NOT (ook geschreven als ~(complement) of als
). In programmertalen als als !
: OR (ook geschreven als
(union)). In programmertalen als ||
: AND (ook geschreven als
, of als ∧. In programmeertalen als &&
→ : IF THEN, niet echt voor de boolse algabra, maar voor andere beschrijvingen erg makkelijk
↔ : IF AND THEN, zelfde als hierboven
[Bericht gewijzigd door xantus op ]
Op 4 april 2007 02:45:50 schreef free_electron:
ik kan u stoten vertellen... VHDL coders die een stukje glue logic moeten maken. blijkt dat daar maar liefst 8 TTL ic's voor nodig zijn. dan komt zo een oude 'prutser' gelijk tekik langs , die veegt daar 2 keer over en er schieten nog 3 ttl chipjes over....en als je dan uitlegt dat An + Bn eigenlijk het zelfde is als (A*B)n . en dat je die 2 invertoeren en die or poort kan vervangen door een NAND die je nog over had in een andere chip. dan kijken ze je raar aan... tikken dat in VHDL , sleuren dat door de synthesiser , simuleren dat door en dan reageren ze verbaasd : heja dat klopt. hoe wist je dat ? Je zou er op den duur van in de gordijnen klimmen ...
Op 4 april 2007 22:03:23 schreef flipflop:
Tuurlijk. Boleaanse algebra. En zal ik je eens iets nieuws vertellen? Een synthese tool optimaliseerd dat vanzelf. Hoe je het ook opschrijft, je krijgt dezelfde logica. Dus mocht je het niet meer weten van school, is niet eens erg als je VHDL/Verilog programmert.
Ook ik vind dat Free hier wel een beetje achterhaald bezig is. De synthesizer tool mapt toch alles op een andere manier in de LUTs, waarom zou je dan je hoofd erover breken hoe je zo min mogelijk poorten gebruikt?
Dit is toch juist het idee achter een hogere taal als VHDL of Verilog, omschrijf het zoals je wilt, het wordt later toch geoptimaliseerd door de synthesizer (iig voor de booleaanse logica).
free_electron
Silicon Member
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 4 april 2007 22:45:53 schreef xantus:
[...]Is handig als je volgens het de regels van logic sets schrijft. Ik ben nog geen boek in mijn studie tegen gekomen waar de 'n' als not zien.
zoek eens een editor waar die symbolen in zitten ? ( en waar je geen vingerkramp krijgt van de shortcuts om dat in te tikken ... )
de conventie bij het schrijven bijvoorbeeld VHDL of Verilog is dat je een kleine letter n toevoegt aan een signaal om aan te duiden dat het om een actief laag signaal gaat ( dus dat de uitgang eigenlijk geinverteerd is. )
@flipflop.
ik had het over het maken van gluelogic. Trek maar eens een modern ding open zoals een grote router van cisco , alcatel, nokia en dergelijke. daar zit nog steeds een handjevol glue logic op dat bestaat uit losse TTL en cmos poortjes... de singlegate logic chipjes in sot23 verkopen gelijk zoete broodjes voor ons ...
ik ga wel accoord dat complexe dingen zo niet meer gemaakt worden.
Maar stel dat je effe 2 digit LED displays moet aansturen vanuit 2 bcd counters. Dat schrijf je toch niet in vhdl ? plets twee 7490 neer , kleef daar 7447 achteraan en klik compile. klaar.
Als ik naar onze designs kijk : daar zitten nog altijd een aantal blokjes in ( heel veel glue logica ) die heel snel als schematic entry gemaakt zijn. Alleen de blokken die te moelijk zijn om in schema te gieten (ofwel te veel werk en te veel gepruts om later te modden. ) worden in verilog gemaakt.
We hebben trouwens nog altijd chips waar blokken logice nog steeds VOLLEDIG als schematic entry gedaan worden ook. ( en das een serieus complex blok hoor. een volledige SPI achtige interface met daarachter 128 registers die allen kunnen gelezen en geschreven worden.)
Daar zijn zoveel speciaaltjes aan de addressdecoder dat dat met de hand gemaakt wordt. En ze willen absoluut zeker zijn dat het minimal logic is ( en dan bedoel ik minimal logic in termen van area op de chip. Voor de synthesizer is het makkelijk om daar een OR met 30 ingengen neer te poten en ginder nog ene met 20 ingangen .
volgend scenario :
je hebt de volgende functies :
ABCDEFGHIJKLMNOPQRSTUVW
ABCDEFGHIJKLMNOPQRSTUV
de synthesizer ( ik spreek nu over een silicon synthesizer , niet over fpga synthesizer ) plets daar dus een OR met 23 inputs en ene met 22 inputs neer. in area is dat zeer groot.
een designer van de oude stempel zet daar 1 or met 22 inputs en ene met 2 inputs.
X = OR(ABCDEFGHIJKLMNOPQRSTUV)
y = W OR X
snap je ... das een serieuze area besparing ! en de kostprijs van chips is nog altijd vierkante meter silicium....
accoord als fpga designer heb je daar niks aan. het moet toch gemapt worden op de gates die daarin zitten. maar wat ik wil aangeven is dat je het designen op schematic level niet mag weggooien ! het is nog steeds een zeer belangrijk gegeven.
dat voorbeeld wat ik daar gaf met die 8 TTL naar 3 TTL is er eentje uit de praktijk !
een klant wou een bestaande chip van ons interfacen met een PCMCIA kaart. daar was wat glue logic voor nodig. Nu bleek dat de kleinste CPLD te duur was voor de getargette productie kost. dus werdt gekeken of het met TTLtjes gedaan kon worden. een van de VHDL coders moest dus die glue logic maken. resultaat : 8 ttl chips nodig. ( van de meeste werdt slechts de helft gebruikt. )
mijneer had een inverter nodig : baf een 7404 erbij. en hij had nochthans nog een NAND over die hij niet gebruikte.
Had ergens een AND , baf nog een chip erbij. he jongen je hebt daar nog 2 NANDS die je niet gebruikt. hopla weer een chip weg.
en zo zat er nog vanalles en nog wat in wat je kon 'vegen'.
der was ergens aan actief laag signaal. daardoor zag de logica er 'krom' uit. door dat signaal eerst door een inverter te jagen werd plotseling alle achterliggende spul een stuk eenvoudiger . en door de aactie flaage stuuringang van het register te gebruiken opv het actief hoog signaal viel er weer een tros spul weg.
uiteindelijk circuit was een 7400 , een 7408 en een 7416245.
totale kostprijs : 12 eurocent ... ( in massa ) klant was content.
Pas op ik verwijt die kerel niks. hij had dat nog nooit moeten doen. maar het redeneren op logische circuits ontbrak compleet. en dan wordt het heel gevaarlijk ...
en dat is waarom ik daar zo op hamer ! zorg dat je weet waar je mee bezig bent. en de scholen tegenwoordig gaan daar nogal licht overheen. 'twordt later toch allemaal in vhdl of verilog geschreven ...' jaja vergeet dat maar !
bij ons is er een complete groep apart die synthese doet. die manne pakken wat uit de compilers komt en gaan dat met de hand ! optimaliseren voor looptijd , parasitairen extractie. drive strength. en van die area toestanden.
Daar is zelfs peperdure software voor tegenwoordig om daand ie gesynthetiseerde circuits te gaan sleutelen.
je mag niet vergeten dat VHDL en verilog eigenlijk zijn ontwikkeld om systemen te modelleren !. tussen modelleren en implementeren is er nog steeds een enorme wereld van verschil !. ook vandaag nog worden bepaalde dingen nog steeds met hand als schematic gedaan. Intel en AMD doen dat continue. vooral speed gedreven dingen ( meestal kleine blokjes ) worden puur als schematic entry gemaakt , en dan met de hand gelayout voor optimum speed.
[Bericht gewijzigd door free_electron op ]
Ik wil toch ook nog even reageren op alle verhalen dat vhdl moeilijk is en onhandig werkt enz.
Zelf krijg ik op de TU Delft alleen vhdl, verilog is hoooguit ooit genoemd als een andere soort taal die wij niet zullen toepassen. Er moest dus vhdl geleerd worden en daarmee uit. In het begin is het inderdaad moeilijk en de eerste paar weken heb ik ook gevoelkt tot en met op vhdl, (de laatste letters stonden bij ons ook voor duurt lang uiteindelijk).
Maar ondertussen vind ik het zo leuk dat ik een fpga bord wil gaan kopen om er verder mee te gaan knutselen, begin dit jaar mochten we ook een chip maken (groep van 8 man, 6 weken lang, 12 uur per week), voor die chip was dat natuurlijk belachelijk lang (het was een simpel dcf klokje), maar dat is vooral geweest omdat alles nieuw was, ik zou nu denk ik hetzelfde project in 1 week kunnen.
Dus er zijn natuurlijk verschillen, maar ik heb nog nooit iemand die al volledig vhdl begreep horen zeggen dat het prut is, alleen mensen die er nog maar net aan zijn begonnen. Net als bij microcontrollers met assemly werken, in het begin is het lastig, maar als je eraan gewend ben wil je niet meer anders.
Om FPGA's of CPLD's te gebruiken maakt het toch helemaal niets uit waar je voorkeur naar toe gaat. Schema entry, VHDL, verilog. Trouwens van het een komt het andere. Ken je verilog en ziet je een toepassing die in VHDL geschreven is dan zal je vrij snel de functie's bevatten. Ook omgekeerd VHDL naar verilog zal weinig moeite kosten.
Een starter die juist begonnen is met het leren van de elementaire poortjes zal zich sneller vinden in schema entry. Dat is toch geen enkel probleem. Naarmate hij vorderd zal hij wel uitkijken naar andere projectjes die in VHDL of verilog geschreven zijn. Over het algemeen kan hij ze gewoon toepassen en/of overnemen zonder zelfs de taal te beheersen. En zo gaat hij ook stap voor stap zijn eigen grenzen verleggen.
De gebruiker zal zelf wel voelen waar hij gemakkelijker mee omgaat. Daarvoor hebben we de Altera of Xilinx software die al deze methodes zondermeer ondersteunt met inbegrip van de simulatie. Gebruikte taal hoeft geen enkel discutiepunt te zijn.
Vanaf het ogenblik dat er pakketjes beschikbaar zijn ook voor starters zal dit allemaal vlotjes verlopen. Het is niet omdat het nu 40 euro of 60 euro kost dat er plots niemand er geen gebruik meer kan/zal van maken. Ik ben mij wel bewust dat er instap modules moeten zijn waarbij die kost zo laag mogelijk is omdat juist bij deze nieuwe aankomende gebruikers heel veel jonge mensen zijn waarbij iedere euro meer, een instap drempel kan zijn.
Om FPGA's of CPLD's te gebruiken maakt het toch helemaal niets uit waar je voorkeur naar toe gaat. Schema entry, VHDL, verilog.
Vergeet systemC niet in het lijstje. Is nog open source ook en je kan het in bijna elke C++ compiler schrijven. In het eerste jaar op de TU/e krijg je dit en als je het eenmaal begrijpt werkt het erg makkelijk. Nadeel vondt ik wel dat je geen schema van je design kon zien waardoor je het niet kon controleren of alle bussen goed vast zaten (wat wel makkelijk is bij >1000 signaal draden tussen de verschillende modules. Je was altijd uren bezigen die files te doorzoeken naar de foute aansluiting).
Zelf krijg ik op de TU Delft alleen vhdl, verilog is hoooguit ooit genoemd als een andere soort taal die wij niet zullen toepassen.
Hier precies andersom. VHDL is nooit gesproken, verilog en systemC zijn beide onderdeel van verschillende projecten.
Jochem
If you want to succeed, double your failure rate.
Ik wil me er ook eens in storten, maar zelfs al zou Verilog beter zijn dan VHDL (ik meng me niet in de discussie) dan NOG wordt het voor mij de laatste (VHDL). Dat wordt bij ons in het bedrijf (en de rest van europa?) nou eenmaal gebruikt en het lijkt me niet handig om hobbymatig iets anders aan te gaan leren dan dat ik in de professionele sfeer toe zal passen.
En wat betreft die losse poortjes enzo: elementaire kennis is nooit weg, maar sla niet door zou ik zeggen. Ik vond Karnaugh-diagrammen wel altijd erg leuk om te maken 
free_electron
Silicon Member
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 4 april 2007 23:46:45 schreef KillerB the Supreme:
[...]
[...]
Ook ik vind dat Free hier wel een beetje achterhaald bezig is. De synthesizer tool mapt toch alles op een andere manier in de LUTs, waarom zou je dan je hoofd erover breken hoe je zo min mogelijk poorten gebruikt?
Dit is toch juist het idee achter een hogere taal als VHDL of Verilog, omschrijf het zoals je wilt, het wordt later toch geoptimaliseerd door de synthesizer (iig voor de booleaanse logica).
ik ga accoord voor wat FPGA betreft. maar smijt het niet weg. de wereld is veel meer dan fpga alleen.
nog ene voorbeeld. een complexe chip bevat een aantal problemen. nu is het zo dat in een chip altijd 'dummy cellen geinstantieerd zijn'. allerhande poorten waarvan de ingangen aan grond hangen.
de oplossing wordt daar gezocht op SCHEMA niveau !. en ook aangepast op schema niveau ! in plaats van gans die chip te redesignen is het veel goedkoper alleen de metalmask aan te passen. we koppelen die poorten los van de grond en gaan daarmee , met de HAND , de fout verbeteren .. dat kan 2 weken werk zijn maar als je kan kiezen tussen een metalmask of full maskset dan weet je wat gekozen ... voor een metalmask ben je er vanaf met 100K dollar , een fullstack draait rond de 1.5 a 2 miljoen ( Dollar ). als je dan weet dat de meeste chips 3 a 4 'spins' nodig hebben ... ( der zit altijd wel ergens een parasitaire of een lekpad ... of gewoon stomweg een glitch in de logica door een of andere race conditie die de simulator niet gezien heeft... )
als je dan niet weet wat een and of een or is ...
en dat VHDL en verilog hogere talen zijn vor dergelijke dingen : vergeet NIET dat die talen ontwikkeld zijn om systemen te MODELLEREN. Het gebruik om er effectief ook de logica mee te maken is pas later gekomen ! dat is ook de reden dat er eigenlijk 2 simulatoren zijn.
de echte simulator pakt je vhdl of verilog en simuleert die. zo kan je zien of je logica en je mechaismen kloppen.
daarnaa trekt de synthesizer daar een 'schema' van ( ja dat is nog altijd ene schema ! onder de vorm van een netlist weliswaar , en er zijn tools om dat automatisch te visualiseren op de 'oude manier' als flipflopjes en poortjes. ) dat wordt dan gerout en dan gaat de echte simulator daar timing analyse op doen. dat ding heeft de netlist , weet dus exact hoe de signalen lopen en kan daar de juiste delays per poort in vlammen.
en dan begint de fun. tiens volgense de modelsimulatie werkte de boel nochthans .. jaja maar de gate level simulatie laat een ander plaatje zien... als je dan echt wilt begrijpen wat het probleem is en je kan geen logisch schema lezen ...
je kan perfect een complexe teller maken in 5 lijnen in vdl of verilog. en dan blijkt dat dat ding in de praktijk glitches veroorzaakt tot en met. om dan te snappen hoe je je source moet aanpassen ... tzit soms in ee klein hoekje.
Wat jochem_s schrijft is ook correct !.
als je in europa zit AND je wilt dat spul toepassen in het bedrijf waar je werkt OR je hoopt op een interessantere baan (in europa) : ga dan voor VHDL. verilog wordt haast niet gebruikt in europa . eigenlijk zou dat niks mogen uitmaken want al die synthese tools kunnen beide talen verwerken en kleven dat naadloos aan elkaar. niks penalty . wij zitten met designteams over de plas. die manne schrijven hun klets vhdl , wij schrijven onze klets verilog. dat gaat door synopsys en dat werkt. je kan hetzelfde trouwens doen in quartus of ISE ook. geen enkel probleem. stukje in schematic , stukje in verilog , stukje in vhdl , stukje in ahdl stukje als een lookuptable als intel hex file ( een rom ).klik op compile en dat vliegt daar zonder verpinken door.
als je daarentegen een frietkot uitbaat of bloemschikker van beroep bent, en je speelt alleen met FPGA voor de fun. dan zeg ik : vergeet vhdl en ga voor verilog. je gaat veel meer fun hebben in ene kortere tijd.
en leer niet vliegen vooraleer je kan kruipen ...
eerst kruipen , dan proberen staan , dan wandelen , dan lopen , dan met de fiets leren rijden , dan met de auto en dan kan je eventueel denken over een vliegbrevet ...
dat vliegbrevet is leuk maar om van de luchthaven naar je huis te gaan zul je een ander vervoermiddel nodig hebben ... en als de zekering springt in de kruipkelder onder je huis ... enfin je snapt waar ik heen wil.
flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Op 5 april 2007 16:46:55 schreef free_electron:
ik ga accoord voor wat FPGA betreft. maar smijt het niet weg. de wereld is veel meer dan fpga alleen.
...
en dat VHDL en verilog hogere talen zijn vor dergelijke dingen : vergeet NIET dat die talen ontwikkeld zijn om systemen te MODELLEREN.
...
de echte simulator pakt je vhdl of verilog en simuleert die. zo kan je zien of je logica en je mechaismen kloppen.
daarnaa trekt de synthesizer daar een 'schema' van ( ja dat is nog altijd ene schema ! onder de vorm van een netlist weliswaar , en er zijn tools om dat automatisch te visualiseren op de 'oude manier' als flipflopjes en poortjes. ) dat wordt dan gerout en dan gaat de echte simulator daar timing analyse op doen. dat ding heeft de netlist , weet dus exact hoe de signalen lopen en kan daar de juiste delays per poort in vlammen.en dan begint de fun. tiens volgense de modelsimulatie werkte de boel nochthans .. jaja maar de gate level simulatie laat een ander plaatje zien... als je dan echt wilt begrijpen wat het probleem is en je kan geen logisch schema lezen ...
Gelukkig lees ik ineens een heleboel verstandige posts hier. Heerlijk 
Nog een paar opmerking bij je verhaal (epistel) free.
Natuurlijk moet je ook als je "high-level" programmeert nog de basis kennen voor die speciale gevallen van een ECO, paar losse ic-tjes plaatsen en als er ergens nog eens een schema opduikt. Klaar. Daarom leren ze dat nog steeds op hbo's en hoger.
Verilog is wellicht ontworpen om te modelleren, VHDL niet. Dat is van de grond af aan opgebouwd als HDL taal. Zie de afkorting: VHSIC Hardware Description Language. De naam zegt het al. Verilog is ontstaan uit de toolset van Cadence. Die hadden tools voor modellering, simulatie en HDL. Die tools zijn door de tijd heen ontstaan en steeds verder uitgebreidt. Op een gegeven moment zijn ze eea gaan documenteren en standaardiseren met als gevolg en minder gestructureerde, maar wel heel practische taal. Bij VHDL is het andersom gegaan, eerst de taal ontwikkeld en daarna de tools. Meer structuur dus.
Met de tweede "simulator" die je noemt bedoel je de Static Timing tool. Die simuleert niet maar kijkt puur naar de delays tussen de flipflops/latches en past daarbij de routing aan. Gebeurt tijdens synthese en ook in de layout. Dat je een schema vergelijkt met een netlist.... tja, het kan. De kunt het een 1-op-1 vertalen in het andere. Maar dan is je Verilog ook een schema. Ik kan meestal aan de Verilog al zien wat de logica gaat worden (behalve de combinatoriek natuulijk). In onze flow bestaat die schema stap ook niet meer. "Vroeger" importeerden we alle gesynthetiseerde netlists in Cadence schemas waar ze samen met het analoge spul aan de backend tools geleverd werden. Nu gaat de netlist direct Cadence Encounter en gaat daar rechtstreeks naar layout cellen. Ook bij een ECO zijn er dus geen schemas, maar doe je alles met de netlist en Encounter. Ook bij gatelevel sims heb je genoeg aan de netlist, en meestal heb je aan de Verilog ook zat genoeg. Bij synchrone designs zijn er overigens zelden problemen met spikes en zo. Layout doen we in een paar dagen.
Maar goed, ik ben er wel klaar mee. Blij dat ik wat users zie die ook wat anders willen dan Verilog en Quartus
(nogmaals, niks op tegen hoor, maar er is meer op de wereld)
En eh,, gek genoeg zijn we wel ineens over ASICs bezig en niet over FPGAs... Nah, daarvoor heb je de schemas al helemaal niet meer nodig 
Ik heb ISE eens uitgeprobeert en vind het toch niet zo moeilijk. Ik vind dat het logisch samen hangt. Maar ik blijf nog met mijn atmellekes.
Het probleem dat ik heb met FPGA en CPLD is dat wat ge simuleert soms nie kan werken. Of dan hebt ge meet marcocells nodig. BV voor een NLP generator voor netwerk.
robin
flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Bedoel je dat als je de zaak in de FPGA laadt, het dan niet werkt terwijl het op simulatie wel goed gaat?
Heb je de timing constraints goed gezet? Clock constraint is het belangrijkste.
In het timing rapport kun je zien wat de gehaalde max frequentie is.
[Bericht gewijzigd door flipflop op ]
heeft iemand tijd voor een enthousiaste beginner?
ik kom nog van de tijd dat alles met simpele poortjes ging. Heb onlangs een kleine partij altera's gekregen. 2 types: EPF10K30 en EPM7128. Het leek me een goed idee om na de GAL (waarmee ik vroeger speelde) over te stappen op het betere werk. Aldus quartus bij altera afgehaald en de EPM7128 even getest. Het is blijkbaar erg eenvoudig een .gdf file door de compiler te halen en in het IC te pompen. Ik wil nu de EPF10K30 gebruiken, maar dat blijkt een FPGA te zijn, en geen CPLD, andere bronnen noemen dat weer een EPLD,.... De hamvraag, wat is het verschil in gebruik (de technologie laat me voorlopig koud), blijft de inhoud ook bewaard na een spanningsuitval? even testen gaat niet, moet dan eerst een testprint maken
Ik las in dit forum dat sommigen problemen hebben met de PQFP-vorm, ik kan wel een dergelijk printje maken dat de ic-pint naar connectoren verbindt. Zelfs een BGA met 484 pins is geen probleem.
en dan nog iets, ik heb een heleboel XILINX XC4000-serie IC's liggen. Hoe krijg ik die aan de praat?
h ja, nog even over VHDL/Verilog. Op zich wel mee eens dat Verilog wat toegankelijker is. Dat het uiteindelijk niet zo heel veel uitmaakt deze vergelijking: De instap-training Verilog bij Doulos UK was 4 dagen. De VHDL training indertijd bij Esperan: ook 4 dagen. Zou er dan toch niet zoveel verschil zijn?