Regarding real numbers in SV

  1. Time scales/units only matter in places where expressions get interpreted as delays. (procedural and continuous assignment delays, timing checks, numeric time literals. 1fs is 1 * 10-6 ns.
  2. Time precision has no effect on rounding of real data types.
  3. You are performing an integer division because its two operands are integers. Any fractional result gets truncated to 0, and then the result gets implicitly cast to a real. Adding an explicit cast of the result to real does not change the fact that you are sill doing integer division. One or bother division operands must be real to perform real division.
  4. No. They are just values until used in a delay construct.