1. at ordinary times, three levels of OpenGL are as follows:
1. gate level: And or not XOR
2. RTL level: Reg comb seq
3. Behavior: + -*/
2. System Tasks
1. system tasks must be in procedures (always/initial/tasks/function.
Always written inside procedures
2. $ monitor and $ display are related to time region.
3. suspends SIM ==> $ stop
Finishes SIM ==>finish finish
4. $ the fopen parameter does not seem to be a variable (not sure)
FD = $ fopen ("path to file ");
3. $ random (SEED );
4. $ display & $ monitor string format
% M or % m ==> display hierarchical name
% S or % s ==> string
% H or % H => variable value
% T or % T => time
5. compiler directives
1. 'include "filename"
2. 'Fine <text1> <text2>
3. 'timescale <time unit>/<precision>
6. Parameters <= The Parameterized Design Bit Width must be used in combination with the--Bit Width
Note: usage and difference of Parameters & define
7. flip-flops implemented using behavior-Level Logic
8. FSM
1. mealy state machine & Moore state mache
Mealy: output may depend on current state and current input
MOORE: Output depend on current state only
2. Structure: Segment, segment, and segment
3. Code after the state machine first
9. Blocking and non-blocking assignments <<== = Time Region
4. RTL programming practices