Re: GAL ... la la la ...



Masz problem? Zapytaj na forum elektroda.pl z bramk± pl.misc.elektronika!

Poprzedni Następny
Wiadomość
spis tre¶ci
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 :-)