Súťaž o Digilent BASYS1 - Spartan3E100

Všetko možné na prevetranie mozgových závitov.

Moderátori: Merak, Moderátori

This is.... Spartaaan

Zucastnim sa
8
24%
Nezucastnim sa
12
35%
Uz mam FPGA
4
12%
Pracujem s FPGA profesionalne
2
6%
Nemam o FPGA zaujem
4
12%
Blbost
4
12%
 
Celkom hlasov: 34

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 711
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa Tribec Zacks » 26 Sep 2014, 19:39

jop, kludne niekde upni a posli link, skoro cely vikend asi budem za pc tak nieje problem
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

BOBOR
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1069
Dátum registrácie: 15 Dec 2006, 00:00
Bydlisko: Snina, Košice

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa BOBOR » 26 Sep 2014, 19:50

ok, pošlem ti to do SS, len neviem ktorý súbor
0

Používateľov profilový obrázok
Zeren
Nový člen
Nový člen
Príspevky: 81
Dátum registrácie: 09 Nov 2013, 17:28

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa Zeren » 26 Sep 2014, 20:35

Mám pučený Spartan-3A starter kit. Minulý týden jsem rozběhal rotary encoder. Tenhle víkend bych na něm chtěl rozběhat display.
0
It's better to be hated for who you are, than to be loved for who you are not.

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 711
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa Tribec Zacks » 26 Sep 2014, 20:58

nooo takze predsa to potroche ide, btw treba pomaly spravit krok dalej a skusit nejaky state machine v kombinacii s ram/rom, ak sa nechce velmi vymyslat tak prvy state tlacidlo, druhy precitanie cisla z rom, treti state decrementovat do nuly, dalsi state indikovat, dalsi state spat na prvy :-) brat ako tip, ale kludne nieco ine, to by ste vazne mohli skusit urobit na toho spartana a poslat ci to ide tak ako ma, alebo nieco podobne.

btw rozmyslam ci vam nechat volne ruky na projekt, bude sa nieco interfaceovat (bude sa muset simulovat, viem ze vam to nikomu nechuti :mrgreen: ) to by mi bol ale problem vyhodnotit, kod zmaknem prebehnut etc, ale asi by som bol ovplyvneny subjektivne preferenciami jedneho projektu pred druhym a to nechcem, cize asi nejaka anketa, ktora zase nezohladni kod vobec. alebo zadat konkretnu funkcionalitu a pak to zostava na prebehnutie kodu a vyhodnotit co bolo elegantnejsie, popripade lepsie nakodene, minuta logika etc, tak teda demokraticky sa z toho vyzujem a necham toto na vas vyber :-)
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

Používateľov profilový obrázok
Zeren
Nový člen
Nový člen
Príspevky: 81
Dátum registrácie: 09 Nov 2013, 17:28

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa Zeren » 26 Sep 2014, 21:28

Počítám, že pomocí fsm (nedovedu si představit jak to udělat jinak :-D) budu vyčítat data z ROM a zobrazovat na tom 16x2 displayi a třeba pomocí toho encoderu to budu posouvat.
Pak dám vědět jak to dopadlo. :D
0
It's better to be hated for who you are, than to be loved for who you are not.

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 711
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa Tribec Zacks » 26 Sep 2014, 21:48

jj urcite, nejaky jutub by tiez potesil, vela fpga projektov tu nieje :)
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

mato3000
Power user
Power user
Príspevky: 9767
Dátum registrácie: 04 Jan 2009, 00:00
Bydlisko: BA

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa mato3000 » 26 Sep 2014, 22:23

no a sa stále snažím logicky pochopiť, ako funguje tá logika :). Takže som trochu pozadu, ale postupujem a pomaly sa dostávam k logickému výsledku :rolleyes:
0

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 711
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa Tribec Zacks » 26 Sep 2014, 22:33

mato3000, nestras, ved ta logika je cela logicka :) co mas na mysli konkretne? som dufal ze tie moje dve videa daju aspon aky taky "insight" ako to vlastne funguje a trochu nacrtnu ako treba pri tom rozmyslat. ak si neprebehol to druhe video tak je tam rozkreslene a opisane ako funguje adresovanie romky v tom mini projekte popripade switch debouncer, treba trochu potrenovat bo ti ten projektik bude dost challenge, ak ti niektore veci nejdu z nejakeho dovodu tak kludne to tu hodit, je nas tu viacej co sa tomu venujeme, tak urcite sa nejak podari vysvetlit
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

mato3000
Power user
Power user
Príspevky: 9767
Dátum registrácie: 04 Jan 2009, 00:00
Bydlisko: BA

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa mato3000 » 26 Sep 2014, 23:00

