Forum: FPGA, VHDL & Co. GAL20V8 Pin Deklarierung


von Bruno (Gast)


Lesenswert?

Habe eine kleine Frage, da ich mich erst seit ein paar Tagen mit VHDL 
beschäftige.

Ich habe einen Baustein GAL20V8 und möchte damit einen Bit-Decoder 
realisieren. Das Programm dazu habe ich bereits erstellt. Leider weis 
ich nicht, wie ich die Pins des Bausteins im code so fixieren kann, dass 
sie mit meinen Vorgaben übereinstimmen.

z.B:
GAL Pin3 = in1
GAL Pin4 = in2
GAL Pin5 = in3
GAL Pin6 = in4

GAL Pin22 = out1
GAL Pin21 = out2
GAL Pin20 = out3
GAL Pin19 = out4
GAL Pin18 = out5


Code:
1
library ieee;
2
use ieee.std_logic_1164.all;
3
use ieee.std_logic_arith.all;
4
use ieee.std_logic_unsigned.all;
5
6
entity Decoder_Filter_ent is
7
PORT   (in1, in2, in3, in4     :IN std_logic;
8
  out1, out2, out3, out4, out5  :OUT std_logic;)
9
10
11
end;
12
13
architecture Decoder_Filter_arch of Decoder_Filter_ent is
14
begin
15
16
out1 <= ((in2 and not in3 and not in4) or (not in1 and in2 and in3 and in4) or (not in1 and not in2 and in3 and not in4) or (not in1 and not in2 and not in3 and in4));
17
out2 <= ((not in1 and not in2 and in3 and in4) or (in1 and in3 and not in4) or (in1 and in2 and not in4) or (not in1 and in2 and not in3 and in4));
18
out3 <= ((in1 and not in2 and in4) or (not in2 and in3 and not in4) or (not in1 and in2 and in4));
19
out4 <= ((not in2 and not in3 and in4) or (not in1 and not in3 and in4) or (in2 and in3 and not in4));
20
out5 <= ((not in2 and in3 and in4) or (not in1 and in3 and in4) or (in1 and in2 and not in3 and in4));
21
22
23
end Decoder_Filter_arch;


Danke für Eure Hilfe

von Marius W. (mw1987)


Lesenswert?

Wenn du nicht die Entwicklungsumgebung nennst, mit der du arbeitest, 
wirst du mit deiner Anfrage hier wohl kaum Erfolge verzeichnen können.

MfG
Marius

von Bruno N. (nusbr)


Lesenswert?

Sorry...
Ich arbeite mit IspLever, habe aber gedacht, dass ich diese gerade im 
VHDL File deklarieren kann.

von Marius W. (mw1987)


Lesenswert?

Ich kenn mich zwar mit ispLever nicht aus, aber schau mal ob es irgendwo 
einen Constraints-Editor gibt. Dort findest du die "Location 
Assignments".

MfG
Marius

von bko (Gast)


Lesenswert?

kenne mich mit isplever nicht aus aber vielleicht
hilft das weiter:
Beitrag "Re: ISP-Lever LATTICE Port definieren"

von Stefan W. (wswbln)


Lesenswert?

...oder einfach schnell mal als Beispiel:

attribute loc :  string;
attribute loc of p_OSC_CLK : signal is "M9";
attribute loc of p_RxD : signal is 
"B12,A12,A13,B13,A14,B14,A15,B15,B16,C15,C16,D15,D16,E15,E16,F15";


Genauso geht das auch mit anderen Constraints:

attribute io_types : string;
attribute io_types of p_OSC_CLK : signal is "LVCMOS33";

ATTRIBUTE DRIVE : string;
ATTRIBUTE DRIVE OF p_StatusLED : SIGNAL IS "12";  -- 2,4,6,8,12,16

attribute pull : string;
attribute pull of p_PCBVersion : SIGNAL IS  "UP,UP,UP,UP";

von Stefan W. (wswbln)


Lesenswert?

(der Vollständigkeit halber: Man kann natürlich nur Attribute setzen, 
die von der jeweiligen Architektur unterstützt werden. Beim 20V8 also 
eher wohl nur die Location.)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.