Avr programerare som börjat strejka
- Henrik Kjellberg
- Inlägg: 539
- Blev medlem: 26 december 2004, 00:59:27
- Ort: Lund
Vad ska man då ha det till? Som jag uppfattat det av digitalteknik kursen jag har gått så är det just till det det ska användas till, du behöver väll dock en kompilator som är byggd för den specifika kretsen?henkebenke skrev:VHDL är ju ett hårdvarubeskrivande språk och inget programmeringsspråk så det lär du aldrig kunna köra på en µC.
Man använder inte VHDL för att skriva program till en mikroprocessor, utan för att beskriva hårdvara (grindar, vippor osv). Denna hårdvara kan t.ex. implementeras i en CPLD eller FPGA. Du kan skriva en egen processor i VHDL, men ska du skriva ett program som ska köras på den processorn får du använda ett annat språk.
- Henrik Kjellberg
- Inlägg: 539
- Blev medlem: 26 december 2004, 00:59:27
- Ort: Lund
aha!
Som du kanske märker så är jag ganska novis på detta... Kursen jag gått slutade med att gå igenom lite VHDL men inte hur det ska implementeras...
Vad är fördelen med att använda en microprocessor istället för en fpga?
Om jag nu ska använda microprocessorer så behöver jag ändå ett program som kan göra hex av min programkod, det lär bli C då det är det av de (numera efter denna nya insikt) tillgängliga programmeringsspråk som jag har mest erfarenhet av. (och bäst tillgång till experthjälp)
Som du kanske märker så är jag ganska novis på detta... Kursen jag gått slutade med att gå igenom lite VHDL men inte hur det ska implementeras...
Vad är fördelen med att använda en microprocessor istället för en fpga?
Om jag nu ska använda microprocessorer så behöver jag ändå ett program som kan göra hex av min programkod, det lär bli C då det är det av de (numera efter denna nya insikt) tillgängliga programmeringsspråk som jag har mest erfarenhet av. (och bäst tillgång till experthjälp)
Antagligen var inte läraren så duktig på att förklara vad VHDL används till.
VHDL syntax är i många avseenden likt "vanliga" programspråk som t.ex C (VHDL är väldigt likt ADA, ett annat hårdvarubeskrivande språk är Verilog som är mera likt C än VHDL, sen finns det ett relativt nytt språk som heter SystemC).
Som cyr skriver så används VHDL för att direkt beskriva hårdvara, men det är mer komplext än så. Det går även att skriva algoritmer på ett mjukvarumässigt sätt. Det finns även delar av språket som inte har någon motsvarighet i hårdvara (t.ex. filhantering, kan användas för simulering/verifiering).
VHDL går att kompilera för att köras på en processor och det är väldigt vanligt förekommande, det gör man när man kör simuleringar i program som t.ex. modelsim. Simuleringar går dock väldigt långsamt på grund av VHDL är ett hårdvarubeskrivande språk.
Vad Henrik menar med kompilering tror jag snarare är vad som kallas syntetisering. Vad som karaktäriserar hårdvara är att saker kan ske samtidigt (parallellt). Mjukvara är sekventiell, en instruktion i taget. Därför passar det sig inte att kompilera VHDL till en uC, kompilatorn skulle i princip behöva producera ett OS som håller reda när allt ska ske. Det fungerar inte. Målkretsen är istället programmerbar logik som är parallell i sin natur.
VHDL syntax är i många avseenden likt "vanliga" programspråk som t.ex C (VHDL är väldigt likt ADA, ett annat hårdvarubeskrivande språk är Verilog som är mera likt C än VHDL, sen finns det ett relativt nytt språk som heter SystemC).
Som cyr skriver så används VHDL för att direkt beskriva hårdvara, men det är mer komplext än så. Det går även att skriva algoritmer på ett mjukvarumässigt sätt. Det finns även delar av språket som inte har någon motsvarighet i hårdvara (t.ex. filhantering, kan användas för simulering/verifiering).
VHDL går att kompilera för att köras på en processor och det är väldigt vanligt förekommande, det gör man när man kör simuleringar i program som t.ex. modelsim. Simuleringar går dock väldigt långsamt på grund av VHDL är ett hårdvarubeskrivande språk.
Vad Henrik menar med kompilering tror jag snarare är vad som kallas syntetisering. Vad som karaktäriserar hårdvara är att saker kan ske samtidigt (parallellt). Mjukvara är sekventiell, en instruktion i taget. Därför passar det sig inte att kompilera VHDL till en uC, kompilatorn skulle i princip behöva producera ett OS som håller reda när allt ska ske. Det fungerar inte. Målkretsen är istället programmerbar logik som är parallell i sin natur.
- Henrik Kjellberg
- Inlägg: 539
- Blev medlem: 26 december 2004, 00:59:27
- Ort: Lund
Det var en distanskurs så jag har aldrig träffat läraren...
Men vad kan jag använda för att göra C-kod till hexfiler för den här programmeraren? (ponyprog)
Jag har inte köpt någon krets ännu, så säg bara något program som går att använda till någon typ av krets. Kretsen som ska användas måste dock ha minst 16 utgångar, men den behöver i övrigt inte vara så häftig.
Men vad kan jag använda för att göra C-kod till hexfiler för den här programmeraren? (ponyprog)
Jag har inte köpt någon krets ännu, så säg bara något program som går att använda till någon typ av krets. Kretsen som ska användas måste dock ha minst 16 utgångar, men den behöver i övrigt inte vara så häftig.
Jag använder avr-gcc kompilatorn för att göra om min C kod.
tycker den funkar bra
http://winavr.sourceforge.net/
tycker den funkar bra
http://winavr.sourceforge.net/
Såg att det fanns fler än jag som "råkat" programera avr:en till extern klocka istället för kristall...Tänkte bara tipsa om att man kan använda sig av en 555:a(timerkrets) till klockpulsen (om man inte har en dyr frekvensgenerator).
Denna koppling ger en puls med dutycycle 50/50 och en tillräcklig frekvens.
Så med denna kommer kretsen fungera igen så man kan programera fusebitarna rätt.
http://www-und.ida.liu.se/~oscer959/
Denna koppling ger en puls med dutycycle 50/50 och en tillräcklig frekvens.
Så med denna kommer kretsen fungera igen så man kan programera fusebitarna rätt.
http://www-und.ida.liu.se/~oscer959/