Miauz schrieb:
> bin grad auf Fehlersuche
Nach welchem Fehler denn?
> if ((varOne xnor patt) = X"FF") then
So viele Klammern. Ganz offensichtlich ein Programmierer, der FPGA
machen muss ;-)
> Es ist in einem sequentiellen Block
Dir ist das für Programmierer etwas "eigenartige" Verhalten von Signalen
in einem Prozess bekannt und bewusst?
> &
VHDL 2008 hat unäre Versionen von AND, OR, NOR, NAND, XOR und XNOR.
Damit kannst du einen Vektor ganz einfach reduzieren:
> if ((varOne xnor patt) = X"FF") then
Ich würde das nebenläufig machen, da ist doch keine Not für einen
Prozess:
1 | test(1) <= AND(varOne xnor patt);
|
Miauz schrieb:
> ne kurze schnelle Frage wie folgender Code in VHDL aussehen würde
Und jetzt kommt der eigentliche Witz: was macht denn der Code? Wann gibt
er '1' zurück und wann '0'?
Ich habe so den Verdacht, dass das ein simpler Vergleich auf Gleichheit
ist. Denn nach dem verXNORen der beiden Vektoren ist im resultierenden
Vektor überall dort eine '1' , wo die beiden Vektoren gleich sind. Und
wenn man das dann diesen Vektor bitweise verUNDet, dann kommt nur dann
eine '1' raus, wenn alles gleich ist. Und damit reicht und ein simples
und für jeden verständlicher Vergleich:
1 | test(1) <= '1' when varOne = patt else '0';
|