Gast
#1535928
hallo, vorweg ich bin ein anfänger in verilog :) ich moechte einen xc95144 cpld verwenden an dem ein 12 ns sram und ein pic32 haengt. der pic soll ein signal senden worauf das cpld reagiert und anschliessend auf das sram zugreift und irgendwas damit macht und zum pic32 zuruecksendet. warum und was da passiert ist eigentlich egal mir gehts erstmal nur ums prinzip. nun hat ja das sram eine zugriffszeit von 12 ns somit muss ich nach dem zugriff auf das sram 12ns warten bis ich das ergebnis zurueck an den pic32 geben kann. und genau hier liegt mein problem. eben das delay wie realisiere ich sowas ?. -erste idee delay zeichen. geht ja nur in der simulation. -zweite idee war ein clock einzufuehren wo ich dann beim naechsten clock das ergebnis abhole. moechte ich aber nicht unbedingt. -dritte idee war ein delay via logik zu erzeugen. ich erinnere mich das ich mal den thread 8mb sdram grafikkarte von benedikt gelesen habe wo er mit logik ein delay vom clock erzeugt hat. somit waere die dritte idee die die ich verwenden moechte. nur wie bin ich mir nicht ganz sicher wie. so wie ich den das blocking assignment verstanden habe werden werden die zuweisungen nicht parallel wie bei nonblocking ausgefuehrt. sprich sowas wie: always @ (posedge pic32signal) begin // hier zugriff aufs sram dummy = 1; dummy = 0; dummy = 1; // hier daren abholen end die 3 dummy zuweisungen muessten ein delay erzeugen. ist das richtig ? naechste frage macht man das so oder gibt es einen besseren weg ? klar kann man das auch simulieren. soweit bin ich jedoch noch nicht mir gehts erstmal nur darum es zu verstehen. und zu fragen wie mans richtig macht. lg :)