Pomoč pri začetkih VHDL & Lattice CPLD

Vse kar sliši na ime CPLD, FPGA, VHDL, Verilog, ali pa se HW kako drugače zapiše v čipovje.

Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a MareBozo » 05 Apr 2018, 10:47

Pozdravljeni,

vem da je nakaj tem odprtih na drugem forumu, vendar si vseeno želim če bi tu našel koga, ki bi mi pomagal skozi začetke.
Problem 1.):
Na plati od Lattice - LC4256ZE-B-EVN sem hotel za "hello world" napravit utripanje LEDice.
Koda: Izberi vse
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity blink is
   port (
      LED: out std_logic);
end;

architecture behavioral of blink is


begin

TEST: PROCESS
   BEGIN
      LED <= '1'; WAIT FOR 500 ns;
      LED <= '0'; WAIT FOR 500 ns;
   END PROCESS;
end behavioral;

Sinteza ne uspe, predvidevam da zato ker "WAIT FOR timeout" ni možno zgenerirati in je možno uporabiti le v simulaciji?
MareBozo
 
Prispevkov: 37
Pridružen: 03 Feb 2016, 17:34
Zahvalil se je: 17 krat
Prejel zahvalo: 7 krat
Uporabnika povabil: Dorijan
Število neizkoriščenih povabil: 2

Re: Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a bluel » 05 Apr 2018, 15:00

Ko bom imel kaj vec casa ti lahko se kodo dobim oz. pripravim.

Za blink, bos moral uporabiti uro oz. CLK, ga lahko dobis od zunaj oz. nekateri
imajo to tudi noter.
To preveri v navodilih borda oz. CPLD-ja

Za delay, pac bos moral steti CLK (deliti, ) v glavnem da dobis zeljeno fekvenco,
in sele tedaj bos lahko vklapljal led.

Nekaj imas tukaj opisano
https://www.nandland.com/vhdl/tutorials ... part2.html
bluel
 
Prispevkov: 45
Pridružen: 22 Jan 2015, 10:50
Kraj: Kreplje JN65WR
Zahvalil se je: 14 krat
Prejel zahvalo: 10 krat
Uporabnika povabil: sYsop
Število neizkoriščenih povabil: 4

Re: Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a bluel » 06 Apr 2018, 09:01

Evo tukaj je se primer testiran na machXO3LF
z clk 12MHz.

.vhdl
Koda: Izberi vse
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

entity Blink is
    port(
            LED     : out  STD_LOGIC_VECTOR (7 downto 0);  -- definirano, ker ima 7 ledic
            clk        : in    std_logic
         );
end Blink;

architecture Behavior of Blink is
    signal    count    : std_logic_vector(23 downto 0);
   signal led1 : std_logic;
begin
    -- Clock Divider
    process(clk)
    begin
        if (rising_edge(clk)) then
            count <= count + '1';
        end if;
    end process;
   LED(0 downto 0) <= count(23 downto 23); -- pisem samo na ledico 0 vrednost stevca iz 23 pozicije
end Behavior;


.lpf
Koda: Izberi vse
BLOCK RESETPATHS ;
BLOCK ASYNCPATHS ;
LOCATE COMP "LED[0]" SITE "H11" ;
LOCATE COMP "LED[1]" SITE "J13" ;
LOCATE COMP "LED[2]" SITE "J11" ;
LOCATE COMP "LED[3]" SITE "L12" ;
IOBUF PORT "LED[0]" IO_TYPE=LVCMOS33 PULLMODE=UP ;
IOBUF PORT "LED[1]" IO_TYPE=LVCMOS33 PULLMODE=UP ;
IOBUF PORT "LED[2]" IO_TYPE=LVCMOS33 PULLMODE=UP ;
IOBUF PORT "LED[3]" IO_TYPE=LVCMOS33 PULLMODE=UP ;
#LOCATE COMP "gpio" SITE "B4" ;
#IOBUF PORT "gpio" IO_TYPE=LVCMOS25 PULLMODE=DOWN SLEWRATE=NA CLAMP=OFF HYSTERESIS=NA DIFFDRIVE="NA" DRIVE=NA DIFFRESISTOR=OFF ;
IOBUF PORT "LED[4]" PULLMODE=UP IO_TYPE=LVCMOS33 ;
IOBUF PORT "LED[5]" PULLMODE=UP IO_TYPE=LVCMOS33 ;
IOBUF PORT "LED[6]" PULLMODE=UP IO_TYPE=LVCMOS33 ;
IOBUF PORT "LED[7]" PULLMODE=UP IO_TYPE=LVCMOS33 ;
#IOBUF PORT "pwrdown" PULLMODE=DOWN IO_TYPE=LVCMOS33 SLEWRATE=FAST DRIVE=16 ;
LOCATE COMP "LED[4]" SITE "K11" ;
LOCATE COMP "LED[5]" SITE "L13" ;
LOCATE COMP "LED[6]" SITE "N15" ;
LOCATE COMP "LED[7]" SITE "P16" ;
#LOCATE COMP "pwrdown" SITE "K12" ;
LOCATE COMP "clk" SITE "C8" ;
FREQUENCY PORT "clk" 12.000000 MHz ;
bluel
 
