µ¤·Ú¤Ë»È¤ª¤¦¤è SV & VMM & OVM & SPIN

TTL74S¥·¥ê¡¼¥º¤òÉáÄ̤˻ȤäƤ¤¤¿À¤Âå¤ËSV&OVM¡õVMM&SPIN¤Ï¤­¤Ä¤¤¤ï¡£

OVM

[ ¥ê¥¹¥È | ¾ÜºÙ ]

µ­»ö¸¡º÷
¸¡º÷

Á´5¥Ú¡¼¥¸

[1] [2] [3] [4] [5]

[ ¼¡¤Î¥Ú¡¼¥¸ ]

OVM¤ò»È¤Ã¤Æ74163-counter¤Î¥Æ¥¹¥È´Ä¶­¤òºî¤Ã¤Æ¤ß¤¿¡£­£

µ×¤·¤Ö¤ê¤ËOVM¤Ç¤¹¡£
¤³¤Î¤È¤³¤íVH¡ûL¤Ë½±¤ï¤ì¤Æ¤¤¤ÆSV¤ò¤¤¤¸¤Ã¤Æ¤¤¤Þ¤»¤ó¡£¡£´À¡Ë
¤È¸À¤¦¤³¤È¤ÇÆâÍÆ¤ÎÇö¤¤½ñ¤­¹þ¤ß¤Ë¤Ê¤ê¤Þ¤¹¡£¡£¤´¤á¤ó¤Ê¤µ¤¤


º£²ó¤Ïcounter_driver¤òºÜ¤»¤è¤¦¡£¡£

// 74163 conter driver 
// $Id 

class counter_driver extends ovm_driver #(counter_item) ;
   protected virtual counter_if counter_if0 ;
   
   `ovm_component_utils(counter_driver)
   
   function new(string name, ovm_component parent) ;
      super.new(name, parent) ;
   endfunction : new
   
   function void assign_vi(virtual interface counter_if counter_if) ;
      this.counter_if0 = counter_if ;
   endfunction : assign_vi
   
   task run() ;
      reset_signals() ;
      while(1) begin
         #10 ;
         seq_item_port.get_next_item(req) ;
         drive_signals(req) ;
         req.print ;
         seq_item_port.item_done() ;
      end
   endtask : run

   virtual protected task reset_signals() ;
      counter_if0.reset() ;
   endtask : reset_signals

   virtual protected task drive_signals(counter_item item) ;
      counter_if0.interval(item.interval) ;
      counter_if0.data_load(item.data) ;
      counter_if0.count(item.enable) ;
      #10 ;
   endtask : drive_signals
   
endclass : counter_driver

Á°²óºÜ¤»¤¿counter_seq_lib.sv¤Î
      `ovm_do(req)
¤ÇÁ÷¤ê½Ð¤·¤¿req¤ò
        seq_item_port.get_next_item(req) ;
¤Ç¼õ¤±¼è¤ë¡£¡£
¼õ¤±¼è¤Ã¤¿req¤òdrive_signals¤Ç¥«¥¦¥ó¥¿¶îưÍѤο®¹æ¤ËÊÑ´¹¤·¤Æ
¥«¥¦¥ó¥¿¡¼(conter_if¤ÎÀè)¤òư¤«¤¹¡£
   task run() ;
      reset_signals() ;
      while(1) begin
         #10 ;
         seq_item_port.get_next_item(req) ;
¤Èwhile¤Ç̵¸Âloop¤·¤Æ¤¤¤ë¤Î¤Çreq¤¬ÅþÃ夷¤¿Ê¬¤À¤±¥«¥¦¥ó¥¿¡¼¤ò¶îư¤Ç¤­¤Þ¤¹¡£

req¤Ëprint¤òÉÕ¤±¤ë¤Èreq¤ÎÆâÍÆ¤ò¥Õ¥©¡¼¥Þ¥Ã¥ÈÉÕ¤­¤Çɽ¼¨¤·¤Æ¤¯¤ì¤ë¤è¡£¡£
Ãí¡Ë¤³¤ÎÊÕ¤¬OVMʬ¤«¤ê¤ä¤¹¤¤ÊØÍøµ¡Ç½¤Î°ì¤Ä¤«¡£¡£
¾ÜºÙ¤Ïcounter_item¤Î¿Æovm_sequence_item¤ò¸«¤Æ¤Í¡£¡Ê¥½¡¼¥¹¤ò¸«¤ë¤ó¤À¤è¡£¡£´À¡Ë

