Presentation is loading. Please wait.

Presentation is loading. Please wait.

Study of Simulink™ Discrete System MOC with Metropolis Haiyang Zheng Mentors: Luciano Lavagno

Similar presentations


Presentation on theme: "Study of Simulink™ Discrete System MOC with Metropolis Haiyang Zheng Mentors: Luciano Lavagno"— Presentation transcript:

1 Study of Simulink™ Discrete System MOC with Metropolis Haiyang Zheng hyzheng@eecs.berkeley.edu Mentors: Luciano Lavagno luciano@cadence.comluciano@cadence.com Felice Balarin felice@cadence.comfelice@cadence.com

2 Outline Motivation and Introduction Simulink Discrete System MOC MOC Implementation in Metropolis A tool for automatic transformation of Simulink models into Metropolis models Simulation Demos Acknowledgement and Conclusion

3 Motivation Simulink MOC is a heterogeneous one. A non- trivial model contains both discrete and continuous models. A complex mixture model is usually hard to design, understand, and maintain. A better way is to use some simpler, better defined MOCs to model different parts of the complex system.

4 Introduction Discrete time points Continuous time intervals We choose purely discrete (sampled data) system as the study object. t0t0 t1t1 t2t2 t3t3 t Discrete time points x = 4, y = x - 2 Continuous time interval dy / dt = x + 1

5 Outline Motivation and Introduction Simulink Discrete System MOC MOC Implementation in Metropolis A tool for automatic transformation of Simulink models into Metropolis models Simulation Demos Acknowledgement and Conclusion

6 Discrete System in Simulink™ Each block in the block diagram has a sample time, the rate at which it executes during simulation. Multi-rate discrete systems contain blocks sampled at different rates. Simulator takes the simulation step as the fundamental sample time, the greatest common divisor of the system’s actual sample times. T = 0.5T = 0.25T = 0.75 A B C

7 Outline Motivation and Introduction Simulink Discrete System MOC MOC Implementation in Metropolis A tool for automatic transformation of Simulink models into Metropolis models Simulation Demos Acknowledgement and Conclusion

8 Metropolis meta-model Netlist: design of model (aggregation of objects and ports) Objects –Process: thread doing computation –Medium: Media for communication between processes State Media for communication between process and scheduler –Scheduler: defines policies to satisfy constraints Port Interface –provides functions reference of other objects Constraint

9 Discrete MOC in Metropolis I Processes communicate through channels, the medium. Each process has a period parameter, which is stored in the associated state medium. Scheduler T = 0.5, StateT = 1.0, State Read, Write State Medium Channel (Media) Process AProcess B

10 Discrete MOC in Metropolis II The scheduler calculates the schedule based on the sampled rates and invokes different processes periodically. The scheduler forces the finish of execution of processes to ensure the data precedence. The data dependency is not analyzed in the scheduler but in the model design phase. T 0 = 0.5 T = 0.5 T = 1.0 A B P = T/T 0 = 1 A B P = T/T 0 = 2 A A B Scheduler

11 Outline Motivation and Introduction Simulink Discrete System MOC MOC Implementation in Metropolis A tool for automatic transformation of Simulink models into Metropolis models Simulation Demos Acknowledgement and Conclusion

12 An Example Model T = 0.5 T = 1.0 1 2 3 4

13 Metropolis MMM Netlist public netlist simple { public simple (String name) { dtScheduler dtscheduler = new dtScheduler("dtscheduler", 4); addcomponent (dtscheduler, this); RampProcess DiscreteRamp = new RampProcess("DiscreteRamp", 0, 2); addcomponent(DiscreteRamp,this,"DiscreteRamp"); dtStateMedium s0 = new dtStateMedium("StateMedium0", 0.25); addcomponent (s0, this); connect (DiscreteRamp,smport,s0); connect (dtscheduler, StateMedium[0], s0); connect (dtscheduler, processPeriod[0], s0); …… dtchannel c0 = new dtchannel("c0"); addcomponent(c0,this,"channel0"); connect(DiscreteSubtract,outports[0],c0); connect(Scope,inports[0],c0); …… }

14 T = 0.5 T = 1.0 1 2 3 4 An automatic transformation from the block diagram representation to the text representation is necessary. Comparison

15 Transformation from Simlink Models into XML representations using MatlabUDM, a tool from Vanderbilt University. Transformation from XML representations into Metropolis MMM netlists with XSLT based tool. Two contributions: –It bridges the tools of Simulink and Metropolis with XML. –It sorts the blocks based on data dependency analysis. A Tool for Transformation from Simulink models into Metropolis models

16 Conditions for processes to be ready to execute –There is no input. –All inputs are available. Algorithm: –Construct a status array with length as the number of processes and initiate it with O indicating the process not scheduled. –Iterate the processes with given order, mark the ready process as Y, and schedule it. Repeat until all processes are marked and scheduled. Design of the Tool Data Dependency Analysis Given order of blocks as BCAD. T = 0.5 T = 1.0 1 2 3 4 A B C D OOOO BC OOYO A D B YOYO YYYO C A D YYYY (#) The sorted block order is ABCD.

17 Outline Motivation and Introduction Simulink Discrete System MOC MOC Implementation in Metropolis A tool for automatic transformation of Simulink models into Metropolis models Simulation Demos Acknowledgement and Conclusion

18 Demos (Results) A Simulink Model –Simulation result A Metropolis Model –Simulation with code generated from SystemC Result of Ramp is: 1 Result of Ramp is: 2 Result of Gain is: 4 Result of Subtract is: 2 Outputis: 2 Result of Ramp is: 3 Result of Ramp is: 4 Result of Gain is: 8 Result of Subtract is: 4 Outputis: 4 Result of Ramp is: 5 Result of Ramp is: 6 Result of Gain is: 12 Result of Subtract is: 6 Outputis: 6

19 Outline Motivation and Introduction Simulink Discrete System MOC MOC Implementation in Metropolis A tool for automatic transformation of Simulink models into Metropolis models Simulation Demos Acknowledgement and Conclusion

20 Acknowledgement & Conclusion Thanks to: –Advice from Luciano Lavagno and Felice Balarin. –Guang Yang’s help on the C-code generation of Metropolis models with SystemC. –ISIS of Vanderbilt University providing the MatlabUDM tool. A Discrete (Sampled Data) MOC is implemented in Metropolis. A transformation tool from Simulink XML models to Metropolis MMM netlists is implemented.


Download ppt "Study of Simulink™ Discrete System MOC with Metropolis Haiyang Zheng Mentors: Luciano Lavagno"

Similar presentations


Ads by Google