Prispevkov: 45
Pridružen: 22 Jan 2015, 10:50
Kraj: Kreplje JN65WR
Zahvalil se je: 14 krat
Prejel zahvalo: 10 krat
Uporabnika povabil: sYsop
Število neizkoriščenih povabil: 4

Re: Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a VolkD » 06 Apr 2018, 09:04

:_think , dajte začet na začetku. Kaj uporabim za programator ? Kakšen HW ?
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 26536
Pridružen: 29 Dec 2014, 20:49
Kraj: Kačiče (Divača)
Zahvalil se je: 4887 krat
Prejel zahvalo: 3504 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a MareBozo » 06 Apr 2018, 11:31

@bluel: Hvala! Še eno vprašanje. Za "clk" uporabljaš zunanji pin? Interni osc? Sem zelo zelen :)
MareBozo
 
Prispevkov: 37
Pridružen: 03 Feb 2016, 17:34
Zahvalil se je: 17 krat
Prejel zahvalo: 7 krat
Uporabnika povabil: Dorijan
Število neizkoriščenih povabil: 2

Re: Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a bluel » 06 Apr 2018, 11:53

Volkd - ta plata ima ze vse gor tudi programator (ftdi2232H ce se ne motim ).
ti priklopis na USB in zadeva dela preko Lattice Diamond

Za clk uporabljam zunanji oscilator (12MHz prihaja kar iz ft2232h pin 3), ki gre na tisti pin C8 (lcmxo3l).
bluel
 
Prispevkov: 45
Pridružen: 22 Jan 2015, 10:50
Kraj: Kreplje JN65WR
Zahvalil se je: 14 krat
Prejel zahvalo: 10 krat
Uporabnika povabil: sYsop
Število neizkoriščenih povabil: 4

Re: Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a bluel » 06 Apr 2018, 12:23

Ta ispMACH 4256 ima moznost da sam generira clk.
Sicer bi moral pogledat projek, ki je prilozen http://www.latticesemi.com/view_document?document_id=40506.
Jaz uporabljam za XO3 Lattice Daimond, za ispMach 4xxxx se pa
uporablja ispLever. Zadevi sta malo razlicni, kako se konfigurira.
bluel
 
Prispevkov: 45
Pridružen: 22 Jan 2015, 10:50
Kraj: Kreplje JN65WR
Zahvalil se je: 14 krat
Prejel zahvalo: 10 krat
Uporabnika povabil: sYsop
Število neizkoriščenih povabil: 4

Re: Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a VolkD » 06 Apr 2018, 13:42

bluel je napisal/-a:Volkd - ta plata ima ze vse gor tudi programator (ftdi2232H ce se ne motim ).
ti priklopis na USB in zadeva dela preko Lattice Diamond
Je kje kaka zadeva, da jo sam sestaviš in dobiš programator za zmerno ceno ?
Želja je namreč uporabiti cpld v nekem svojem vezju.
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 26536
Pridružen: 29 Dec 2014, 20:49
Kraj: Kačiče (Divača)
Zahvalil se je: 4887 krat
Prejel zahvalo: 3504 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a MareBozo » 06 Apr 2018, 15:40

bluel je napisal/-a:Ta ispMACH 4256 ima moznost da sam generira clk.
Sicer bi moral pogledat projek, ki je prilozen http://www.latticesemi.com/view_document?document_id=40506.
Jaz uporabljam za XO3 Lattice Daimond, za ispMach 4xxxx se pa
uporablja ispLever. Zadevi sta malo razlicni, kako se konfigurira.


Demo projekt je v verilgu. Sem našel: https://github.com/hpaluch/hpaluch.gith ... kout-Board

Ta PDF govori o oscilatoru... bom poizkusil : http://www.latticesemi.com/-/media/Latt ... t_id=29135
MareBozo
 
Prispevkov: 37
Pridružen: 03 Feb 2016, 17:34
Zahvalil se je: 17 krat
Prejel zahvalo: 7 krat
Uporabnika povabil: Dorijan
Število neizkoriščenih povabil: 2

Re: Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a MareBozo » 06 Apr 2018, 15:51

VolkD je napisal/-a:
bluel je napisal/-a:Volkd - ta plata ima ze vse gor tudi programator (ftdi2232H ce se ne motim ).
ti priklopis na USB in zadeva dela preko Lattice Diamond
Je kje kaka zadeva, da jo sam sestaviš in dobiš programator za zmerno ceno ?
Želja je namreč uporabiti cpld v nekem svojem vezju.


Ti pošljem PDF shemo po skype?
Lahko si pa sam dol cukneš pa uvoziš (altium)
http://www.latticesemi.com/en/Products/ ... akoutBoard
Downloads/Desig File (registriraj se)
MareBozo
 
Prispevkov: 37
Pridružen: 03 Feb 2016, 17:34
Zahvalil se je: 17 krat
Prejel zahvalo: 7 krat
Uporabnika povabil: Dorijan
Število neizkoriščenih povabil: 2

