{"id":1130,"date":"2010-05-10T12:28:23","date_gmt":"2010-05-10T19:28:23","guid":{"rendered":"https:\/\/blogs.mentor.com\/verificationhorizons\/?p=1130"},"modified":"2026-03-27T08:45:01","modified_gmt":"2026-03-27T12:45:01","slug":"ovm-20-register-package-released","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/2010\/05\/10\/ovm-20-register-package-released\/","title":{"rendered":"OVM 2.0 Register Package Released"},"content":{"rendered":"<p><a href=\"http:\/\/www.ovmworld.org\/\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" style=\"margin-left: 0px;margin-right: 0px;border: 0pt none\" src=\"https:\/\/blogs.mentor.com\/verificationhorizons\/files\/2010\/05\/logo-ovm.gif\" border=\"0\" alt=\"logo_OVM\" width=\"116\" height=\"81\" align=\"right\" \/><\/a> In January 2010 we released the <a href=\"https:\/\/blogs.mentor.com\/verificationhorizons\/blog\/2010\/05\/04\/ovm-extensions-for-testbench-reuse\/\" target=\"_blank\" rel=\"noopener\">OVM 1.0 Register Package<\/a>.\u00a0 It has now been updated to enhance capabilities and address issues raised by users.\u00a0 The updated contribution can be <a href=\"http:\/\/www.ovmworld.org\/contributions-details.php?id=33&amp;keywords=A_Register_Package_for_OVM_-_ovm_register-2.0_Release\" target=\"_blank\" rel=\"noopener\">downloaded<\/a> from OVM World.<\/p>\n<p>The OVM 2.0 Register Package builds on 1.0 with new built-in register tests, easier cloning and copying of registers and register maps.\u00a0 The code has been ported to other implementations besides <a href=\"http:\/\/www.mentor.com\/products\/fv\/questa\/\" target=\"_blank\" rel=\"noopener\">Questa<\/a>.<\/p>\n<p>A list of some of the new features for OVM 2.0 Register Package include:<\/p>\n<ul>\n<li>Added built-in tests\n<ul>\n<li>register_alias &#8211; write one register, read all<\/li>\n<li>power_on_reset &#8211; read all registers, check against reset value<\/li>\n<li>walking_zeros &#8211; write walking zeros, read back, compare<\/li>\n<li>walking_ones &#8211; write walking ones, read back, compare<\/li>\n<li>write_read &#8211; do a write then a read<\/li>\n<\/ul>\n<\/li>\n<li> Ported to other implementations<br \/>\nCertain SystemVerilog features and capabilities are re-implemented for other implementations. Those changes are wrapped with the appropriate `ifdef. You can run Questa with those turned on if you like.Due to the port, any function that returned a list had to be changed to return the list as an output argument to the function.<\/li>\n<li>Added UNPREDICTABLEMASK<\/li>\n<li>Added compare_read_only_bits for selective inclusion or exclusion of read-only bits in the compare<\/li>\n<li>Added mapped_register_container (replaces ovm_register_map_base)<br \/>\nYou can now add a register file to another register file (in addition to all previous behavior)<\/li>\n<li>&#8216;resetvalue&#8217; in register constructor is now deprecated<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>In January 2010 we released the OVM 1.0 Register Package.\u00a0 It has now been updated to enhance capabilities and address&#8230;<\/p>\n","protected":false},"author":71541,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spanish_translation":"","french_translation":"","german_translation":"","italian_translation":"","polish_translation":"","japanese_translation":"","chinese_translation":"","footnotes":""},"categories":[1],"tags":[623,682,751],"industry":[],"product":[],"coauthors":[],"class_list":["post-1130","post","type-post","status-publish","format-standard","hentry","category-news","tag-ovm","tag-register-package","tag-systemverilog"],"_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts\/1130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/users\/71541"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/comments?post=1130"}],"version-history":[{"count":1,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts\/1130\/revisions"}],"predecessor-version":[{"id":14701,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts\/1130\/revisions\/14701"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/media?parent=1130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/categories?post=1130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/tags?post=1130"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/industry?post=1130"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/product?post=1130"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/coauthors?post=1130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}