Hieronder de stappen die ik heb uitgevoerd om de boel werkend te krijgen
libpng-12
Libpng12 is een gedateerd (nu libpng16) maar veel commerciele pakketten maken er nog gebruik van.
Debian heeft dit pakket niet meer in de repository zitten dus heb ik de source gedownload van github
Deze compileren en installeren en de eerste barriere is genomen.
Quartus downloaden van de Altera (intel dus) website
Man wat een gedoe en een gezoek. de prime lite versie moet je hebben.
Waneer de installatie klaar is, begint de software te zijkzeuren over licenties en al dat soort gelul.
Echter sinds Altera is overgenomen door Intel kun je dat gewoon weg klikken en doet de software het gewoon zonder licentie.
Pas als je allerlij moeilijke high end dingen wilt doen verwachten ze dat je voor een licentie betaald.
Nou nergens voor nodig, Software CPU's kan je zelf ook implementeren en er zijn zat cores in omloop,
veel IP's kun je ook gewoon zelf bedenken (ik iig wel) en verder kun je heel goed uit de voeten met wat er al is.
AlteraBlaster permissies
Om je design naar je FGPA te kunnen sturen moet je even permissies hiervoor regelen
Dat doe je door het volgende regeltje in /etc/dev/rules.d in een nieuw bestandje toe te voegen
50_AlteraBlaster.rules
Code: Selecteer alles
# [Pascal 31-Jan-2020] Altera USB Blaster rules
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", GROUP="plugdev"
Tenslote even een heel simpel programmaatje maken om te kijken of de boel wil synthesizen en of je FPGA geflashed kan worden
Code: Selecteer alles
-- Title : MiniDevBoard
-- Function : Nieuw bordje uitproberen
-- Author : Pascal Schiks PA3FKM (C) 2020
--
-- Device : EP4CE22E22C8
-- Config : 2SP16VP
-- Board : Mini Development Board
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
use ieee.numeric_std.all;
Entity MiniDevBoard is
Port
(
--
LEDS : OUT std_logic_vector(3 downto 0) := "0000";
CLK50MHz : IN std_logic
);
End Entity MiniDevBoard;
Architecture mini_development_board of MiniDevBoard is
Signal ClkDiv : std_logic_vector(25 DownTo 0);
--
attribute chip_pin: string;
attribute chip_pin of LEDs : signal is "83,85,86,87";
Attribute chip_pin of CLK50MHz : Signal is "25";
Begin
ClockDivider : Process (Clk50MHz)
Begin
If Clk50MHz'Event and Clk50MHz='1' then
ClkDiv <= ClkDiv + '1';
End if;
End Process;
LEDS <= ClkDiv(25 DownTo 22);
End mini_development_board;