CPLD & VHDL - Eingänge pull-up?

Gast #1594258
Lesenswert?

Hallo zusammen,

ich mache gerade meine ersten Gehversuche mit VHDL und CPLDs
bin heute mehrere Stunden drangesessen, dass die Übertragung klappt.
Das Xilinx WebPack schreckt ja am Anfang eher ab, als dass es hilft. ^^


nun bin ich also soweit, dass ich keine allgemeine Planlosigkeit 
verspür, sondern ein konkretes Problem hab.
An Pin 1-4 sind 4 LEDs angeschlossen (über Widerstand an GND)
An Pin 5-6 sind 2 Buttons angeschlossen (auf GND, keine ext. Pull-Ups)
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

7
entity main is
8
port(  myIn: in bit;
9
    In1: in bit;
10
    In2: in bit;
11
    Out1: out bit;
12
    Out2: out bit;
13
    Out3: out bit;
14
    Out4: out bit);
15
end main;
16

17
architecture RTL of main is
18
begin
19
  Out1 <= In1;
20
  Out2 <= not In1;
21
  Out3 <= In2;
22
  Out4 <= not In2;
23
end RTL;

pinbelegung:
1
#Outputs
2
NET "Out1"  LOC = "P1"  ;
3
NET "Out2"  LOC = "P2"  ;
4
NET "Out3"  LOC = "P3"  ;
5
NET "Out4"  LOC = "P4"  ;
6
#Inputs
7
NET "In1"  LOC = "P5"  ;
8
NET "In2"  LOC = "P6"  ;

1. Die Ausgabe funktioniert nur einmal. Also sobald ich einen Taster 
drückt, wechseln die LEDs einmalig. Sie schalten aber beim Loslassen 
nicht mehr zurück. Wenn ich das Programm richtig geschrieben hab (???), 
liegt das daran, dass die beiden Eingänge intern noch keine Pull-Ups 
haben - also das "Loslassen" nicht mehr erkannt wird. Wie realisiere ich 
es, dass die Eingänge standardmäßig auf 1 sind?

2. Den Port myIn (noch von Früher) krieg ich nicht mehr weg - sonst 
wirft das "Translate" einen Fehler. Kann mir jemand sagen, woher das 
kommt? Wo muss ich ihn noch rauslöschen, wenn ich ihn im main.vhd 
rauswerfe?
Auch wenn ich ihn aus dem vhd rausnehme, steht er nach dem synthesizen 
z.B. noch als "Top Level Port" drin, wenn man auf den Button "View RTL 
Schematic" drücke :S
Gast #1594857
Lesenswert?

ach, dass das "pullup" mit |-Strich drangeschrieben werden muss, war mir 
nicht klar. Danke.


"Clean Project Files" hat auch geholfen. Langsam wird's...


was bietet std_logic statt Bit für Vorteile, bzw wo ist der Unterschied?
Gast #1595102
Lesenswert?

doll.
jetzt hab ich den externen widerstand wieder ausgelötet und des haut 
wieder nicht hin.
Laut datenblatt hat das Ding gar keine pullups. Dreck!
Man kann sich das Leben auch schwer machen

trotzdem danke
(benutze XC9572XL -.-)
Moderator (Firma: Titel) Persönliche Seite #1595404
Lesenswert?

> Gibt es denn eine andere CPLD Reihe, die für Hobbybastler interessant
> wäre ( also nicht nur in TQFP oder BGA erhältlich ist ) ?
Nichts, was es sich neu zu lernen lohnt...  :-/
Die ispLSI Dinger von Lattice sind auch schon ewig alt.

Kauf dir doch zum Einstieg das Pollin-CPLD-Board, dann sparst du dir 
erst mal das Löten. Und ein TQFP100 ist auch nicht soooo schwer zu 
löten.
#1595445
Lesenswert?

Naja, wie Lothar schon sagte, ein CPLD ist nur in den wenigsten Fällen 
sinnvoll. Heutzutage nimmt man dafür FPGAs. Das 
Preis/Leistungs-Verhältnis ist wesentlich besser. CoolRunner II wäre bei 
Xilinx noch was halbwegs aktuelles, aber da kannst du gleich einen 
kleinen Spartan 3 nehmen. Um TQFP als Minimum kommste aber eh nicht mehr 
herum......CPLDs/FPGAs zielen nun mal nicht auf Bastler ab....

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren