Request for a MATLAB Code Segment equivalent to "always" construct of Verilog or Verilog-AMS
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I like to have an code segment in MATLAB equivalent to "always" construct in Verilog or Verilog-AMS. I am explaining the idea with the following example.
$$$$$$$$$$$ Verilog-AMS Code Segments $$$$$$$$$$$$$$$$$$$
always @(posedge start)
begin TimeOfStart[NumberOfStart] = $abstime; if ((NumberOfStart == 0) && expr) begin NumberOfStart = NumberOfStart + 1; $display("Entered 0th NumberOfStart.\n"); $display("Delay calculation Initiated %f: \n", TimeOfStart[0]); @(cross(($abstime - (TimeOfStart[0] + delay)), +1, TimeTolerance)) begin if(((TimeEndExpr - TimeOfStart[0] ) < 0) || ((TimeEndExpr - TimeOfStart[0]) > delay)) begin TimeOfMatch[0] = $abstime; match = 1'b1; $display("match is asserted. \n"); end end @(cross(($abstime - (TimeOfMatch[0] + KeepMatchHighTime)), +1, TimeTolerance)) begin match = 1'b0; end end end
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Here once the always block is entred after receiving a posedge of start, the code within the begin end executes sequentially. The execution is like a thread as another posedge of start will start another always block. Basically the posedge of the start event triggers the rest of the code segment. How can I implement this kind of stuff in MATLAB?
0 Kommentare
Antworten (1)
Sean
am 31 Jan. 2011
You should look in to using a timer object. A timer can be triggered at a regular period (analogous to a rising clock edge), and can then run a Matlab function. See the following discussion of timers in the Matlab documentation:
0 Kommentare
Siehe auch
Kategorien
Mehr zu Java Client Programming finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!