Neboj, neni to tak zlé , ja sa len zoznamujem s tým písaním. To video je dobré a je z neho jasné ako to má vyzerať. Problém je že keďže som doteraz len kreslil, tak až teraz sa zoznamujem s písaním a teda je to všetko nové. Tiež mám trochu iný HW a teda musím to jemne upravovať. Keď som spravil tik genrátor na tie dva pulzy najprv podla svojej " logiky", tak to vygenerovalo obludnú schému, ale čuduj sa svete fungovalo to :) , teda podla simulácie to šlo, ale sralo ma tá zložitosť, tak som na d tým dumal a vyhodil 80% vecí a zamenil za dva riadky a čuduj sa svete, je to tak , ako máš ty. Teraz keď na to kukám, tak si poviem " jaké jednoduché " , ale človek si musí najprv zvyknúť na tú logiku. Ale už to pekne začína zapadať do seba, až som z toho prekvapený. Takže môžem ísť konečne ďalej :agree:

Takže ja sa musím ešte trocha popasovať s logikou písania a bude to fajn.
0

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 711
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa Tribec Zacks » 26 Sep 2014, 23:54

practice makes it perfect ;-)

ono ked pises cokolvek nepozeraj na to ze zratavas napriklad dve cisla, ale ze zratavas dva logicke signaly ulozene v dvoch registroch a ako bude vypadat vysledok v tom vyslednom a tiez ze to na fpga bude hw adder a nie "fancy" mcu adder ktory ti to osetri o nejake sign bity a podobne, popripade ak si vytvoris signal, ktory sa clockuje, ze z toho bude register a teda vysledok v nom bude az o dalsi clock atd, ak mozem poradit skus si urobit jednoduchy mux pomocou case statementu a potom pomocou if statementu a kukni rtl wiever co to robi, pak porozmyslaj aku logiku cakas od toho, ci potrebujes porovnavat (if else) alebo ci len dopravit niekam nejake signaly za urcitych okolnosti (case ) btw ak ti predtym rtl wiever vyplul nejaky bordel tak treba potom planahead pre-synthesis, post-synthesis ti to uz ukaze rozpakovane na jednotlive registre, tak uz to nieje take prehladne.

inak tiez bojujem, momentalne so sinusovkou a linearnou interpolaciou, takto to po asi stvrtom pokuse vypada ked sa to chce vyriesit a nie bezhlavo niekde okopirovat, ta horna mala byt interpolovana :-)
Obrázok
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

centesco
Nový člen
Nový člen
Príspevky: 73
Dátum registrácie: 14 Feb 2010, 00:00
Bydlisko: NR
Vek: 39
Kontaktovať používateľa:

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa centesco » 27 Sep 2014, 12:50

Ako vidim tak som trochu pozadu :oops: Minuly vikend som sa snazil este len rozbehat ISE, 64bit verzia ale na 64bit W8.1 nefunguje korektne - vsetko som musel spustat rucne ako 32bit, ked som dal v ISE nieco urobit, uz to same spustalo 64bit aplikacie, no hruza. V praci mi to islo, len tam nemam tolko casu.

Mate niekto nejaky dobry zdroj (ebook, linku) kde sa da nastudovat syntax Verilog/VHDL ? Zatial som nasiel len porovnanie Verilog/VHDL a nejake tutorialy na fpga4fun, vsetko je to celkom pochopitelne, len ked sa snazim nieco napisat tak neviem presne co ako...
0

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 711
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa Tribec Zacks » 27 Sep 2014, 13:24

centesco, no pracujeme potroche, som sa tu dva tyzdne velmi neozyval ale ako vidiet tak sa neleni ;-)
okolo vhdl mozes skusit pozriet:
http://hep.uchicago.edu/~tangjian/SVT_s ... torial.pdf
http://www.ics.uci.edu/~alexv/154/VHDL-Cookbook.pdf
http://www.xilinx.com/support/documenta ... _1/sim.pdf treba pogooglit novsiu verziu, tato je outdated
taktiez je mozne v ise pozret language templates, menu - > wiev - toolbars - language template
potom na toolbare klik ikonu ziarovky a dalej prekutrat co tam je, alebo vhdl -> synthesis construct -> coding examples

