tree ae479093a8d93aa26899d45e4a2d798c73580e8d
parent 2422a6cd6ee4e7aa2d3704d50f9407de7e83b7f0
author Cindy Chen <chencindy@google.com> 1605910807 -0800
committer cindychip <cindy.chen0316@gmail.com> 1605925034 -0800

[dv/common] Minor improvement for common drivers

1. tl_host_driver, the logic here is a little bit inefficient:
```
        forever begin
          seq_item_port.try_next_item(req);
          if (req != null) begin
            send_a_channel_request(req);
          end else begin
            // avoid zero delay loop and always align with clock edge to send item
            if (reset_asserted) #1ns;
            `DV_SPINWAIT_EXIT(@(cfg.vif.host_cb);,
                              wait(reset_asserted);)
          end
        end
```
If under reset, then the else statement basically checks every 1ns until
reset_deasserted. It would be much more efficient if just replace the if
statement with a wait reset done. (Thanks @weicai for the suggestion)

2. alert_receiver_base_seq:
Current alert_receiver driver does not support sig_int_error. So I added
a temp constraint here in base sequence.

Signed-off-by: Cindy Chen <chencindy@google.com>