systemVerilog OVM¡¡LSI¸¡¾Ú ²óÏ©¸¡¾Ú

ÊĤ¸¤ë ¥³¥á¥ó¥È¡Ê0¡Ë

ÊĤ¸¤ë ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¡Ê0¡Ë

OVM¤ò»È¤Ã¤Æ74163-counter¤Î¥Æ¥¹¥È´Ä¶­¤òºî¤Ã¤Æ¤ß¤¿¡£­¢

Á°²ó¤Î¤Ä¤Å¤­¡£¡£

º£Æü¤Ïcounter_seq_lib.sv¤òºÜ¤»¤è¤¦¡£

// 74163 counter sequence lib
// $Id$

class counter_seq_do extends ovm_sequence #(counter_item) ;
   protected virtual counter_if counter_if0 ;

   function new(string name="counter_seq_do") ;
      super.new(name) ;
   endfunction // new

   `ovm_sequence_utils(counter_seq_do, counter_sequencer)

   virtual task body() ;
   while(1) begin
//       $display("testtt ------------------------------------- ") ;
      `ovm_info(get_name(), $psprintf("In body() of %s", get_name()), 1000)
      `ovm_do(req)
       req.print() ;
   end
   endtask // body

endclass : counter_seq_do

¥é¥ó¥À¥à¸¡¾ÚÉôʬ¤Ï
`ovm_do(req) ;

`ovm_do(req)¤Î¤Ê¤«¤Ç .randomize()¤ò¸Æ¤ó¤Ç¤¤¤Æ
couter_item.sv¤Çµ­½Ò¤·¤¿À©Ìó¤Ë½¾¤Ã¤ÆÍð¿ô¤òȯÀ¸¤¹¤ë¡£


`ovm_do¤Î³ç¸ÌÆâ¤Ë¤¢¤ëreq¤Ïclass ovm_sequence¤ÎÃæ¡£¡£line-37¤Ë¤¢¤ë¡£
¤ä¤Ï¤êOVM¤Î¥½¡¼¥¹¤òÇÁ¤«¤Ê¤¤¤È¥³¡¼¥É¤ò½ñ¤±¤Ê¤¤¤Î¤«¤Ê¡£
¤á¤ó¤É¤¯¤µ¤¤¤Í¡ª¡ª

ËßµÙ¤ßÌÀ¤±¤Î°Ù¤«µ¤¹ç¤¤¤¬Æþ¤ê¤Þ¤»¤ó¡ª¡ª
º£Æü¤Ï¤³¤ì¤Ç¤ª¤·¤Þ¤¤¡£¡£

OVM systemVerilog ²óÏ©¸¡¾Ú

ÊĤ¸¤ë ¥³¥á¥ó¥È¡Ê0¡Ë

ÊĤ¸¤ë ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¡Ê0¡Ë

OVM¤ò»È¤Ã¤Æ74163-counter¤Î¥Æ¥¹¥È´Ä¶­¤òºî¤Ã¤Æ¤ß¤¿¡£

OVM2.1.1¤ò»È¤Ã¤Æ74163¥«¥¦¥ó¥¿¤Î¸¡¾Ú´Ä¶­¤òºî¤Ã¤Æ¤ß¤¿¡£

4bit¤Î¥«¥¦¥ó¥¿¡¼¤´¤È¤­¤ËOVM¤Ê¤ó¤Æ¤È»×¤ï¤ì¤ë¤«¤âÃΤì¤Ê¤¤¤¬¡£¡£
ºî¤Ã¤¿²óÏ©¤ËOVM¥Æ¥¹¥È¥Ù¥ó¥Á¤ò¤Ä¤±¤í¤È¸À¤¦¤Î¤Ï¾å»Ê¤À¤±¤Ç¤Ê¤¯
µÒÀè¤â¸À¤Ã¤Æ¤¯¤ëÆü¤Ï¤â¤¦ÌܤÎÁ°¤À¡¢Íýͳ¤Ï¤½¤Î¤¦¤Á¤Ë¤Í¡£¡£

