Discusie FPGA


bprosman
Golden Member
Gepost maandag 17 februari 2020 16:36:43 |
Je kunt ook AVR doen in een FPGA :+
https://opencores.org/projects/avr_core

Ja bprosman

die site heb ik ook gezien , voor download moet je een account aan maken . Weet jij nog hoe dat zit ?

bprosman

Golden Member

De jongere generatie loopt veel te vaak zijn PIC achterna.

Op 17 februari 2020 18:00:48 schreef jos3:
Zijn Fpga's toepasbaar in een industiële omgeving ?
...
uiteraard zal de print met fpga afgeschermd moeten zijn met b.v. een metalen behuizing.

Ja, volmondig JA. Ze worden juist heel erg veel in industriele omgevingen gebruikt. Telecom zit er vol mee, motorcontrollers, radars, vliegtuigen (ook militair). You name it. Waarom vraag je je dit af eigenlijk? Je noemt afscherming, maar waarom zou een FPGA daar gevoeliger zijn dan willekeurig elke ander component? Belangrijkste is een goede layout en ontkoppeling van voeding, niet zozeer afscherming.

Oh ja, Verilog of VHDL... gewetensvraag. Meeste pro's kunnen beide wel, maar als je voor hobby nieuw wilt beginnen vind ik Verilog een tikkie toegankelijker. Maar het maakt niet heel veel verschil. Je moet het "hardware denken" door hebben, dan maakt het niet meer uit.

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

Op 17 februari 2020 16:36:43 schreef bprosman:
Je kunt ook AVR doen in een FPGA :+

https://opencores.org/projects/avr_core

Ja, Zo ben ik aan de AVR geraakt. Ongeveer 4.5k LE in een Cyclone 2.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Waarom vraag je je dit af eigenlijk?

Ik kom in industriële omgevingen ,waar mobile bellen vaak niet meer lukt.
En collega plc programeurs zwaar bedenkingen hebben mbt op hoog frerquente straling ,EC normen etc,En vinden micro controllers en fpga's hobby spul.

Jochem

Golden Member

In een PLC zit ook een processor.
Als je collega's bedoelen dat je geen arduino ergens tussen moet knopen als robuuste oplossing dan hebben ze gelijk. Maar aan het individuele component op de printplaat ligt dat niet.

Alles staat of valt met een fatsoenlijk ontwerp. FPGAs en (micro)controllers zitten overal in, van vliegtuigen tot fabrieken.

Heb geduld: alle dingen zijn moeilijk voordat ze gemakkelijk worden.
bprosman

Golden Member

En vinden micro controllers en fpga's hobby spul.

Waar denken ze dat PLC's van gemaakt zijn ? ;-)

De jongere generatie loopt veel te vaak zijn PIC achterna.

Ook Microcontroller tegenwoordig geen hobby spul is maar ook professioneel word toegepast. Het verschil tussen CPU en microcontroller is kleiner dan ooit. Ik zag laats al een Micro voorbij komen die op 600Mhz klokt en er zijn ook al genoeg die 2 of meer CPU kernen hebben.
Een arduino zit wel in de hobbyhoek maar dat komt nog niet eens door de chip zelf maar meer door het ontwerp van de print die zo niet geschikt is voor industrie. Uiteraard is dat wel aan te passen maar zoals hierboven gezegd een goed ontwerp van de print en de voeding is zeer belangrijk.
Maar in de industrie is het dan niet alleen het EMC verhaal je wilt natuurlijk ook dat je in- en uitgangen voldoende bescherming hebben tegen zoveel mogelijk omstandigheden. En ook daar voldoet een arduino niet aan daar zit niks aan bescherming op.

Waar denken ze dat PLC's van gemaakt zijn ?

Daar zal wel een chip op zitten dit op 230V 50Hz draait want hoge frequenties kan echt niet :).

Vraagje:

Ik heb een source gedownload die is van een cyclone II board,Ik zelf heb een cyclone IV board met VGA aansluiting.
De gedownloade source gebruikt ook VGA maar met een librarie (denk ik) , Ik neem aan dat ik, In die librarie dan ook de pinnen moet veranderen ?. Bij converteren en compilen geeft het geen errors

Jochem

Golden Member

Ik denk dat je gezien je vragen eens moet beginnen met een simpel voorbeeld, zoals een blink-a-led...

Heb geduld: alle dingen zijn moeilijk voordat ze gemakkelijk worden.

Ik denk dat ik die stap wel voor bij ben, Nieuw programma led met input switch. Daarna naar de pin planner en daar zet je de pinnen goed.
Bij het board mee geleverde source staan de pinnen al goed.

Jochem

Golden Member

Laat het stukje VHDL van die blink-a-led eens zien dan?

Ik zie ook een 3 digit 7-segment display. Dat is een leuke tweede stap, al helemaal als hij gemultiplexd is. Gewoon zorgen dat er met elke druk op een knop een cijfer opgehoogd wordt. Met debouncing natuurlijk.

[Bericht gewijzigd door Jochem op 18 februari 2020 17:57:15 (66%)]

Heb geduld: alle dingen zijn moeilijk voordat ze gemakkelijk worden.
bprosman

Golden Member

Bij het board mee geleverde source staan de pinnen al goed.

Bij Xilinx gaat dat met een .UCF bestand.

De jongere generatie loopt veel te vaak zijn PIC achterna.

Op 18 februari 2020 16:38:32 schreef benleentje:
Ook Microcontroller tegenwoordig geen hobby spul is maar ook professioneel word toegepast

