Types of prediction w.r.p.t SV-UVM RAL

00:08:10
https://www.youtube.com/watch?v=bFzX15lcvNw

Resumen

TLDRThis video provides an in-depth explanation of the different types of prediction mechanisms used to update real database registers in a simulation context. It introduces three distinct types of prediction: implicit (or auto) prediction, explicit prediction, and passive prediction. Implicit prediction is a default mechanism in simulators, happening automatically without user intervention. Explicit prediction allows flexibility as it can handle both register and bus sequences, updating the DUT (Design Under Test) register and register database. Passive prediction primarily utilizes bus sequences, which are converted into register sequences by the predictor equipped with an adapter. Additionally, the video discusses the role of monitors and adapters in converting and directing register and bus sequences, highlighting the importance of components like sequence, adapter, predictor, and monitor in managing data updates and ensuring that registers reflect the proper values throughout the simulation.

Para llevar

  • 🔹 Three types of prediction methods: implicit, explicit, and passive.
  • 🚀 Implicit prediction happens automatically in simulators.
  • 🛠️ Explicit prediction works with both register and bus sequences, offering flexibility.
  • 📊 Passive prediction uses bus sequences, converted by the predictor.
  • 🔄 Adapter converts bus sequences into register sequences for database updates.
  • 🧐 Monitors capture and broadcast information to components like scoreboards.
  • 📋 Registers maintain values: reset, value, mirror, and desired.
  • 💡 Predictors play a key role in updating register databases.
  • ✅ SetAutoPredict() configures implicit prediction behavior.
  • 🔍 An inbuilt adapter aids in prediction accuracy and sequence conversion.

Cronología

  • 00:00:00 - 00:08:10

    In this video, Munsef M. Ahmed continues from the previous discussion around the responsibilities of the predictor and adapter in a database system, focusing on the mechanism known as prediction. He introduces three types of prediction: implicit/auto prediction, explicit prediction, and passive prediction, which will be illustrated with diagrams. Additionally, there's a discussion on the four values maintained by a simulator for a register: reset, value, mirrored, and desired values. The mirrored value reflects the exact content of the DUT register, while the desired value is used to update the rail database in the future.

Mapa mental

Vídeo de preguntas y respuestas

  • What are the types of prediction discussed in the video?

    The video discusses three types of prediction: implicit (or auto) prediction, explicit prediction, and passive prediction.

  • What is the role of a predictor in simulations?

    In simulations, a predictor updates the real database registers through a process called prediction, using an inbuilt adapter to convert bus sequences into register sequences.

  • How does implicit or auto prediction work?

    In implicit or auto prediction, the simulator automatically updates the real database registers without manual intervention, enabled by using setAutoPredict(1).

  • What is explicit prediction and its advantage?

    Explicit prediction allows both register and bus sequences to be defined, updating both the DUT register and the register database, making it more flexible compared to implicit prediction.

  • What differentiates passive prediction from explicit prediction?

    In passive prediction, only a bus sequence is defined, and the predictor uses an analysis export to convert it into a register sequence, updating the register database, unlike explicit prediction which can use both sequences.

  • What are the four values maintained in a register block during simulation?

    The four values are reset value, value, mirror value, and desired value.

  • What is the role of an adapter in the prediction process?

    An adapter converts the bus sequence into a register sequence to update the register database accurately.

  • How are mirror and desired values used in the prediction mechanism?

    The mirror value is an exact copy of the DUT register's content, while the desired value is used to update the rail database registers during prediction.

  • How is the resistor sequence related to bus sequence in prediction?

    In prediction, the resistor sequence cannot drive directly to the DUT; it needs to be converted into a bus sequence using an adapter.

  • How does the monitor assist in the prediction process?

    The monitor captures information from the DUT register and broadcasts it to components like scoreboard and reference models using an analysis port.

Ver más resúmenes de vídeos

