Jste zde

Hrátky s hradlovými poli - 1

Hradlová pole představují moderní programovatelné součástky, jejichž zvládnutí bude v krátké době podmínkou pro uplatnění řady techniků. Proto je žádoucí začít učit základní práci s nimi už na střední škole. Touto cestou jsme se vydali i na Střední škole informatiky, elektroniky a řemesel v Rožnově pod Radhoštěm.

Hardware

Všichni výrobci hradlových polí nabízí podporu svých produktů ve formě vývojových prostředků. Pro potřeby školy jsme vyzkoušeli různé, ale jednoznačně nejlepší zkušenost jsme učinili se Starter Kit Spartan 3 s typovým označením DO-SPAR3-DK. Jak je z názvu patrné, je tento kit postaven na hradlovém poli Spartan 3 firmy Xilinx.

Mnohé je patrné z obrázku, přesto však řada věcí není hned zřejmá. Pro úplnost tedy doplňuji

  • Hradlové pole Spartan 3 obsahuje 200 tis hradel (XC3S200FT256)
  • Konfigurační flash paměť XCF02S, 2 Mbit
  • Dvě rychlé SRAM 256k x 16, 10 ns
  • Port VGA
  • Port RS232
  • Port PS/2
  • Čtyřmístný, sedmisegmentový displej
  • 8 x LED
  • 8 x posuvný spínač
  • 4 x tlačítko
  • Taktovací oscilátor 50 MHz
  • Patice pro další oscilátor
  • Tři 40 pinové rozšiřující konektory

Pro potřebu školy je významné, že už základní jednotka obsahuje řadu periferií a není tedy na začátku nutné nic dalšího připojovat. Jedinou drobnou nevýhodou je, že programovací JTAG kabel dodávaný spolu s kitem je pro LPT rozhraní a tak případný USB kabel představuje další výdaj.

Výrobcem toho vývojového prostředku je firma Digilent. Na stránkách této firmy může zájemce najít řadu výrobků pro objednání, nebo alespoň pro inspiraci.

Software

Druhou podstatnou částí podpory ze strany výrobce hradlových polí musí být také potřebný vývojový software. Nejinak je to i ze strany firmy Xilinx. Pro potřeby vývojářů je na stránkách firmy k dispozici ISE WebPack. To je prostředí, které umožňuje celý vývoj počínaje založením projektu, přes tvorbu potřebných souborů, jejich simulaci až po tvorbu konfiguračního souboru a jeho zavedení do paměti kitu. V současné době je k dispozici verze 8.2i. Celý software je free, stačí se zaregistrovat. Kromě toho je na stránkách firmy ke stažení také simulátor ModelSim XE.

Blikající LED

Že práce s hradlovými poli může být i zábavné hraní, se pokusím ukázat na příkladu blikající LED diody. Toto zadání je řešitelné několika způsoby. Pokud není stanovena frekvence blikání je asi nejjednodušší použít 26 bitový binární čítač na jehož vstup připojíme oscilátor 50 MHz a na nejvyšší bit připojíme LED.

Vlastní program byl vytvořen ve VHDL jako soubor Led_cntr.vhd

 library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity Led_cntr is
    Port ( clk : in  STD_LOGIC;
           led : out  STD_LOGIC);
end Led_cntr;

architecture Behavioral of Led_cntr is
signal count : STD_LOGIC_VECTOR(25 downto 0):= "00000000000000000000000000";
begin

process (clk)
begin
   if clk="1" and clk"event then
         count <= count + 1;
   end if;
end process;
led <= count(25);

end Behavioral;

Kromě toho byl vytvořen potřebný ucf soubor, který konfiguruje vstupy a výstupy.

Oba soubory jsou ke stažení v downloadu. Pokud si budete chtít program vyzkoušet, založte ve WebPacku projekt, ale do něj netvořte žádné soubory. Do adresáře projektu pak nakopírujte soubor Led_cntr.vhd z downloadu a přidejte jej do projektu. Pak už je možné vyzkoušet si simulaci. Pokud máte k dispozici kit, přidejte do projektu taky ucf soubor a po vytvoření konfiguračního souboru můžete program zavést do konfigurační paměti. Běh programu se spouští automaticky.

 

Závěr

Program blikající LED je tak jednoduchý, že nepředpokládám nějaké problémy. Současně si však myslím, že zájemci o hradlová pole uvítají i něco složitějšího. Příští díl tedy ukáže ovládání sedmisegmentového displeje.

Ing. Jiří Král
kral.j@ centrum.cz

Downloads&Odkazy

Hodnocení článku: