Re: GAL ... la la la ...
Masz problem? Zapytaj na forum elektroda.pl z bramk± pl.misc.elektronika!
From: "Juliusz" <juliusz_at_nospam_multi-ip.com.pl>
Subject: Re: GAL ... la la la ...
Date: Sat, 31 Jul 1999 18:12:34 GMT
rugala napisał(a) w wiadomości: <377802E9.492ACEEC_at_nospam_free.polbox.pl>...
Czy ktos programowal GALe w ispSynario lub ispVHDL ???
Czy jest mozliwosc podpiecia do wejscia CLk przerzutnikow sygnalow
poddanych uprzednio obrobce ( np. po przejsciu przez jakas kombinacje
bramek )???
To trywialna sprawa programowac GALA w VHDL
no macie przyklad - 10 bitowy licznik, z zerowaniem-resetem i kierunkiem
liczenia i enable. Zajmujie ledwo ponad polowe 22V10. Zmiesci sie jeszcze
kupa innego dobra.
library ieee;
use ieee.std_logic_1164.all;
library work;
use work.std_arith.all;
entity counter is
port (reset_n :in std_logic; -- asynchroniczny reset
clk :in std_logic;
dir :in std_logic; -- 1 = w gore, 0= w dol
enable :in std_logic; -- 1 = licznik "enable"
count :out std_logic_vector (9 downto 0)
);
end counter;
architecture arch_counter of counter is
signal ile :std_logic_vector (9 downto 0); -- ile to wewnrtrzna komorka
"pamietajaca" stan licznika
begin
process (reset_n, clk, dir, enable)
begin
if reset_n='0' then
ile <= "0000000000"; -- to jest reset asynchroniczny
elsif clk'event and clk='1' then -- na zbpczu dodatnim liczymy
if enable='1' then -- jesli wybrany (takie jakby CE#)
if dir='1' then
ile <= ile + 1;
else
ile <= ile - 1;
end if;
end if;
end if;
end process;
count <= ile; -- A TU wywalamy na nozki to co licznik policzyl
rownolegle
end arch_counter;
Trzeba sobie tylko pin numbers zdefiniowac - co na jakiej nodze ma byc. i
mamy wlasny scalak 74HCTJULIUSZ :-)
A to wychodzi jako opis po kompilacji: To jest starter kit Cypressa.
| | | | | | |
_______________
-| |-
-| |-
-| |-
-| CYPRESS |-
-| |-
-| |- Warp VHDL Synthesis Compiler: Version 4 IR x90
-| |- Copyright (C) 1991, 1992, 1993,
| _____________| 1994, 1995, 1996, 1997 Cypress Semiconductor
| | | | | | |
======================================================================
Compiling: gal0.vhd
Options: -q -yv2 -yu -e10 -w100 -o2 -ygs -fO -fP -v10 -dc22v10 -pPALCE22V
10-7PC gal0.vhd
======================================================================
--cut-----
RESOURCE ALLOCATION
Information: Macrocell Utilization.
Description Used Max
____________________________________
| Dedicated Inputs | 3 | 11 |
| Clock/Inputs | 1 | 1 |
| I/O Macrocells | 10 | 10 |
____________________________________
14 / 22 = 63 % <------
TUUUUUUUUUUU !!!!!!!!!!!!!!
Information: Output Logic Product Term Utilization.
Node# Output Signal Name Used Max
______________________________________
| 14 | count(4) | 8 | 8 |
| 15 | count(6) | 10 | 10 |
| 16 | count(8) | 12 | 12 |
| 17 | count(9) | 13 | 14 |
| 18 | count(1) | 5 | 16 |
| 19 | count(0) | 2 | 16 |
| 20 | count(2) | 6 | 14 |
| 21 | count(7) | 11 | 12 |
| 22 | count(5) | 9 | 10 |
| 23 | count(3) | 7 | 8 |
| 25 | Unused | 0 | 1 |
______________________________________
83 / 121 = 68 %
Completed Successfully
----------------------------------------------------------------------------
Messages:
Information: Output file 'gal0.jed' created.
Summary:
Error Count = 0 Warning Count = 0
Juliusz
PS wlasnie to teraz na szybkiego napisalem. Kompilowalo sie dluzej niz to
pisalem :-) Tak sie wlasnie wasze VOODOO i chipsety BX projektuje :-)