benleentje
Golden Member
Het is een mooi printje met die stippellijnen voor de verschillende functies.
Ik mis wel montage gaten, want als je dit aan 1 kant in een breadbord prikt dan wil ik wel ondersteuning aan de andere kant.
flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Op dinsdag 11 november 2025 23:18:56 schreef benleentje:
..Waarmee ik bedoel te zeggen voor de een is verilog de oplossing voor zijn probleem en voor een ander is dat VHDL. ..
Maar uiteindelijk maakt het geen bal uit en gaat het er enkel om wat je ligt en waar je je doel op de leukste manier mee bereikt.
Nou, dan herhaal je volgens mij precies wat ik opschreef. HDL is HDL, de syntax maakt geen bal uit. Ik doelde op dat ontwerpen in gates. Dat kun je doen, maar kom dan niet met een FPGA aan. Leer HDL, maak de stap. Alleen dan maak je ten volle gebruik van de technologie. Gates is jaren 80.
flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Op dinsdag 11 november 2025 23:21:46 schreef Bobosje:
De gehele beschikbare VHDL / Verilog syntax is maar ten dele synthetiseerbaar en afhankelijk van wat het synthese tool (zijnde van Altera of Mentor Graphics of een ander EDA tool) er van maakt.
..
Klakkeloos VHDL / Verilog gaan schrijven in de hoop dat het synthese tool er het juiste design van maakt gaat niet werken.
Ik beweer niet dat je klakkeloos HDL moet schrijven. Je moet ongeveer weten welke hardware je krijgt. Ongeveer, niet exact. Dat is het hele idee van een hogere taal. In C weet je het ook niet exact zoals in assembly. In HDL weet je het ook niet exact. Hoeft ook niet, daar is de synthese voor. En ja, tuurlijk weet je dat als beginner niet direct. Het is wel een vak. Timmeren leer je ook niet in een uurtje.
Op woensdag 12 november 2025 16:44:39 schreef flipflop:
Je moet ongeveer weten welke hardware je krijgt. Ongeveer, niet exact. Dat is het hele idee van een hogere taal. In C weet je het ook niet exact zoals in assembly.
Mee eens, het verschil met C is wel dat de gehele taal compileerbaar is tot assembly code. Bij VHDL / Verilog is alleen een subset van de syntax synthetiseerbaar en te gebruiken om er logica mee te bouwen en de syntax die wel te gebruiken is daar moet je gevoel voor kweken welke bepaalde VHDL / Verilog constructies synthetiseren tot de gewenste logica in een FPGA.
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Op woensdag 12 november 2025 14:47:56 schreef free_electron:
@rew : wacht nog even met die led prinjes. zo dadelijk wordt duidelijk wat de bedoeling is van die connectors. ik moet het 3d model aanpassen. Beschouw even de linkerkand van het bord. Er zijn 4 kolommen. De linkse 3 zijn signaal de rechtse grond.. de bedoeling is dat de linke kolom onderaan komt te hangen om hem op een standaard breadboard te kunnen prikken. de tweede kolom komt bovenaan zodat je er makkelijk dupont draadjes kan op prikken.
de derde kolom is om een logic analyser of combiscope (zo een scope die 8 of 16 digitale ingangen heeft) er aan te kunnen hangen ( of nog dupont draadjes )
De laatste kolom is grond (voor de logic analyser )
Dat had ik zo'n beetje wel begrepen.
Ik mux simpelweg all signalen. zo kan je de on-board cpld flashen , of een externe. er komt gewoon een boheader op de print met de standaard ALTERA pinning. Door alles te muxen vermijd ik dat je de onboard cpld overschijft als je iets extern flasht. In princiepe is het genoeg de TDO en TMS te onderbreken. Maar de extra capacitieve belasting op TCK en TDI zou wel eens roet in het eten kunnen gooien (zeker als je daar een langere flatkabel aan hangt. Er is een reden dat de echte Altera USB blaster een flex-pcb gebruikt en geen ribbon cable. ). Dus alles dan maar onderbreken. abundance of caution. die mux chip kost een halve dollar.
De vraag is: Wat is beter 10pF van een on-board-spoortje plus ingang, of de 250 ohm van de analoge switch.... Ik schat in: dat laatste, maar jij kennelijk niet. Denk er maar even over na, zodat je een "afgewogen beslissing" neemt. Ik breng het ter sprake zodat het niet achteraf, "F*** niet aan gedacht, zo werkt het inderdaad niet" wordt...
Schakelaar naar grond heeft twee redenen. eentje historisch en ... nou ja .. eigenlijk een uitloopsel van de historische (verrek. is het nu historische , historise ... te lang geleden dat ik nog nederlands heb geschreven )
waarom schakelaar naar grond ? dit stamt uit de TTL/DTL wereld. De ingang van een TTL poort is de emitter van een transistor die met zijn basis (via een weerstand) aan de vcc hangt. Alleen een logisch "nul" doet dus eigenlijk iets. een logische 1 maakt niks uit. de basis is "hoog" en je maakt de emitter nu ook "hoog". bij een nul trek je de emitter omlaag en vliegt die ingangstransistor in geleiding. Je kan stroom UIT een TTL ingang halen (rond de 10 milliampere. de basisweerstand is rond de 500 ohm). Vandaar ook dat gedoe met fan-in en fan-out. een TTL uitgang moet hard naar grond kunnen schakelen. simpelweg omdat, als er veel ingangen aan gekoppeld zijn je redelijk wat stroom moet trekken. bij LS TTL is die stroom kleiner.(de basisweerstand is hoger daar)
Bij die CMOS verises zoals HC en HCT maakt dat niks meer uit. daar zijn het de GATE van een mosfet.
twee mosfets, maar goed.
Er is ene tweede reden waarom schakelaar naar grond: het is veiliger op I/O poorten. (micros, cpld/fpga.)
Aangezien een I/O poort ook een uitgang kan zijn is er een gevaar. Als die I/O poort ,per ongeluk, programmeerfoutje, stuurt naar grond , en je drukt op de schakelaar naar VCC dan blaas je die uitput op. Er is meestal geen current limit op de onderste transistor in de totempole (de uitgangsdriver van de I/O poort.)
Omgekeerd: als de I/O hoog zet en je trekt die per ongeluk laag dan blaas je de poort NIET op. De totempole transistor bovenaan is meestal zwakker gedopeerd en heeft een hogere resistiviteit , of er zit een current source op. je kan er 10 of 15mA uit halen en that's it. Hij gaat niet defect.
Daar geloof ik niet in. Moderne CMOS processen maken de IO pins zo goed als symmetrisch. Dit kost een 3-5x grotere P-fet, maar dat moet dan maar. Op veel microcontrollers zijn ze "ongeveer 50 ohm",
Als je het datasheet van de EP5M240 er bij pakt (DC and Switching characteristics for Max V devices), pagina 5 (fig 3-1), dan zie je dat de stroom bij een HOOG gedreven output, als je de pinspanning nul maakt op kan lopen tot boven de 60mA. Max is 25mA, formeel gaat ie stuk.
Andersom, als je een uitgang LAAG maakt, maar dan de pinspanning op laat lopen naar 3.3V, dan gaat er maarliefst 55mA lopen. Ook boven de 25mA.
Dus formeel is het precies andersom als dat jij zegt, maar in de praktijk heb je gelijk dat er minder kans op "stukgaan" is, omdat die 60mA, 200mW door een fysiek 5x grotere P-fet gedissipieerd moet worden.
De weerstand van de output FET specificeren ze in tabel 3-6 op "Maximaal 66 Ohm" (bij 3.3V VCCIO) (*). Bij dit ding was "natte vinger 50 ohm" zo raar nog niet. (ik had eerder het dubbele verwacht. Die 50 OHm is een "goede microcontroller output", veel andere chips hebben minder drivestrength).
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
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
Als je het datasheet van de EP5M240 er bij pakt (DC and Switching characteristics for Max V devices), pagina 5 (fig 3-1), dan zie je dat de stroom bij een HOOG gedreven output, als je de pinspanning nul maakt op kan lopen tot boven de 60mA. Max is 25mA, formeel gaat ie stuk.
Normaal zit daar bovenaan een stroombron. ( met parallel een bleed weerstand , die egenlijk ook een stroombron is . Ze maken twee master stroombronnen en zetten dan gewoon mosfets parallel. de grootte van het kanaal en de dopering doen dan de rest van het werk) .
Ze zullen die PMOS limiteren. Er worden vaak truken uitgehaald om flanksteilheid bij het schakelen te boosten. Schakel je naar hoog dan zetten ze de pmos volledig in geleiding om zo snel mogelijk te schakelen, en dan knijpen ze hem deels terug af. Zeker nu met die "buskeep" features in moderne chips. (de MAX V kan dat ook. Ze oversturen 0.5mA tijdens schakelen en gaan dan limiteren op een lagere stroom)
Moderne I/O cellen zijn vrij complex. Zelfs 20 jaar geleden toen ik nog cellen bouwde werdt dat al gedaan.
Als de CPLD niet geprogrammeerd is , en ook tijdens het programmeren, is er een pull-up weerstand aktief (Rpullup , 25 K op 3.3 volt. en 300uA als ie nog leeg is) Daar extern pulldowns aan gaan hangen maakt dat die ingangen op een tussen niveau gaan hangen... geen idee of die input stage dat leuk gaat vinden.
Om user error te vermijden kan ik een paar honderd ohm tussen de switch en grond zetten. 330 ohm op 3.3 volt is 10mA. gaat de pin niet van stuk. 330ohm met een 10k pull up. dat is nog steeds een mooie "low".
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 woensdag 12 november 2025 17:32:49 schreef Bobosje:
Is de box-header in het midden voor een USB Blaster?
jup. Dat is de blaster uitgang. zo kan je later je eigen bordjes programmeren. zet dat schakelaartje naast de boxheader naar boven en je hebt een usb blaster.
Op woensdag 12 november 2025 17:55:31 schreef free_electron:
[...]jup. Dat is de blaster uitgang. zo kan je later je eigen bordjes programmeren. zet dat schakelaartje naast de boxheader naar boven en je hebt een usb blaster.
Ok, wat bedoel je in het schema precies met :
ALTERA COMPATIBLE BLASTER CONNECTOR
!!! OUTPUT ONLY !!!
Geen normale USB Blaster aansluiting?
Wat kan wel / wat kan niet met de box-header aansluiting?
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
De connector is een output. met andere woorden : dit ding gedraagt zich als een usb-blaster. Je kan en mag er geen externe blaster op aansluiten. Het is geen ingang voor een andere blaster, maar een uitgang naar een andere cpld/fpga.
Eenmaal klaar met je ontwikkeling en je een eigen bord maakt met een cpld/fpga er op kan je jouw bord laden via dit ontwikkelbord.
Hoeben
Golden Member
https://www.hoeben.com https://www.overstockdevices.com https://www.asensor.eu https://www.circuitsonline.net/forum/user/4355#aanbod Voor alle verkoop: een tegenbod is altijd welkom!
Op woensdag 12 november 2025 12:22:29 schreef MNM(tm):
[...]
Helemaal mee eens. Je gaat ook niet naar school om vervolgens tegen de leraar te zeuren dat je liever andere boeken/lesmateriaal wilt gebruiken dan wat er door de school/docent wordt voorgeschreven voor de opleiding!
Dit topic is, volgens mij, bedoeld als instapcursus om als noob te kunnen beginnen met CPLD's en FPGA's. De docent in deze is free_electron. Daarmee is HIJ degene die het lesmateriaal bepaalt. Iedereen is vrij om aan deze cursus deel te nemen, maar wel op de gestelde voorwaarden.
Gevorderden zullen ongetwijfeld op een aantal punten andere zienswijzen hebben. Prima, geen enkel probleem. Maar ik vind dat je dat dan voor jezelf moet houden en niet hier onnodig ruis gaan lopen introduceren. Ik merk dat dat onnodige geneuzel bij free_electron frustraties veroorzaakt. Als dat nog vaker voorkomt, kan ik me voorstellen dat hij uiteindelijk besluit er maar gewoon mee te stoppen. Ik ben zeer geïnteresseerd in deze cursus en zie dan ook heel graag dat deze door blijft gaan!@rew: zó herkenbaar!
+1, vooral doorgaan free_electron!
Wat die bordjes betreft, gaan we eea bestuckt doen, en een groepsinkoop?
free_electron laat zich niet van de wijs brengen door wat anderen geneuzel en ruis vinden daar is free-electron te professioneel voor.
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
En we gaan verder
Preliminary Design : https://github.com/vincent-himpe/CPLD-Board-V/blob/9faa9df1a2628afc21e…
PDF file met ganse production pack er in.
Nog te doen :
- Plaatsen van de RD protect jumper (beschermt de FTDI tegen flaters)
- Sommige componenten voorzien van LCSC order codes.
- variant maken die de thru-hole componenten verwijdert
- gaatjes vullen in de polygons
- teardropping
rudig76
Even iets anders www.echteworst.nl
Op woensdag 12 november 2025 23:24:15 schreef Hoeben:
Wat die bordjes betreft, gaan we eea bestuckt doen, en een groepsinkoop?
Leuk voorstel en heb ik ook wel interesse in als de prijs een beetje behapbaar blijft. (Maar goed dat is het hele idee)
benleentje
Golden Member
Op donderdag 13 november 2025 06:43:59 schreef free_electron:
Nog te doen :
Ik weet wel hoe ik mijn eigen kale PCB bij JLCPCB moet bestellen, maar niet hoe je dat met bestukte PCB moet doen.
Te zijner tijd dan even een korte uitleg zou ik wel fijn vinden.
Welke bestanden zijn er daar voor nodig en wat moet je doorgeven aan JLCPCB.
flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Op woensdag 12 november 2025 23:54:46 schreef Bobosje:
free_electron laat zich niet van de wijs brengen door wat anderen geneuzel en ruis vinden daar is free-electron te professioneel voor.
Slijmert
Het is toch geen "luisteren, slikken en niet lullen" topic zekers?
Op vrijdag 14 november 2025 19:49:58 schreef flipflop:
SlijmertHet is toch geen "luisteren, slikken en niet lullen" topic zekers?
Lol
nee zeker niet.
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
niet lullen
Daar zit het hem nou. Er is te veel "ruis". Dit is een starters topic. Voor beginners die eens willen spelen met een CPLD en verilog. Geen "hoe maak ik een AI accelerator in de grootste Xilinx" topic.
We hebben al meer "ruis" posts dan iets waar je effectief iets van leert. Zoals ik al zei : het lijkt al sterk op een linux forum. Daar krijg je ook nooit een direct antwoord. Het is altijd "je gebruikte de verkeerd distro, compileer het zelf, en "noob" of "als je dat niet weet vertel ik het ook niet".
Kan ik missen als kiespijn.
De (hopelijk) finale versie staat hier : https://github.com/vincent-himpe/CPLD-Board-V/blob/main/CAD/PDF/CPLD-C…
Feedback graag.
Ik wil hem zondag naar JLCPCB zenden voor 5 stuks. Kunnen we beginnen testen.
Ik heb een deboardje besteld van Earthpeople die zelfde FTDI princiepe gebruikt. Probeer ik morgen uit om de te zien of de programmer werkt en hoe je de driver installeert.
Ik heb de prijs van onderdelen gechecked bij JLCPCB en we kunnen de grootste CPLD ( 570) hebben voor 6 $ ...
Er is op github een tweede PDF en prodpack (gerber/drill/p&p/bom) NOTH (no thru-hole) , die alleen de SMd er op laat zetten. Die ga ik zondag in gang steken.
Noot : ga dit ding nog niet massaal gaan bestellen vooraleer ik het volledig getest heb.
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Je maakt een zip van "al" je gerber bestanden.
Ik heb vandaag:
lm5148_test.GTL
lm5148_test.GBL
lm5148_test.GTO
lm5148_test.GBO
lm5148_test.GTS
lm5148_test.GBS
lm5148_test.GTP
lm5148_test.GBP
lm5148_test.GML
lm5148_test.dri
lm5148_test.TXT
ingeleverd. Dan upload je die via de "order now" knop op JLCPCB.
Dan kan je dingen instellen als "aantal" en "wil je hasl-leadfree"? Dat laatste vind ik verstandig om te willen, Kost een paar euro, maar is beter voor het millieu/je gezondheid.
De rest laat ik vrijwel altijd op "default" dingen als "paars!" zijn leuk, en gratis, maar kost extra tijd voordat ze het voor je kunnen maken. Ik heb vandaag voor het eerst de "2D barcode (serial number)" geprobeerd.
Als je "kale PCBs" besteld en zelf wil bestukken (zoals ik) dan bestel ik vaak een stencil mee. Zet je onderaan "ja ik wil een stencil" aan dan krijg je daar ook weer een aantal opties. Mijn voorstel is om dan "custom size" en dan 195x190 op te geven. Dan kan je de stencils in een A4 map bewaren (in van die plastic hoezen).
Die kleinere stencils zijn hanteerbaarder, maar ook worden ze in een plastic ziploc zakje gedaan ipv tussen twee stukken spaanplaat (of wat dat dan ook is) en dan is het dus zonder het hout veel lichter en goedkoper in het vervoer.
Tot zover de 3 minuten JLCPCB handleiding.
@free_elektron:
Ik zit even te denken. Hoe kan je oefenen met dit bordje met FPGAs programmeren? Wat kan je zonder verdere hardware met dit bordje?
Dan kan je spelen met de ledjes. Oefening 1 is dan: maak een teller van zeg 32 bits en sluit de hoogste 8 bits aan op de leds.
Oefening 2 is Maak een ledje wat zo snel mogelijk van links naar rechts de 8 ledjes afloopt en op het eind weer bij het begin begint.
oefening 3 is om bovenstaande zichtbaar te maken voor mensen.
oefening 4 is om het ledje heen en terug te laten gaan (kitt).
Als je dan alle oefeningen "voordoet" dan leert men niets. De kracht zit hem er in dat je het zelf moet doen. Dan leer je iets. Misschien de eerste wel "voordoen", maar de rest als "oefening voor de lezer" open laten?
benleentje
Golden Member
Het enige wat ik aan feedback kan geven is. Het ziet er goed uit. Maar ik kan verder niet echt beoordelen of alles goed is.
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
@rew:
mogelijke oefeningetjes die ik in gedachten heb :
- tellertje
- shuifregister
- knight rider
- rotary encoder
- karakters sturen naar de pc (uart)
- rotary encoder waarde sturen naar de pc
- state machiene
dus zoals jij ook al in gedachten had.
combineren van blokken. bijvoorbeeld snelheid van de knight rider veranderen met de encoder.
de bedoeling is te tonen hoe je debouncer maakt, edge detector, counters en ander spul.
daarnaa kan je zelf aan de slag
Een van de praktische zaken waar ik de cpld voor gebruik nu is gans de stuurlogica voor een curve-tracer. De X/Y signalen en de cursors draaien autonoom in de CPLD. De encoders kunnen de cursor verplaatsen zonder tussen komst van de processor. De software werdt een spaghetti van interrupt handlers ( de oscilloscoop wacht niet. Er moeten 50 sweeps per seconde zijn om flikkering van het beeld tegen te gaan : analoge oscilloscoop ). De sweeps zelf wachten ook niet. Als de juiste passeert moeten de markers de A/D converter afvuren. Het gefoefel met de interrupt controller werd zo complex dat ik de ganse boel in de CPLD gestopt hebt. De processor krijgt 1 interrupt : we hebben een sample , start uw a/d converter en doe het rekenwerk om de slope en compare te tonen.
[Bericht gewijzigd door free_electron op (50%)]
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Precies! Goede oefeningen.
Ik heb nog even gekeken naar het schema (layout nog niet aan toegekomen). Is er een reden dat je de inputs aan de A-signalen van de encoders beschermt met een weerstandje, maar de B en schakelaar signalen niet? (ook de 7 andere schakelaars niet: Ik dacht dat je die ging toevoegen?).
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
heb je laatste versie ? daar zijn ze protected
https://github.com/vincent-himpe/CPLD-Board-V/blob/main/CAD/PDF/CPLD-C…
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Ik had een git pull gedaan, nog nooit meegemaakt dat ik dan niet de laatste versie heb.... vanaf nu ben ik +/- 20h offline...
Ik kijk in het pdf schema... kan het dat je die niet opnieuw gegenereerd hebt?