OVM¥Æ¥¹¥È¥Ù¥ó¥Á¤Ï¤½¤ì¤Ê¤ê¤Î¹½À®¤Çsequencer¤äenv¤òÈ÷¤¨¤¿¡£²¼µ­¤ËÀâÌÀ¤È¹Ô¿ô¤òÆþ¤ì¤¿¡£

1 counter_item ¥Ç¡¼¥¿ 20line
2 counter_sequence ¥é¥ó¥À¥àÀ¸À® 18line
3 counter_sequencer ¥·¡¼¥±¥ó¥µ 9line
4 counter_driver ¥É¥é¥¤¥Ð 34line
5 counter_env ´Ä¶­ 36line
6 counter_tb top¥â¥¸¥å¡¼¥ë 37line

µ×¤·¤Ö¤ê¤Ëºî¤Ã¤¿¤Î¤ÇÄ´¤ÙÄ´¤Ù¤Ç£±Æü¤°¤é¤¤¤«¤«¤Ã¤¿¡£
´¶Áۤϳä¤È¤¹¤°¤Ë½ÐÍ褿¤Ê¡£¡£4bit¥«¥¦¥ó¥¿¡¼¤ÎTB¤Ç£±Æü¤â³Ý¤±¤ë¤Î¤«¤È
»×¤¦¤À¤í¤¦¤¬³ÈÄ¥À­¤¬Í­¤Ã¤Æ¥é¥ó¥À¥à¸¡¾ÚÉÕ¤­¤ÎTB¤òµ×¤·¤Ö¤ê¤Ë¡¢¤À¤«¤é
¤³¤ó¤Ê¤â¤ó¤À¤í¤¦¤È»ä¤Ï»×¤¦¤¼¡£¡£

