Request for a MATLAB Code Segment equivalent to "always" construct of Verilog or Verilog-AMS
2 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (1 件)
Sean
2011 年 1 月 31 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Startup and Shutdown についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!