Geen enkele micro is ooit bedacht voor hobby. Het is allemaal voor professionele toepassingen. En daarnaast was het ook leuk voor hobby toepasbaar. Sinds de AVR voor het Arduino platform is gebruikt ging het helemaal los in de hobby hoek, maar AVR wordt evenzoveel in professionele producten gebruikt. En dat was een uitstapje naar micros.

TS, wat ga je nou met die VGA poort doen dan? Wat is je beeld daarbij? PInnen moet je uiteraard aanpassen naar de hardware die je hebt, en het gebruikte device ook. Misschien ook wel de i/o standaard.

Xilinx Vivado gebruikt een XDC file voor constraints. UCF was ISE. ... maar de TS heeft geen Xilinx maar Intel.

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

@ flip flop daar heb je helemaal gelijk in.

Ik doelde meer op het feit dat er lange tijd een groot gat zat tussen de rekenkracht van een cpu en micro controller en dat dat gat steeds kleiner word.

nahh... In de begintijd van de microcontrollers waren die dingen helemaal niet zo slap t.o.v. een CPU. De Intel 80186 is een tijd lang een populaire microcontroller geweest.... Zelf bedenken hoe dat zich verhoudt met de PCs van die tijd. :-)

Ik heb de indruk dat ze later, en dan vooral Atmel en Microchip gedacht hebben: Met 20MHz heb je toch genoeg? Waarom zouden we de boel sneller maken? Tijden lang kon je met een beetje "zorg" een Atmel tot bijna 40MHz opdraaien terwijl ie het bleef doen. Maar atmel bleef die dingen als "max 20" verkopen.

[Bericht gewijzigd door rew op 20 februari 2020 08:57:55 (39%)]

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Jochem

Ik zie ook een 3 digit 7-segment display. Dat is een leuke tweede stap

Ja met het 7-segment display ben ik nu bezig , En ik vindt het zeker niet gemakkelijk ,Ik heb nu al gezien dat er meerdere manieren zijn om dit voor elkaar te verkrijgen.

bprosman

Golden Member

Op Udemy staan een paar mooie online trainingen. Zijn niet gratis maar wel goed.

De jongere generatie loopt veel te vaak zijn PIC achterna.

Met heel veel pijn en moeite heb ik van een Youtube filmpje een script over getypt.
Wel veel van geleerd !
Dit komt er nauwkeurig die ; en spaties in VHDL.

Gisteren is mijn board binnen gekomen , Test led knippert.
Alleen die JTAG proggrammer (imitatie) van Altera is helaas nog niet afgestuurd.Na afsturen duurt het nog 30-50 dagen voor ontvangst.

Zoiets heet geen "script". Dat refereert meer naar software en dat is het, nogmaals, niet.
Die ; op het eind is uiteraard wel belangrijk, net als bij veel andere talen. Maar spaties? Dat herken ik niet zo. Ja ok, aan elkaar getypt zal het niet werken nee.

[Bericht gewijzigd door flipflop op 20 februari 2020 21:57:59 (48%)]

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

Golden Member

Ik zie ook niet helemaal in wat het probleem is.
Althans, deze syntactische futiliteiten lijken mij nou niet het voorbeeld van wat er nauwkeurig moet in VHDL. Dan kom je nog wel andere dingen tegen vrees ik.

Op 18 februari 2020 17:52:13 schreef Jochem:
Laat het stukje VHDL van die blink-a-led eens zien dan?

Ik ben nog steeds benieuwd...

Heb geduld: alle dingen zijn moeilijk voordat ze gemakkelijk worden.

Op 20 februari 2020 21:10:56 schreef jos3:
.Na afsturen duurt het nog 30-50 dagen voor ontvangst.

Dat varieert ENORM. Gisteren binnengekomen: 12 feb besteld. Gisteren binnengekomen 22 jan besteld. 11 feb binnen 6 jan besteld.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
trix

Golden Member

ik begrijp dat een FPGA niet zoals een micro controller stap voor stap werkt, maar meer "alles tegelijk".
hoe gaat dat dan met tijd kritische dingen zoals een stappen motor b.v.

eigenwijs = ook wijs

Sequentiële processen kun je in goede banen leiden met een FSM: Finite State Machine. Van 1 staat kun je dan naar een andere, onder te bepalen voorwaarden.

vhdl code:


type stepper_motor_fsm is (idle, right_1, right_2, right_3, right_4, left_1, left_2, left_3, left_4);
signal stepper_motor_state: stepper_motor_fsm:= idle;
signal stepper_clock: std_logic:= '0';
signal left_signal: std_logic:= '0';
signal right_signal: std_logic:= '0';
signal stepper_out: std_logic_vector(3 downto 0):= (others => '0');

een_of_ander_proces: process (stepper_clock)
begin
 if stepper_clock'event and stepper_clock = '1' then
  case stepper_motor_state is
   when idle =>
    if left_signal = '1' then
     stepper_motor_state <= left_1;
    end if;
    if right_signal = '1' then
     stepper_motor_state <= right_1;
    end if;
   when left_1 =>
    stepper_motor_state <= left_2;
    stepper_out <= "1000";
   when left_2 =>
    --...bla bla bla code enzo
   when others =>
    stepper_motor_state <= idle;
  end case;
 end if;
end process een_of_ander_proces;

Ook kun je bijvoorbeeld door middel van een teller bepaalde vordering in een proces bijhouden.

https://i.redd.it/35rxjikgfai41.png

1 electron per seconde = 16 atto ampere!

Tijdkritische dingen gaan juist veel beter met digitale logica. Je hoeft immers niet steeds (zoals bij een micro) te wachten totdat ie een keer bij de juiste instructie langs komt.

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