Gast
#936779
Im Anhang ein "einfaches" Modell eines Speichers inklusive Testbench. Es wurde eine Komponente RAM und eine Komponente CAM definiert. RAM ist ein Dualport-RAM. CAM erweitert RAM und soll zusätzlich das Suchen eines Speicherinhaltes ermöglichen. Die Testbench soll nacheinander Daten in den Speicher schreiben, diesen lesen und anschliessend einen Inhalt suchen. Hierzu wurde ein Prozess control zur Steuerung und separate Prozesse für das Schreiben, Lesen und Suchen definiert. Die einzelnen Prozesse werden vom Control-Prozess durch das Setzen eines Start-Signals gestartet. Die einzelnen Prozesse wechseln daraufhin vom Wartezustand(Idle) in den Initialisierungszustand. Das Problem zeigt sich bei der Anweisung "data_in_cam <= "0011";" im Prozess lookup_at_cam : process (clock_cam). Wird diese Anweisung ausgeklammert ist ein Schreiben und Lesen möglich, andernfalls nicht (Simulation mit ISE Simulator unter ISE Webapck 10.1). Dies obwohl der Prozess erst nach dem Schreiben und Lesen ausgeführt werden soll. Wo ist der "Denk"-Fehler ? Danke