Obtén acceso instantáneo a resúmenes gratuitos de vídeos de YouTube gracias a la IA.
Subtítulos
en
Desplazamiento automático:
  • 00:00:00
    hi
  • 00:00:01
    munsef m ahmed here in the last video we
  • 00:00:04
    had a discussion about the introductory
  • 00:00:06
    part to the rail
  • 00:00:07
    then we discussed
  • 00:00:09
    one important question
  • 00:00:11
    and the question was
  • 00:00:12
    why backdoor access is faster compared
  • 00:00:15
    to the front door access
  • 00:00:16
    then we also discuss
  • 00:00:18
    the
  • 00:00:19
    responsibility of predictor
  • 00:00:22
    and adapter
  • 00:00:23
    now in today's video we will try to
  • 00:00:25
    understand the types of prediction
  • 00:00:28
    as in the last video we had discussed
  • 00:00:31
    the responsibility of predictor
  • 00:00:33
    is to update the real database registers
  • 00:00:37
    and this mechanism is called as
  • 00:00:40
    prediction
  • 00:00:42
    and there are three different ways of
  • 00:00:44
    prediction
  • 00:00:45
    three different types of prediction
  • 00:00:47
    first one is implicit or auto prediction
  • 00:00:51
    second is explicit prediction
  • 00:00:53
    third one is passive prediction we will
  • 00:00:56
    try to see all these prediction methods
  • 00:00:59
    with the help of diagram
  • 00:01:01
    before moving to this
  • 00:01:03
    let's have a discussion on different
  • 00:01:05
    resistor values
  • 00:01:10
    so whenever we are
  • 00:01:12
    defining a resistor and adding it to the
  • 00:01:15
    register block
  • 00:01:16
    the simulator maintain four different
  • 00:01:18
    values what are those values reset value
  • 00:01:21
    value mirror value and desired bill the
  • 00:01:25
    reset value the name itself suggests
  • 00:01:27
    that with the help of this we are
  • 00:01:28
    resetting the resistor
  • 00:01:30
    now the value the value is nothing but a
  • 00:01:33
    rand type property
  • 00:01:35
    so in the future whenever we are when we
  • 00:01:38
    want to randomize
  • 00:01:40
    we can randomize this value now the next
  • 00:01:43
    two values are mirrored value and
  • 00:01:45
    desired value so the mirror value is
  • 00:01:48
    exact mirror image of duty register
  • 00:01:50
    content so for example if duty register
  • 00:01:52
    consists of 5 value
  • 00:01:54
    then this mirror value is also equal to
  • 00:01:57
    5 this is what an exact copy or mirror
  • 00:02:00
    image of duty registered with
  • 00:02:03
    the next is desired value so the desired
  • 00:02:06
    value is nothing but the value with
  • 00:02:08
    which we are updating the
  • 00:02:10
    rail database
  • 00:02:12
    duty
  • 00:02:13
    duty
  • 00:02:14
    registers in future
  • 00:02:18
    after prediction
  • 00:02:20
    process
  • 00:02:22
    these two values mirrored value and
  • 00:02:24
    desired value will update it
  • 00:02:26
    automatically
  • 00:02:27
    after front door right and rate access
  • 00:02:32
    okay
  • 00:02:33
    now
  • 00:02:34
    we will try to see
  • 00:02:36
    the
  • 00:02:38
    different types of prediction
  • 00:02:41
    what are different types of prediction
  • 00:02:42
    with the help of diagram
  • 00:02:44
    so first one is implicit or auto
  • 00:02:46
    prediction
  • 00:02:47
    it is default for every simulator
  • 00:02:50
    and this prediction is happen
  • 00:02:51
    automatically that's why it's called its
  • 00:02:54
    auto prediction for implicit prediction
  • 00:02:57
    and with the help of set auto predict
  • 00:02:59
    within parenthesis one we can enable
  • 00:03:01
    this or within parenthesis if we give
  • 00:03:03
    zero then we can disable this
  • 00:03:07
    now we'll try to understand with the
  • 00:03:09
    help of this diagram i have taken this
  • 00:03:11
    diagram from uvm cookbook i acknowledge
  • 00:03:14
    their work
  • 00:03:17
    now we are
  • 00:03:18
    defining the resistor sequence
  • 00:03:21
    and the information contained in this
  • 00:03:23
    resistor sequence the rail database
  • 00:03:25
    resistor will update it so what is rail
  • 00:03:27
    database resistor it is an exact mirror
  • 00:03:29
    image of duty resistors and memory
  • 00:03:33
    okay so with the help of this resistor
  • 00:03:34
    sequence we are updating this rail
  • 00:03:37
    database resistors and with
  • 00:03:40
    in this resistor sequence we cannot
  • 00:03:42
    directly drive to the driver so first
  • 00:03:45
    this resistor sequence need to be
  • 00:03:47
    convert into the bus sequence and with
  • 00:03:49
    the help of this adapter
  • 00:03:50
    we are converting this into bus sequence
  • 00:03:53
    one sequence
  • 00:03:55
    and the driver responsibility
  • 00:03:57
    responsibilities to drive
  • 00:04:00
    this sequence
  • 00:04:01
    to the duty
  • 00:04:03
    first it will get the sequence with the
  • 00:04:05
    help of sequencer and drive this
  • 00:04:08
    to this sequence to the duty
  • 00:04:10
    resistor and this duty register and
  • 00:04:13
    memory will update you
  • 00:04:16
    on the on the other hand the monitor
  • 00:04:18
    will capture the same information and
  • 00:04:19
    broadcast this to the multiple
  • 00:04:21
    components like
  • 00:04:22
    scoreboard coverage collector and
  • 00:04:24
    reference model with the help of
  • 00:04:25
    analysis expo
  • 00:04:28
    so this resistor sequence first
  • 00:04:30
    converting in the bus sequence and with
  • 00:04:31
    the help of this resistor
  • 00:04:34
    duty resistors will update
  • 00:04:37
    but the problem with this auto
  • 00:04:38
    prediction or implicit prediction is
  • 00:04:40
    that each and every time we need to
  • 00:04:43
    define
  • 00:04:44
    resistor sequence only
  • 00:04:47
    if we define a bus sequence then this
  • 00:04:50
    resistor database will not update
  • 00:04:52
    only this dut register will update with
  • 00:04:54
    the help of the bus sequence so each and
  • 00:04:56
    every time we need to define the
  • 00:04:57
    resistor sequence
  • 00:04:59
    now the next
  • 00:05:00
    prediction is explicit prediction
  • 00:05:05
    in
  • 00:05:06
    this the advantage of explicit explicit
  • 00:05:08
    prediction is that it will work
  • 00:05:11
    fine with both the sequences
  • 00:05:14
    if we are defining a resistor sequence
  • 00:05:16
    then with this the duty register will
  • 00:05:18
    update
  • 00:05:19
    the
  • 00:05:20
    register database will update
  • 00:05:22
    and with the help of adapter
  • 00:05:24
    we are converting this register sequence
  • 00:05:26
    to the bus sequence and driver drive
  • 00:05:27
    this
  • 00:05:29
    information
  • 00:05:30
    contained in the sequence to the duty
  • 00:05:32
    and dvt register will update
  • 00:05:34
    and on the other hand the monitor will
  • 00:05:36
    capture the response
  • 00:05:38
    which hand which has an analysis port
  • 00:05:40
    and with the help of this analysis port
  • 00:05:42
    it will broadcast this data to multiple
  • 00:05:44
    components like
  • 00:05:45
    predictor
  • 00:05:47
    scoreboard coverage model and reference
  • 00:05:49
    model
  • 00:05:50
    and inside this predictor one resistor
  • 00:05:53
    map is there which is not shown here an
  • 00:05:55
    adapter is there so it has inbuilt
  • 00:05:57
    export
  • 00:05:59
    with the analysis export with this it
  • 00:06:01
    will get the bus sequence and it will
  • 00:06:03
    convert this bus sequence to the
  • 00:06:05
    register sequence and with the help of
  • 00:06:06
    this register sequence the resistor
  • 00:06:08
    database will update it so if we are
  • 00:06:10
    defining a bus sequence if we are
  • 00:06:12
    defining a bus sequence then it will
  • 00:06:14
    also it will work and if we are defining
  • 00:06:16
    a register sequence then then also it
  • 00:06:18
    will work so this is what an advantage
  • 00:06:20
    of explicit prediction if we are
  • 00:06:22
    defining it will work with both the
  • 00:06:24
    sequences
  • 00:06:27
    okay the next
  • 00:06:29
    is passive prediction
  • 00:06:31
    so the difference between explicit and
  • 00:06:33
    passive prediction is that in passive
  • 00:06:36
    prediction we are not defining register
  • 00:06:38
    sequence we are just defining a bus
  • 00:06:39
    sequence
  • 00:06:40
    so
  • 00:06:41
    the driver drive
  • 00:06:43
    driver first to get this bus sequence
  • 00:06:44
    with the help of sequencer and drive
  • 00:06:46
    this to the duty and duty register first
  • 00:06:49
    update
  • 00:06:50
    and monitor capture this
  • 00:06:53
    with the help of analysis port
  • 00:06:56
    it will
  • 00:06:57
    the predictor will get this with the
  • 00:06:59
    help of analysis export and the
  • 00:07:01
    the predictor
  • 00:07:02
    consists of an adapter inbuilt with this
  • 00:07:05
    this bus sequence will come
  • 00:07:08
    convert into equivalent resistor
  • 00:07:10
    sequence and with the help of this
  • 00:07:11
    register sequence the information
  • 00:07:13
    containing the resistor sequence the
  • 00:07:15
    register database will update this is
  • 00:07:17
    what the passive prediction
  • 00:07:20
    so in passive prediction just we are
  • 00:07:21
    defining a bus sequence we are not
  • 00:07:23
    defining the resistor sequence this is
  • 00:07:25
    what
  • 00:07:26
    the different types of prediction
  • 00:07:28
    so i hope with this you have understood
  • 00:07:31
    the concept of
  • 00:07:32
    predictions different types of
  • 00:07:34
    predictions
  • 00:07:35
    and an overview of prediction what
  • 00:07:37
    prediction is all about so
  • 00:07:39
    the process with which we are updating a
  • 00:07:41
    rail database registers it's called its
  • 00:07:43
    prediction prediction and we are taking
  • 00:07:46
    help of predictor which has inbuilt
  • 00:07:49
    adapter so the adapter responsibility as
  • 00:07:51
    we already discussed in the last video
  • 00:07:53
    that it will convert the bus sequence to
  • 00:07:56
    the equivalent register sequence and
  • 00:07:58
    y symbols
  • 00:08:00
    so with this i hope you have understood
  • 00:08:01
    the concept of
  • 00:08:03
    predictions and different prediction
  • 00:08:05
    methods
  • 00:08:06
    so thanks for watching
  • 00:08:08
    thank you
Etiquetas
  • prediction
  • registers
  • implicit prediction
  • explicit prediction
  • passive prediction
  • simulator
  • adapter
  • monitor