¤¤¤Þ¤µ¤éOVM¤Î´Êñ¤Ê¥µ¥ó¥×¥ë¤ò¤È»×¤ï¤ì¤ë¤¬Îɤ¤¥Í¥¿¤ò»×¤¤¤Ä¤«¤Ê¤¤¤Î¤Ç¡£¡£
¾¯¤·¤º¤Äblog¤ØºÜ¤»¤Æ¤æ¤­¤Þ¤·¤ç¡£º£²ó¤Ï counter_item.sv ¥é¥¤¥»¥ó¥¹¤ÏApache2¤È¤·¤Æ¤ª¤¯¤¼¡£¡£
// 74163 counter test bench
class counter_item extends ovm_sequence_item ;

   rand int unsigned data ;
   rand int unsigned enable ;
   rand int unsigned interval ;

   constraint c_data0     {data < 4'hf ;}
   constraint c_enable0   {enable < 4'hf ;}
   constraint c_interval0 {interval < 4'h3 ;}

   `ovm_object_utils_begin(counter_item)
      `ovm_field_int(data, OVM_ALL_ON)
      `ovm_field_int(enable, OVM_ALL_ON)
      `ovm_field_int(interval, OVM_ALL_ON)
   `ovm_object_utils_end

   function new(string name="counter_item") ;
      super.new(name) ;
   endfunction : new

endclass : counter_item

data¤Ï¥«¥¦¥ó¥¿¡¼¤Î¥í¡¼¥ÉÃͤòenable¤Ï¥«¥¦¥ó¥¿¡¼Æ°ºî»þ´Ö¡¢interval¤Ïưºî´Ö³Ö¡£¡£
TLM¤Ê¤Î¤ÇºÙ¤«¤ÊÀ©¸æ¾ðÊó¤ÏÁ÷¤ëɬÍפϤʤ¤¡£
º£²ó¤«¤é¤Ïfull¥¹¥Ú¥Ã¥¯¤ÎsystemVerilog¤ò»È¤¨¤ëRiviera-PRO(¥¢¥ë¥Ç¥Ã¥¯¡Ë¤Ê¤Î¤Ç
Íð¿ô¤ÎÀ¸À®ÈϰϤòÀ©Ìó¤Ç½ñ¤¯¡¢¤³¤ì¤¬³Ú¤Á¤ó¤Ê¤ó¤À¤Ê¡£¡£¥×¥í¥°¥é¥ß¥ó¥°¤ÇÀ¸À®ÈϰϤò
½ñ¤¯¤Î¤Ï¤ä¤Ï¤êÌÌÅݤ¦¤À¤Í¡ª¡ª

OVM systemVerilog IEEE 1800-2009

>>¥È¥Ô¥Ã¥¯
74163¥í¡¼¥ÉÉÕ¤­4bit¥«¥¦¥ó¥¿¡¼¤òÃΤäƤ¤¤ë¿Í¤Ï¤â¤¦µï¤Ê¤¤¤«¡£¡£
¤¦¤ó½½Ç¯Á°¤Ï
¡¡¡¡¡¡FPGA¤Î¥Á¥å¡¼¥Ë¥ó¥°¡¡¡á¡á¡¡¤³¤Î¥«¥¦¥ó¥¿¡¼ÆâÉôÏÀÍý¤òÍý²ò¤·±þÍѤ¹¤ë
¤È¸À¤¦»þÂ夬ͭ¤Ã¤¿¤Î¤À¤¬¡£¡£
¤³¤Îº¢¤Îaltera-AHDL¤Ç
¡¡count <= count + 1 ;
¤ò¹çÀ®¤¹¤ë¤È¥²¥í¤¬½Ð¤½¤¦¤Ê¥Í¥Ã¥È¤ò½Ð¤·¤Æ¤¤¤¿¤Í¡£¡£
¤½¤³¤Ç¥«¥¦¥ó¥¿¡¼ÏÀÍý¤ÎÍý²ò¤¬É¬ÍפǤ¢¤Ã¤¿¡£
xilinx¤Ë»ê¤Ã¤Æ¤Ï¡¢¹çÀ®´ï¤¬Ìµ¤¯¤ÆÏÀÍý¼°¤ò¼ê½ñ¤­¤¹¤ë¡¢
¤³¤Î»þ¤ËÎã¤Îxilinx-5ÆþÎÏcell¤ÎÀ©Ìó¤Ç74163¤Ç»È¤ï¤ì¤Æ¤¤¤ë¥­¥ã¥ê¡¼¤ò
ʬΥ¤·¤ÆÅÁȤòÍý²ò¤¹¤ëɬÍפ¬¤¢¤Ã¤¿¡£¡£
¤Ç¤âº£¤Ç¤ÏÉÔÍ×ÉÔÍס£¡£ÆÃÊÌ®¤¤²óÏ©¤Ï¥Ï¡¼¥É¥Þ¥¯¥í¤ò»È¤¦¤Î¤¬Àµ²ò¤Ç¤¹¡£¡£

ÊĤ¸¤ë ¥³¥á¥ó¥È¡Ê0¡Ë

ÊĤ¸¤ë ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¡Ê0¡Ë

OVM¤Õ¤¿¤¿¤Ó¡¦­¢¡¡¸¡¾Ú¥á¥½¥É¥í¥¸¤òÄ»âפ¹¤ë¡£

¤Ò¤µ¤Ó¤µ¤ËOVM¤ò¤¤¤¸¤ë¤ËÅö¤¿¤Ã¤ÆËº¤ì¤Æ¤¤¤ë¤³¤È¤â¤¢¤ê¡¢¤Þ¤ºÁ´ÂΤòÄ»âפ¹¤ë¿Þ¤òºî¤Ã¤Æ¸«¤¿¡£
¥¤¥á¡¼¥¸ 1


Ãæ¿´¤ËÍè¤ë¤Î¤Ï¸¡¾Ú¥á¥½¥É¥í¥¸¤ÈUVM¡£¡£

OVM¤Ï¤É¤¦¤·¤¿¤È¸À¤ï¤ì¤½¤¦¤À¤¬¡¢¸½¾õ¤Ç¤ÏUVM¤Ë¼ýṲ́·¤Ä¤Ä¤¢¤ë¡£
¤¿¤À¤·UVM¤Ï¦ÁÈǤ¬¤¢¤ë¤À¤±¤Ç»ÅÍͤä¥Ð¥°¤¬¥Õ¥£¥Ã¥¯¥¹¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£
½¾¤Ã¤Æ¡¢¤·¤Ð¤é¤¯¤ÏOVM¤À¤Í¡£¡£

¤Ê¤¼¸¡¾Ú¥á¥½¥É¥í¥¸¡©¡©

¤½¤ì¤ËÅú¤¨¤ë¤¿¤á¤Ë¤Ï
- ¥Ç¥¸¥¿¥ëLSI¤Î¸¡¾Ú´ü´Ö¤¬ÁýÂ礷¤Æ¤¤¤ë»ö¡£
- ¥Ç¥¸¥¿¥ëLSI¤Ï»º¶È¤ÎÊÆ¤È¸Æ¤Ð¤ì¤ÆÂåÂØ¤¨¤¬¤Ç¤­¤Ê¤¤¡¢Âå¤ï¤ê¤ÎÇþ¤ä¥È¥¦¥â¥í¥³¥·¤Ï¤Ê¤¤¤Î¤À¡£¡£
¤¿¤È¤¨¤ÐÅÅÇÈ»þ·×¤òµ¡³£¼°¤Ç½ÐÍè¤ë¡©¡©¥¢¥Ê¥í¥°LSI¤Ê¤é¡£¡£¤à¤ê¤Ç¤·¤ç

·ÐºÑŪ¤Ë¸À¤¨¤Ð¤Ä¤Þ¤êÂåÂØ¤¨¤Î¤Ç¤­¤Ê¤¤Ê¬ÌÁýÂ礷¤Æ¤¤¤ë¡£
¸¡¾Ú´ü´Ö¤ÎÁýÂç¡á¡á»Ô¾ìµ¬ÌϤÎÁýÂç¤ÇÈó¾ï¤ËÈþÌ£¤·¤¤Ê¬Ìî¤È¸À¤¦¤³¤È¤Ë¡£¡£
¤Ç¤Ï¤Ê¤¼¸¡¾Ú¥á¥½¥É¥í¥¸¤òºî¤Ã¤Æ¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ç¸ø³«¤·¤Æ¤·¤Þ¤¦¤Î¤«¡©¡©
¿Í³¤Àï½ÑŪ¤Ê·¹¸þ¤Î¤¢¤ë¸¡¾Ú¤Ë¤Ï¥¢¥¸¥¢´ë¶È¸þ¤­¤Ç¤¢¤ë¡£¡£
¤½¤³¤ÇEDA¥Ó¥Ã¥°£³(cadence,mentor,synopsys)¤Î¤È¤Ã¤¿¹Ôư¤Ï¡£¡£
¸¡¾Ú¤òɸ½à²½¤·¤Æ¥ª¡¼¥×¥ó¥½¡¼¥¹¤È¤·¤¿¡£¡£¤È»ä¤Ï¸«¤¿¡£¡£¤¹¤¤¤Þ¤»¤ó»ä´¶¤Ç¤¹¡£¡£´À¡Ë
¡ÊÆüËÜ´ë¶È¤¬É¸½à²½¤È¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ë¤³¤È¤´¤È¤¯É餱¤¿¤Î¤Ï¼þÃΤÎÄ̤ê¤À¤¼¡£¡£¡Ë

¸¡¾Ú¥á¥½¥É¥í¥¸¤Îµ»½Ñ´ðÈפÏ

¥é¥ó¥À¥à¸¡¾Ú¤È¸À¤¦¸¡¾Úµ»½Ñ¤ò¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó/¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤È¸À¤¦µ»¤ò»È¤Ã¤Æ
ɸ½à²½¤·¤Æ¤¢¤ë¡£¼ÂÁõ¤ÏsystemVerilog¤Ë¤è¤ë¡£

»î¤·¤Æ¤ß¤ë¤«

¤ª¤«¤²¤Ç»ä¤Î¤è¤¦¤Ê²¼¡¹¤Î¼Ô¤Ç¤â¸¡¾Ú¥á¥½¥É¥í¥¸¤È¸À¤¦Êª¤Ë¿¨¤ì¤ë¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤¬¡£¡£
- ¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó/¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ
- ¥é¥ó¥À¥à¸¡¾Ú
¤ò»È¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¤Î¤À¤í¤¦¤«¡£¡£

verilog/VHDL¤Ç¤·¤³¤·¤³²óÏ©¤ò½ñ¤¤¤Æ¤¤¤ë¤¢¤Ê¤¿¡£¡£¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥óʹ¤¤¤¿¤³¤ÈÍ­¤ê¤Þ¤¹¡©¡©
¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤Î¥×¥í¥°¥é¥à½ñ¤±¤Þ¤¹¡©¡©´üÂÔÃͤΤ¤¤é¤Ê¤¤¸¡¾Ú¤ÆÃΤäƤޤ¹¡©¡©

¤È¤ê¤¢¤¨¤º¼ê¸µ¤Ë¤¢¤ê¡É¾åµ­¤Îµ»½Ñ¤ËÂбþ¤Ç¤­¤Þ¤¹¡É¤È¸À¤Ã¤Æ¤¤¤ëAldec¤ÎRiviera-PRO¤Ç»î¤·¤Æ¤ß¤Þ¤·¤ç¡£¡£

systemVerilog OVM UVM

ÊĤ¸¤ë ¥³¥á¥ó¥È¡Ê3¡Ë

ÊĤ¸¤ë ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¡Ê0¡Ë

OVM¤Õ¤¿¤¿¤Ó¡£¡£¤Þ¤¿OVM¤ò¤¤¤¸¤Ã¤Æ¤ß¤¿¤¯¤Ê¤Ã¤¿¡£

±ï¤¢¤Ã¤Æ¥¢¥ë¥Ç¥Ã¥¯¤ÎRiviera-PRO¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤Ê¤Ã¤¿¡£
Riviera-PRO¤Ïfull¥¹¥Ú¥Ã¥¯¤ÎHDL¥·¥ß¥å¥ì¡¼¥¿¡¼¤Ç¥é¥ó¥À¥à¸¡¾Úµ¡Ç½¤â¤Ä¤¤¤Æ¤¤¤ë¡£

OVM¤âư¤¯¤é¤·¤¤¤Î¤ÇÁö¤é¤»¤Æ¤ß¤¿¤¯¤Ê¤Ã¤¿¡£OVM¤Î²òÀâ¤â´Þ¤á¤Æ¤Îblog¤Ë¤Þ¤¿·ÇºÜ¤·¤Æ¹Ô¤³¤¦¡£

¤È¤¤¤¦¤³¤È¤ÇOVM¥µ¥ó¥×¥ë¤òư¤«¤·¤Æ¤ß¤¿¡£

ưºî¤Î´Ä¶­¤Ï ¤¤¤Ä¤â¤Î

  win7+cygwin+xterm+tcsh

Áᮥ¢¥ë¥Ç¥Ã¥¯¤Î¥µ¥¤¥È¤ò¤Î¤¾¤¤¤Æ¸«¤ë¤È
¡É+define+ALDEC¡É¤ò¤Ä¤±¤í¤Ê¤ó¤Æ¡£¡£´À¡Ë
¤Þ¤¢¤·¤ç¤¦¤¬¤Ê¤¤¤«¥µ¥Ý¡¼¥È¤Îȯɽ¤¬Í­¤Ã¤¿¤Î¤Ïº£Ç¯¤Î£¶·î¤Ç
¤Þ¤À´Ä¶­¤ÎÀ°È÷Ãæ¤È¸À¤¦¤È¤³¤í¤«¡£

OVM¤Î¥½¡¼¥¹¤ÏRiviera-PRO¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ
..\Aldec\Riviera-PRO-2010.06\vlib\ovm-2.1.1
¤Ë¤¢¤ë¡£
¤³¤ì¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤ÆÆ°¤«¤¹

¤È¤ê¤¢¤¨¤º¡¡
\ovm-2.1.1\basic_examples\module
¤òư¤«¤·¤Æ¤ß¤¿

´Ä¶­ÊÑ¿ôaldec¤òÀßÄꤷ¤Æ¢ªRiviera-PRO¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿½ê

systemVerilog¥ª¥×¥·¥ç¥ó¤Ï¤Ê¤¼¤«ÉÕ¤±¤Æ¤Ï¤¤¤±¤Ê¤¤¡£¡£´À¡Ë¤Ê¤¼¤À¡Á¡Á
-sv2k5


vlib work
 vlog +incdir+"$aldec/vlib/ovm-2.1.1/src" +define+ALDEC -err VCP5417 W9 -err VCP2822 W9 -err VCP3003 W9 test.sv -dbg
 vsim -gui top

GUI¤¬Î©¤Á¾å¤¬¤Ã¤¿¤é¡¡run -all¤ÇÁö¤é¤»¤ë¡£

# KERNEL: SLP loading done - time: 0.1 [s].
# KERNEL: SLP simulation initialization done - time: 0.0 [s].
# KERNEL: Kernel process initialization done.
# Allocation: Simulator allocated 18215 kB (elbread=6149 elab2=11190 kernel=875 sdf=0)
# KERNEL: ----------------------------------------------------------------
# KERNEL: OVM-2.1.1
# KERNEL: (C) 2007-2009 Mentor Graphics Corporation
# KERNEL: (C) 2007-2009 Cadence Design Systems, Inc.
# KERNEL: ----------------------------------------------------------------

¡£¡£¡£¡£¡£ÃæÎ¬ ¡£¡£¡£¡£¡£

# KERNEL: OVM_INFO :    1
# KERNEL: OVM_WARNING :    1
# KERNEL: OVM_ERROR :    0
# KERNEL: OVM_FATAL :    0
# KERNEL: ** Report counts by id
# KERNEL: [CFGNTS]     1
# KERNEL: [RNTST]     1
# KERNEL: ----------------------------------------------------------------------
# KERNEL: Name                     Type                Size                Value
# KERNEL: ----------------------------------------------------------------------
# KERNEL: mu                       myunit              -                       -
# KERNEL:   l1                     lower               -                       -
# KERNEL:     data                 integral            32                   'h37
# KERNEL:     str                  string              2                      hi
# KERNEL:   l2                     lower               -                       -
# KERNEL:     data                 integral            32                   'h65
# KERNEL:     str                  string              2                      hi
# KERNEL:   a                      array               5                       -
# KERNEL:     [0]                  integral            32                    'h0
# KERNEL:     [1]                  integral            32                    'h1
# KERNEL:     [2]                  integral            32                    'h4
# KERNEL:     [3]                  integral            32                    'h9
# KERNEL:     [4]                  integral            32                   'h10
# KERNEL: ----------------------------------------------------------------------
# RUNTIME: Info: RUNTIME_0068 ovm_root.svh (505): $finish called.
# KERNEL: Time: 100 ps,  Iteration: 7,  Instance: /ovm_root/ovm_root::run_test,  Process: @INTERNAL#505_1@.
# KERNEL: stopped at time: 100 ps
# VSIM: Simulation has finished. There are no more test vectors to simulate.

¤³¤ó¤Ê´¶¤¸¤Ç¥ê¥¶¥ë¥È¤¬¤Ç¤­¤Æ¤Þ¤¹¡£

º£Æü¤Ï¤³¤³¤Þ¤Ç¡£¡£

systemVerilog OVM / UVM aldec

ÊĤ¸¤ë ¥³¥á¥ó¥È¡Ê0¡Ë

ÊĤ¸¤ë ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¡Ê0¡Ë

Á´5¥Ú¡¼¥¸

[1] [2] [3] [4] [5]

[ ¼¡¤Î¥Ú¡¼¥¸ ]


.

ÂôÎÉÌÚÅ줯¤ó
¿Íµ¤ÅÙ

¥Ø¥ë¥×

Yahoo Image

  º£Æü Á´ÂÎ
ˬÌä¼Ô 2 19543
¥Ö¥í¥°¥ê¥ó¥¯ 0 6
¥³¥á¥ó¥È 0 176
¥È¥é¥Ã¥¯¥Ð¥Ã¥¯ 0 2

¥±¡¼¥¿¥¤¤Ç¸«¤ë

¥â¥Ð¥¤¥ëÈÇYahoo!¥Ö¥í¥°¤Ë¥¢¥¯¥»¥¹¡ª

¥â¥Ð¥¤¥ëÈÇYahoo!¥Ö¥í¥°¤Ë¥¢¥¯¥»¥¹¡ª

URL¤ò¥±¡¼¥¿¥¤¤ËÁ÷¿®
¡ÊYahoo! JAPAN ID¤Ç¤Î¥í¥°¥¤¥ó¤¬É¬ÍפǤ¹¡Ë

Æü ·î ²Ð ¿å ÌÚ ¶â ÅÚ
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

³«À߯ü: 2008/8/7(ÌÚ)


¥×¥é¥¤¥Ð¥·¡¼¥Ý¥ê¥·¡¼ -  ÍøÍѵ¬Ìó -  ¥¬¥¤¥É¥é¥¤¥ó -  ½ç¼é»ö¹à -  ¥Ø¥ë¥×¡¦¤ªÌ䤤¹ç¤ï¤»

Copyright (C) 2012 Yahoo Japan Corporation. All Rights Reserved.