• 山西省互联网违法和不良信息举报中心——黄河新闻网 2019-01-28
  • 【三厢轿车】最新汽车报价 2019-01-28
  • 世界小姐张梓琳练功晒逆天长腿 被调侃心疼屋顶 2019-01-26
  • 福彩3d开奖结果今天:Connections to DUT Interfaces(从DualTop开始)

    排列五开奖结果查询 www.kj742.com 上一篇 / 下一篇  2018-09-28 09:26:11

            DualTop

          通常,DUT-TB验证框架具有单个SystemVerilog??樽魑ゲ?。该顶层??榘珼UT及其相关接口、协议???、连接关系和所支持的逻辑。它还包含用于创建测试平台的代码。该顶层??樗?span class="short_text" id="result_box" lang="zh-CN">这些繁杂的“东西”都会变得混乱而难以管理。管理所有这些东西的另一种方法是将与DUT直接相关的所有内容封装在包装器??橹?。Verilog允许在simulation中使用多个顶层???。这两个??槎济挥惺道?,而是都被视为顶层???。这种安排称为双顶层。
           双顶层是emulation的必需品。DUT包装器??椋ㄋゲ阒械钠渲幸桓龆ゲ悖┦莈mulator中的东西。包含测试平台的另一个顶层??椋ㄋゲ阒械牧硪桓龆ゲ隳?椋┰趕imulator中保持运行。如果测试平台仅用于simulation,则双顶层不是必需的,但是仍然可以为??榛?、重用性等目的提供有用的封装级别。
           使用uvm_config_db完成DUT包装器??楹筒馐云教ㄖ涞男槟饨涌诹油ㄐ?。

           【此处需一幅图】

           DUT Wrapper module  

           在此示例中,MAC DUT及其相关接口和协议??橐约癢ISHBONE slave memory以及WISHBONE总线逻辑包含在DUT包装器??閠op_mac中。

           module top_mac;
                  import uvm_pkg::*;
                  import test_params_pkg::*;

                  // WISHBONE interface instance
                  // Supports up to 8 masters and up to 8 slaves
                  wishbone_bus_syscon_if wb_bus_if();

                  //----------------------------------- 
                  // WISHBONE 0, slave 0: 000000 - 0fffff
                  // this is 1 Mbytes of memory
                  wb_slave_mem #(mem_slave_size) wb_s_0 (
                         ...
                  );

                  // wires for MAC MII connection
                 wire [3:0] MTxD;
                 wire [3:0] MRxD;

                 //----------------------------------- 
                 // MAC 0
                 // It is WISHBONE slave 1: address range 100000 - 100fff
                 // It is WISHBONE Master 0
                 eth_top mac_0 (
                      ...
                 );

                 // protocol module for MAC MII interface
                 mac_mii_protocol_module #(.INTERFACE_NAME("MIIM_IF")) mii_pm(
                       ...
                 );

                 initial
                    //set WISHBONE virtual interface in config space
                    uvm_config_db #(virtual wishbone_bus_syscon_if)::set(null, "uvm_test_top", "WB_BUS_IF", wb_bus_if);

           endmodule

           Testbench top module

           在创建测试平台的顶层??橹惺且桓龅饔胷un_test()的initial块。请注意导入uvm_pkg :: run_test和tests_pkg :: test_mac_simple_duplex。这些是编译run_test()代码行所必需的。

           // This the top for the tesbench in a dual top setup
           // The dut is in the top_mac dut wrapper module
           module top;
                  import uvm_pkg::run_test;
                  import tests_pkg::test_mac_simple_duplex;

                  initial
                     run_test("test_mac_simple_duplex"); // create and start running test
                  endmodule

            Questasim with more than one top level module

            对vsim的调用包括多个顶层???。

            #Makefile
            ...
            normal: clean cmp
                 vsim +nowarnTSCALE -c top top_mac -suppress 3829 -do "run -all"
            ...

            (在//verificationacademy.com/uvm-ovm上在线下载源代码示例)。


    TAG:

     

    评分:0

    我来说两句

    显示全部

    :loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

    日历

    « 2018-12-09  
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     

    数据统计

    • 访问量: 15027
    • 日志数: 48
    • 建立时间: 2018-09-03
    • 更新时间: 2018-10-12

    RSS订阅

    Open Toolbar
  • 山西省互联网违法和不良信息举报中心——黄河新闻网 2019-01-28
  • 【三厢轿车】最新汽车报价 2019-01-28
  • 世界小姐张梓琳练功晒逆天长腿 被调侃心疼屋顶 2019-01-26