v tom synthesis and coding guide aj v templatoch xilinx pouziva notaciu if(clk='1' and clk'event) then, treba to vymenit na if rising_edge(clk)then alebo falling edge, je to ovela bezpecnejsie.



BOBOR pls daj vedet ci to robi to co ma, popripade ci sa to malo niekde spravat nejak inak
davam to na yt ako unlisted, takze sa to nikde podla vyhladavania neobjavi
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

BOBOR
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1069
Dátum registrácie: 15 Dec 2006, 00:00
Bydlisko: Snina, Košice

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa BOBOR » 27 Sep 2014, 13:30

no jednotlivé pozície na displeji sa menia ale mali by tam byť čísla 0 až 3 podľa dvojíc prepínačov, skontrolujem to ešte v simulácii
0

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 711
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa Tribec Zacks » 27 Sep 2014, 16:58



BOBOR, skus na zaciatok urobit jeden 16 bit register v ktorom kazde 4bity budu zodpovedat jednej segmentovke (hex-to-7seg decoder), pak tymi prepinacmi rovno ovladaj napriklad dolnych 8bitov (horne dva segmenty budu 0 napr). sprav zvlast proces ktory pomocou 2bit countru postupne vybera bity pre kazdu segmentovku, nieco stylom :

case counter is
when "00" => seg_catho <= register(16 downto 13);
when "01" => seg_catho <= register(12 downto 8);
when "10" => seg_catho <= register(7downto 4);
when "11" => seg_catho <= register(3 downto 0);
when others => null;
end case;

dekoderom 2-to-4 synchronizuj anody 7segmentu z rovnakeho counteru


---
a sry, urcite pozri rtl wiever a kolko clockov (D registrov v ceste) trva vyplut dekoderu data na spolocnu katodu segmentu, tolko isto to musi trvat aj dekoderu na katody.
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

BOBOR
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1069
Dátum registrácie: 15 Dec 2006, 00:00
Bydlisko: Snina, Košice

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa BOBOR » 27 Sep 2014, 17:50

no vidím že aj druhý pokus bol neúspšný :lol: prerobím to a nakáblikujem si displej na svoje CPLD aby som ti to nemusel vždy posielať
0

Používateľov profilový obrázok
Zeren
Nový člen
Nový člen
Príspevky: 81
Dátum registrácie: 09 Nov 2013, 17:28

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa Zeren » 27 Sep 2014, 18:18

Tribec Zacks napísal: v tom synthesis and coding guide aj v templatoch xilinx pouziva notaciu if(clk='1' and clk'event) then, treba to vymenit na if rising_edge(clk)then alebo falling edge, je to ovela bezpecnejsie.
Koukám, že bych si to měl u sebe předělat.
0
It's better to be hated for who you are, than to be loved for who you are not.

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 711
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa Tribec Zacks » 27 Sep 2014, 18:27

BOBOR, nieje problem, ked uz pojde o placku tak bude ten pocet vyskusania limitovany alebo este nieco prespekulujem ;-)

Zeren jop, tu je to pekne vysvetlene:
http://forums.xilinx.com/t5/New-Users-F ... d-p/298387
http://vhdlguru.blogspot.ie/2010/04/dif ... k-and.html


v ise som nepozeral rozdiel co nastroj robi, ale quartus koli tomu riesi logiku kus rozdielne.
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

BOBOR
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1069
Dátum registrácie: 15 Dec 2006, 00:00
Bydlisko: Snina, Košice

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa BOBOR » 27 Sep 2014, 19:07

v simulátore to fungovalo tak neviem v čom môže byť problém
Prílohy
sseg.png
0

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 711
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa Tribec Zacks » 27 Sep 2014, 19:36

ten timing diagram vypada celkom v poriadku, ak nemas problem mi to hodit do ss tak sa na to mrknem, mi to je nejake podozrive, v ise potom menu - > project - clean up project files a pak zapakovat nech tam nieje ziaden balast zo syntezy etc
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 711
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: Súťaž o Digilent BASYS1 - Spartan3E100

Príspevok od používateľa Tribec Zacks » 28 Sep 2014, 20:31

zdravim pani, tak bola poziadavka na tick generator z druheho videa, nechcem aby mal ktokolvek nejaku "vyhodu" tak to tu postujem cele pre kazdeho. je to moje riesenie, urcite sa do ta riesit aj inak a urcite privitam iny napad na tick generator, tiez nemam v hdl 10r skusenosti.

Kód: Vybrať všetko

----------------------------------------------------------------------------------
-- Tick gen
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;


entity tick_gen is
    Port ( clk      : in  STD_LOGIC;
           reset    : in  STD_LOGIC;
           tick1    : out STD_LOGIC;    --  ~84ms @ 25MHz
           tick2    : out STD_LOGIC);   -- ~2.6ms @ 25MHz
end tick_gen;

architecture Behavioral of tick_gen is

    signal counter      : unsigned(20 downto 0);
    signal tick1_clk    : std_logic;
    signal tick2_clk    : std_logic;
    signal tick1_clk_q  : std_logic;
    signal tick2_clk_q  : std_logic;
    
begin

    tick:process(clk, tick1_clk, tick2_clk, tick1_clk_q, tick2_clk_q) begin
        if rising_edge(clk) then
            if reset = '1' then
                counter     <= (others => '0');
                tick1_clk   <= '0';
                tick2_clk   <= '0';
                tick1_clk_q <= '0';
                tick2_clk_q <= '0';
            else
                
                counter  <= counter + 1;
                
                tick1_clk   <= counter(20);
                tick1_clk_q <= tick1_clk;
                
                tick2_clk   <= counter(15);
                tick2_clk_q <= tick2_clk;
                
            end if;
        end if;
        
        tick1 <= not tick1_clk and tick1_clk_q;
        tick2 <= not tick2_clk and tick2_clk_q;
        
    end process;
    
end Behavioral;

btw vyhnut sa problemom znamena pouzivat len std_logic a numeric_std :-)
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

Zamknuté