Re: Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a MareBozo » 13 Apr 2018, 15:53

Po kratkem premoru sem si vzel par minut in poizkusil ->

Koda: Izberi vse
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
library MACH;
use MACH.components.all;

entity blink is
   port (
      LED: out std_logic_vector(7 downto 0));
end;

architecture behavioral of blink is
   signal     n,i         : std_logic_vector(7 downto 0);
   signal    osc_dis    : std_logic;
   signal    tmr_rst    : std_logic;
   signal    osc_out    : std_logic;
   signal    tmr_out    : std_logic;
   
   component osctimer
      generic(TIMER_DIV : string);
      port( DYNOSCDIS : in std_logic;
      TIMERRES : in std_logic;
      OSCOUT : out std_logic;
      TIMEROUT : out std_logic);
   end component;

begin

   I1: OSCTIMER
      generic map (TIMER_DIV => " 1048576")
      port map ( DYNOSCDIS => osc_dis,
         TIMERRES => tmr_rst,
         OSCOUT => osc_out,
         TIMEROUT => tmr_out);
   
   TEST: PROCESS(osc_out)
      BEGIN
         if(rising_edge(osc_out)) then
            i <= i + '1';
         end if;
      END PROCESS;
   TEST: PROCESS(tmr_out)
      BEGIN
         if(rising_edge(tmr_out)) then
            n <= n + '1';
         end if;
      END PROCESS;
      
      LED(7 downto 4) <= n(7 downto 4);
      LED(3 downto 0) <= i(7 downto 4);
      
      tmr_rst <= '0';
      osc_dis <= '0';
end behavioral;


Tole "skropocalo" nekaj utripa vendar ne tako kot bi si želel.
Moram si še priti na jasno, ampak clk pa dela!
MareBozo
 
Prispevkov: 37
Pridružen: 03 Feb 2016, 17:34
Zahvalil se je: 17 krat
Prejel zahvalo: 7 krat
Uporabnika povabil: Dorijan
Število neizkoriščenih povabil: 2

Re: Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a MareBozo » 11 Maj 2018, 11:24

Prišel sem do točke ko brez simulatorja ne bo šlo.
Aldec active-hdl je integriran, pa me zanimajo licence. Verjetno ni free glede na to da potrebujem še USBkey... ali pač?
Uporabniki Lattice...kako je s tem? Je kakšna free alternativa za simuliranje ?

HVALA!
MareBozo
 
Prispevkov: 37
Pridružen: 03 Feb 2016, 17:34
Zahvalil se je: 17 krat
Prejel zahvalo: 7 krat
Uporabnika povabil: Dorijan
Število neizkoriščenih povabil: 2

Re: Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a bluel » 14 Maj 2018, 09:07

Načeloma naj bi bila verzija Active HDL, ki jo dobis zraven Diamond
je lattice edition in kot mi je znano podpira tudi tisto kar podpira Diamond.
(govorim od free licence, ki jo dobis za eno leto ob prijavi)
bluel
 
Prispevkov: 45
Pridružen: 22 Jan 2015, 10:50
Kraj: Kreplje JN65WR
Zahvalil se je: 14 krat
Prejel zahvalo: 10 krat
Uporabnika povabil: sYsop
Število neizkoriščenih povabil: 4

Re: Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a VolkD » 14 Maj 2018, 09:30

bluel je napisal/-a:(govorim od free licence, ki jo dobis za eno leto ob prijavi)
In potem se prijaviš še enkrat in še,...
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 26536
Pridružen: 29 Dec 2014, 20:49
Kraj: Kačiče (Divača)
Zahvalil se je: 4887 krat
Prejel zahvalo: 3504 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a bluel » 14 Maj 2018, 10:08

Lahko se pogleda tudi tukaj

http://insights.sigasi.com/faq.html#whi ... -can-i-use

So pač malo manj prijazne rešitve (GHDL), delajo pa vredu.
bluel
 
Prispevkov: 45
Pridružen: 22 Jan 2015, 10:50
Kraj: Kreplje JN65WR
Zahvalil se je: 14 krat
Prejel zahvalo: 10 krat
Uporabnika povabil: sYsop
Število neizkoriščenih povabil: 4

Re: Pomoč pri začetkih VHDL & Lattice CPLD

OdgovorNapisal/-a MareBozo » 24 Maj 2018, 09:11

bluel je napisal/-a:Načeloma naj bi bila verzija Active HDL, ki jo dobis zraven Diamond
je lattice edition in kot mi je znano podpira tudi tisto kar podpira Diamond.
(govorim od free licence, ki jo dobis za eno leto ob prijavi)


Bil sem malo zmeden ker mi licenca ni zagrabila. Problem je bil v PATHu do licence. Sedaj dela!
MareBozo
 
Prispevkov: 37
Pridružen: 03 Feb 2016, 17:34
Zahvalil se je: 17 krat
Prejel zahvalo: 7 krat
Uporabnika povabil: Dorijan
Število neizkoriščenih povabil: 2


Vrni se na Hardware, ki se piše

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost