VHDL SR -Flipflop

OP #7287411
Lesenswert?

Hallo , ich habe beschäftige mich jetzt mit einer Aufgabe und zwar es 
geht um Flipflops ,
wie kann sein das bei SR Flipflop 1 1 ist undifiniert , und hier hat der 
Prof  if ((B = '1') and (C = '1')) then STATE := '1';
ich bitte euch um Erklärung
1
 library ieee;
2
 use ieee.std logic 1164.all;
3
entity WAS_BIN_ICH is 
4
 B port
5
 (A, B, C : in std_logic; 6 D, E : out std_logic); 
6
 end entity WAS_BIN_ICH; 
7
 architecture VERHALTEN of WAS BIN ICH is 
8
 begin 
9

10
process(A, B, C) is 
11
variable STATE : std logic; 
12
begin if (A = '0') then 
13
if ((B = '1') and (C = '1')) then STATE := '1'; 
14
elsif ((B = '1') and (C = '0')) then STATE := '1'; 
15
elsif ((B = '0') and (C = '1')) then STATE := '0'; 
16
else STATE := STATE;
17
 end if; 
18
else null;
19
 end if;
20
 D <= STATE; E <= not STATE; 
21
end process; end architecture Verhalten;
Angehängte Dateien:
Gast #7287419
Lesenswert?

Undefined bedeutet, dass der Ausgang einen beliebigen Wert annehmen 
kann. Hier wurde der Wert 1 gewählt, 0 ist genau so richtig. Sinnvoller 
für die Simulation wäre X. In der Realität wäre der Wert zufällig.

Aber dieser ganze VHDL-Code ist schon sehr... rustikal.
Moderator (Firma: Titel) Persönliche Seite #7287444
Lesenswert?

vancouver schrieb:
> Aber dieser ganze VHDL-Code ist schon sehr... rustikal.
Er ist sogar ziemlich unschön, weil eine speichernde Variable drin ist 
obwohl die völlig unnötige "else STATE := STATE;" Zuweisung etwas 
anderes vermuten lässt...

Warum hat der Prof da nicht einfach ein Signal genommen?

Und im Grunde ist das Schaltplansymbol auch fragwürdig, denn der C1 
sollte besser ein E1 heißen, weil die Schaltung rein kombinatorisch und 
deshalb dieser Eingang kein Clock-/Takteingang, sondern ein 
transparenter Enableeingang ist.

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