CINXE.COM

Verilating — Verilator Devel 5.031 documentation (2024)

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="csrf-token" content="l30Yw3SqbympgUDL07ZfrYnHtcexyyS4UTPGeReZ"> <meta name="robots" content="noindex, nofollow"> <meta name="msvalidate.01" content="77BC9EC2757BFFD6B08AB6E9830867E2" /> <meta name="msvalidate.01" content="8F0A17F8B7EE136DC522E193ADA44AC2" /> <meta name="msvalidate.01" content="81E0B92D870F20A5A81469EF8E834B59" /> <meta name="msvalidate.01" content="B3D56BE8396E01BC4B5FF1FADDBFEBAC" /> <meta name="msvalidate.01" content="6CF243145B598540D3EBE639EC0CED69" /> <meta name="msvalidate.01" content="5FE75E29938FE1D0DD54BAD2B25C99E4" /> <meta name="msvalidate.01" content="A20920FE8B2693A844693CA7B2DA0341" /> <meta name="msvalidate.01" content="443527962984ED6113E71C2E1C1E6FCC" /> <meta name="msvalidate.01" content="58D49F2458FE6C8E642907D29D522720" /> <meta name="msvalidate.01" content="851D73C3284A97030F2B09FDECBB3AD4" /> <meta name="msvalidate.01" content="A656B1E6BC13BAE9D5A8773D01104738" /> <meta name="msvalidate.01" content="61789A989A2520E21E638DD047CB7332" /> <meta name="msvalidate.01" content="B7C6A3E0D04CC5BA0C608C9520F3D00B" /> <meta name="msvalidate.01" content="F48263C70EDE1DC309187238F96CCE3F" /> <meta name="msvalidate.01" content="0EE0DAA2E0981DF931A252C15FCBCA2C" /> <meta name="msvalidate.01" content="0A07E3A82E7C0D9F9D9C345659EDB9DE" /> <meta name="msvalidate.01" content="131BBB629297ACBB160173ED53395845" /> <meta name="msvalidate.01" content="05555D8659A1D65F7D0E2EBA014AF981" /> <meta name="msvalidate.01" content="78AC6224A015A61918E531E916DD44FA" /> <meta name="msvalidate.01" content="7D606D72FCE39D630B7985DE1F0361B1" /> <meta name="msvalidate.01" content="EF3C401C6A614F8D465A9341CBFC5090" /> <meta name="msvalidate.01" content="EB952236EB778B9340696B13F7353A3D" /> <meta name="msvalidate.01" content="897AEDC10475FB0295F82A4210D64590" /> <meta name="msvalidate.01" content="F430E75F1EF116C6EFA24DE7CB3E0BC9" /> <meta name="msvalidate.01" content="F7B3BD2FE69072BCCE4126B9CC5045CB" /> <meta name="msvalidate.01" content="98EF95AD212ADD48C878F21B193AB8E4" /> <meta name="msvalidate.01" content="7C25DA74C8FF5FAB142FC70204BB07A6" /> <meta name="msvalidate.01" content="1D0E1105D459663D83517C7646FC097D" /> <meta name="msvalidate.01" content="81D4616A768B982EB9CE2018AECAE8F6" /> <meta name="msvalidate.01" content="8A3522EFAF15FC4FDF3B35078C516DB7" /> <meta name="msvalidate.01" content="5D38CFA2B20914936FDB97E2B9FB39C6" /> <meta name="msvalidate.01" content="3BC91AA62DFB93BBB6AF0F324F83B879" /> <meta name="msvalidate.01" content="EF8A373ACF36FCC9C576F7E17BDC0ED0" /> <meta name="msvalidate.01" content="8C25C1EC562A320C4E886F6FBD551AA0" /> <meta name="msvalidate.01" content="4BA3D4BEDFCBDE8D855A5D67FB70ECAD" /> <meta name="msvalidate.01" content="E10CD32B036CAFEE4E0BAF11165F6D14" /> <meta name="msvalidate.01" content="E97FE2DDBEBEE0B3AB82D7D7499D54B0" /> <meta name="msvalidate.01" content="895A1ECBF4F65AB03AB7449235C31DA7" /> <meta name="msvalidate.01" content="F03D9D95ECB8E1D15F5DF466E55DC2EF" /> <meta name="msvalidate.01" content="10D1437BF96D7A042B768C9F7731BAB4" /> <meta name="msvalidate.01" content="7ED6C9C1C31D32B7B13F91DFB3BCB4F7" /> <meta name="msvalidate.01" content="37AF4033FCDC8814D80B3347D8DCFD61" /> <meta name="msvalidate.01" content="14828660C6B43D54B71B032573D1DCC6" /> <meta name="msvalidate.01" content="968272C9D1F17F43A36BEF900C379237" /> <meta name="msvalidate.01" content="752B68F93142732EAB7CCB7A5D776D16" /> <meta name="msvalidate.01" content="B1A99BDD7D6156B30A78E68F365C9F83" /> <meta name="msvalidate.01" content="6C25E85F718295037CD6F2B882C55F0C" /> <meta name="msvalidate.01" content="5C7D771CAF9E1D204A650ACD0E1CCC27" /> <meta name="msvalidate.01" content="0A33808F913B3177D30C05FFEA18A778" /> <meta name="msvalidate.01" content="6A58B74EB884C7D4DFF37B085C2EF641" /> <meta name="msvalidate.01" content="0154F0B163EC39E2C00077A555BB712F" /> <meta name="msvalidate.01" content="78D17C560AC7BBDC345D966938135AD5" /> <meta name="msvalidate.01" content="9DD6BD390FBB5FCE73E03376DF6923C2" /> <meta name="msvalidate.01" content="2BBC0BE30006807810C289BDF64CFF11" /> <meta name="msvalidate.01" content="6EB50B0564B4A30C435A67724D547579" /> <meta name='ir-site-verification-token' value='529231765' /> <meta name='impact-site-verification' value='34bab047-b19c-4a2d-83b9-4e7b91954a89'> <title>Verilating — Verilator Devel 5.031 documentation (2024)</title><meta name="description" content="Devel 5.031 Getting StartedOverviewExamplesInstallationCMake InstallationUser&#039;s GuideVerilatingBinary, C++ and SystemC GenerationHierarchical VerilationUsageLimitationsOverlapping Verilation and CompilationCross CompilationMultithreadingMultithreaded Verilog and Library SupportGNU MakeCMakeVerilate..."><meta property="article:published_time" content="2024-12-04T06:56:34+07:00"><meta property="article:modified_time" content="2024-12-04T06:56:34+07:00"><link rel="canonical" href="https://peterec.com/article/verilating-verilator-devel-5-031-documentation/4697"/><meta property="og:title" content="Verilating — Verilator Devel 5.031 documentation (2024)" /><meta property="og:description" content="Devel 5.031 Getting StartedOverviewExamplesInstallationCMake InstallationUser&#039;s GuideVerilatingBinary, C++ and SystemC GenerationHierarchical VerilationUsageLimitationsOverlapping Verilation and CompilationCross CompilationMultithreadingMultithreaded Verilog and Library SupportGNU MakeCMakeVerilate..." /><meta property="og:type" content="article" /><meta property="og:site_name" content="Peterec" /><meta property="og:url" content="https://peterec.com/article/verilating-verilator-devel-5-031-documentation/4697" /><meta property="og:image" content="https://ts2.mm.bing.net/th?q=Verilating — Verilator Devel 5.031 documentation (2024)" /><meta name="twitter:title" content="Verilating — Verilator Devel 5.031 documentation (2024)" /><meta name="twitter:description" content="Devel 5.031 Getting StartedOverviewExamplesInstallationCMake InstallationUser&#039;s GuideVerilatingBinary, C++ and SystemC GenerationHierarchical VerilationUsageLimitationsOverlapping Verilation and CompilationCross CompilationMultithreadingMultithreaded Verilog and Library SupportGNU MakeCMakeVerilate..." /><meta name="twitter:image" content="https://ts2.mm.bing.net/th?q=Verilating — Verilator Devel 5.031 documentation (2024)" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:label1" content="Written by" /><meta name="twitter:data1" content="Trent Wehner" /><meta name="twitter:label2" content="Est. reading time" /><meta name="twitter:data2" content="3 minutes" /><script type="application/ld+json">{"@context":"https://schema.org","@type":"AggregateRating","name":"Verilating — Verilator Devel 5.031 documentation (2024)","description":"Devel 5.031 Getting StartedOverviewExamplesInstallationCMake InstallationUser's GuideVerilatingBinary, C++ and SystemC GenerationHierarchical VerilationUsageLimitationsOverlapping Verilation and CompilationCross CompilationMultithreadingMultithreaded Verilog and Library SupportGNU MakeCMakeVerilate...","image":"https://ts2.mm.bing.net/th?q=Verilating — Verilator Devel 5.031 documentation (2024)","itemReviewed":{"name":"Verilating — Verilator Devel 5.031 documentation","@type":"MediaObject"},"ratingValue":4.555555555555555,"ratingCount":76}</script> <link rel="stylesheet" href="/static-res/css/newsike.css?id=3dec9ad9859d5f7df554"> <script src="/static-res/js/newsike.js?id=7f363cc5445f1191888e" defer></script> <link rel="preconnect" href="https://www.googletagmanager.com" /> <link rel="dns-prefetch" href="https://www.googletagmanager.com" /> <link rel="alternate" type="application/rss+xml" href="https://api.hisaibc.net/v1/rss"> <link rel="apple-touch-icon" sizes="57x57" href="/static-res/img/newsike/apple-icon-57x57.png?id=7f2dd0f19fc9423ccae5" /> <link rel="apple-touch-icon" sizes="60x60" href="/static-res/img/newsike/apple-icon-60x60.png?id=0bd5f84ce8093a295d08" /> <link rel="apple-touch-icon" sizes="72x72" href="/static-res/img/newsike/apple-icon-72x72.png?id=fed97a82d99287329aa1" /> <link rel="apple-touch-icon" sizes="76x76" href="/static-res/img/newsike/apple-icon-76x76.png?id=8dd2b4bd97e42ce4bb48" /> <link rel="apple-touch-icon" sizes="114x114" href="/static-res/img/newsike/apple-icon-114x114.png?id=e1350d22e08f3a9a98ee" /> <link rel="apple-touch-icon" sizes="120x120" href="/static-res/img/newsike/apple-icon-120x120.png?id=c8f79402edc377935736" /> <link rel="apple-touch-icon" sizes="144x144" href="/static-res/img/newsike/apple-icon-144x144.png?id=e103a4bdcfdaedd66ae6" /> <link rel="apple-touch-icon" sizes="152x152" href="/static-res/img/newsike/apple-icon-152x152.png?id=026787d9b01866dc2ecb" /> <link rel="apple-touch-icon" sizes="180x180" href="/static-res/img/newsike/apple-icon-180x180.png?id=ac5d8669f9fac00716da" /> <link rel="icon" type="image/png" sizes="192x192" href="/static-res/img/newsike/android-icon-192x192.png?id=8de180f7a159494d7e57" /> <link rel="icon" type="image/png" sizes="32x32" href="/static-res/img/newsike/favicon-32x32.png?id=39a6afc44c6afe88283c" /> <link rel="icon" type="image/png" sizes="96x96" href="/static-res/img/newsike/favicon-96x96.png?id=98b4072dae559862b5fc" /> <link rel="icon" type="image/png" sizes="16x16" href="/static-res/img/newsike/favicon-16x16.png?id=a43a5a3c7de4d329262b" /> <link rel="manifest" href="/static-res/img/newsike/manifest.json?id=6d0a109cbc6d45f4e64b"> <meta name="msapplication-TileImage" content="/static-res/img/newsike/ms-icon-144x144.png?id=e103a4bdcfdaedd66ae6" /> <meta name="msapplication-TileColor" content="#ffffff" /> <meta name="theme-color" content="#ffffff" /> <meta http-equiv="x-ua-compatible" content="ie=edge"> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-54725HQVMF"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-54725HQVMF'); </script> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5240180246042932" crossorigin="anonymous"></script> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5240180246042932" crossorigin="anonymous"></script> </head> <body> <time datetime="2024-12-04T06:56:34+07:00"></time> <div x-data="{&quot;show&quot;:true,&quot;style&quot;:&quot;success&quot;,&quot;message&quot;:null}" :class="{ 'bg-indigo-500': style == 'success', 'bg-red-700': style == 'danger', 'bg-gray-500': style != 'success' && style != 'danger' }" style="display: none;" x-show="show && message" x-init=" document.addEventListener('banner-message', event => { style = event.detail.style; message = event.detail.message; show = true; }); "> <div class="max-w-screen-xl mx-auto py-2 px-3 sm:px-6 lg:px-8"> <div class="flex items-center justify-between flex-wrap"> <div class="w-0 flex-1 flex items-center min-w-0"> <span class="flex p-2 rounded-lg" :class="{ 'bg-indigo-600': style == 'success', 'bg-red-600': style == 'danger' }"> <svg x-show="style == 'success'" class="h-5 w-5 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" /> </svg> <svg x-show="style == 'danger'" class="h-5 w-5 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /> </svg> <svg x-show="style != 'success' && style != 'danger'" class="h-5 w-5 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /> </svg> </span> <p class="ml-3 font-medium text-sm text-white truncate" x-text="message"></p> </div> <div class="flex-shrink-0 sm:ml-3"> <button type="button" class="-mr-1 flex p-2 rounded-md focus:outline-none sm:-mr-2 transition" :class="{ 'hover:bg-indigo-600 focus:bg-indigo-600': style == 'success', 'hover:bg-red-600 focus:bg-red-600': style == 'danger' }" aria-label="Dismiss" x-on:click="show = false"> <svg class="h-5 w-5 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> </button> </div> </div> </div> </div> <div class="min-h-screen bg-gray-100"> <nav x-data="{ open: false }" class="bg-white"> <!-- Primary Navigation Menu --> <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> <div class="flex justify-between h-11 sm:h-12"> <div class="flex"> <!-- Logo --> <div class="flex-shrink-0 flex items-center"> <a href="https://peterec.com" class="text-xl font-bold tracking-wider text-primary-500"> Peterec </a> </div> <!-- Navigation Links --> <div class="hidden space-x-8 sm:-my-px sm:ml-10 sm:flex"> <a class="inline-flex items-center px-1 pt-1 border-b-2 border-transparent text-sm font-medium leading-5 text-gray-500 hover:text-gray-700 hover:border-gray-300 focus:outline-none focus:text-gray-700 focus:border-gray-300 transition" href="https://peterec.com"> Home </a> <a class="inline-flex items-center px-1 pt-1 border-b-2 border-transparent text-sm font-medium leading-5 text-gray-500 hover:text-gray-700 hover:border-gray-300 focus:outline-none focus:text-gray-700 focus:border-gray-300 transition" href="https://peterec.com/search-article"> Search </a> <form class="inline-flex items-center w-72 mb-0" action="https://peterec.com/search-article" target="_top" > <input aria-label="keyword" type="text" name="keyword" class="ml-4 sm:ml-0 mt-2 sm:mt-0 w-full text-sm rounded-lg border-gray-200 border-solid-x" placeholder="Search..." /> </form> </div> </div> <!-- Hamburger --> <div class="-mr-2 flex items-center sm:hidden"> <button @click="open = ! open" aria-label="menu" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition"> <svg class="h-6 w-6" stroke="currentColor" fill="none" viewBox="0 0 24 24"> <path :class="{'hidden': open, 'inline-flex': ! open }" class="inline-flex" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" /> <path :class="{'hidden': ! open, 'inline-flex': open }" class="hidden" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> </button> </div> </div> </div> <!-- Responsive Navigation Menu --> <div :class="{'block': open, 'hidden': ! open}" class="hidden sm:hidden"> <div class="pt-2 pb-3 space-y-1"> <a class="block pl-3 pr-4 py-2 border-l-4 border-transparent text-base font-medium text-gray-600 hover:text-gray-800 hover:bg-gray-50 hover:border-gray-300 focus:outline-none focus:text-gray-800 focus:bg-gray-50 focus:border-gray-300 transition" href="https://peterec.com"> Home </a> <a class="block pl-3 pr-4 py-2 border-l-4 border-transparent text-base font-medium text-gray-600 hover:text-gray-800 hover:bg-gray-50 hover:border-gray-300 focus:outline-none focus:text-gray-800 focus:bg-gray-50 focus:border-gray-300 transition" href="https://peterec.com/search-article"> Search </a> <form class="inline-flex items-center w-72 mb-0" action="https://peterec.com/search-article" target="_top" > <input aria-label="keyword" type="text" name="keyword" class="ml-4 sm:ml-0 mt-2 sm:mt-0 w-full text-sm rounded-lg border-gray-200 border-solid-x" placeholder="Search..." /> </form> </div> </div> </nav> <div class="text-center text-center my-0 sm:my-1 " > <ins class="adsbygoogle adsense " data-ad-client="ca-pub-5240180246042932" style="display:block" data-ad-format="auto" data-ad-slot="9667766790" data-full-width-responsive="true" data-adtest="off" > </ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <main class="mt-2 flex"> <div class="text-center sticky top-2 left-2 hidden xl:block flex-shrink-0 " style="width: 160px; height: 600px;" > <ins class="adsbygoogle adsense h-ad4 " data-ad-client="ca-pub-5240180246042932" style="display:block" data-ad-format="auto" data-ad-slot="9667766790" data-full-width-responsive="true" data-adtest="off" > </ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="main-container container"> <main class="left-container doc-detail"> <section class="hentry flex items-center md:items-start mt-3 md:mt-3 ml-0 flex-col md:flex-row"> <div class="w-full"> <h1 class="entry-title mb-5 text-center font-semibold text-2xl xl:text-4xl !leading-common"> Verilating — Verilator Devel 5.031 documentation (2024) </h1> <div class="bg-primary-100 text-common !leading-common rounded-lg pl-5 pr-2 py-4 mb-2 space-y-2 text-primary-500"> <div class="font-semibold">Table of Contents</div> <a class="list-item toc-h2" href="#toc-0">Binary, C++ and SystemC Generation¶</a> <a class="list-item toc-h2" href="#toc-1">Hierarchical Verilation¶</a> <a class="list-item toc-h3" href="#toc-2">Usage¶</a> <a class="list-item toc-h3" href="#toc-3">Limitations¶</a> <a class="list-item toc-h3" href="#toc-4">Overlapping Verilation and Compilation¶</a> <a class="list-item toc-h2" href="#toc-5">Cross Compilation¶</a> <a class="list-item toc-h2" href="#toc-6">Multithreading¶</a> <a class="list-item toc-h3" href="#toc-7">Multithreaded Verilog and Library Support¶</a> <a class="list-item toc-h2" href="#toc-8">GNU Make¶</a> <a class="list-item toc-h2" href="#toc-9">CMake¶</a> <a class="list-item toc-h3" href="#toc-10">Verilate in CMake¶</a> <a class="list-item toc-h3" href="#toc-11">SystemC Link in CMake¶</a> <a class="list-item toc-h2" href="#toc-12">Verilation Summary Report¶</a> <a class="list-item toc-h2" href="#references">References</a> </div> <div class="text-center my-2 sm:my-4 " > <ins class="adsbygoogle adsense h-ad3 " data-ad-client="ca-pub-5240180246042932" style="display:block" data-ad-format="auto" data-ad-slot="9667766790" data-full-width-responsive="true" data-adtest="off" > </ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <article class="article-detail"> <section class="entry-content paragraph"><div> <nav data-toggle="wy-nav-shift"> <div> <div> <p><span> </span></p><p> Devel 5.031 </p> </div> <div data-spy="affix"> <p><span>Getting Started</span><div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></p><ul><li><span>Overview</span></li><li><span>Examples</span></li><li><span>Installation</span></li><li><span>CMake Installation</span></li></ul><p><span>User's Guide</span></p><ul><li><span>Verilating</span><ul><li><span>Binary, C++ and SystemC Generation</span></li><li><span>Hierarchical Verilation</span><ul><li><span>Usage</span></li><li><span>Limitations</span></li><li><span>Overlapping Verilation and Compilation</span></li></ul></li><li><span>Cross Compilation</span></li><li><span>Multithreading</span><ul><li><span>Multithreaded Verilog and Library Support</span></li></ul></li><li><span>GNU Make</span></li><li><span>CMake</span><ul><li><span>Verilate in CMake</span></li><li><span>SystemC Link in CMake</span></li></ul></li><li><span>Verilation Summary Report</span></li></ul></li><li><span>Connecting to Verilated Models</span></li><li><span>Simulating (Verilated-Model Runtime)</span></li><li><span>Contributing and Reporting Bugs</span></li><li><span>FAQ/Frequently Asked Questions</span></li></ul><p><span>Reference Guide</span></p><ul><li><span>Input Languages</span></li><li><span>Language Extensions</span></li><li><span>Executable and Argument Reference</span></li><li><span>Errors and Warnings</span></li><li><span>Files</span></li><li><span>Environment</span></li><li><span>Make Variables</span></li><li><span>Deprecations</span></li><li><span>Contributors and Origins</span></li><li><span>Revision History</span></li><li><span>Copyright</span></li></ul> </div> </div> </nav> <section data-toggle="wy-nav-shift"> <nav> <i data-toggle="wy-nav-top"></i> <span>Verilator</span> </nav> <div> <div> <div> <ul> <li><span></span> »</li> <li>Verilating</li> <li> <a href="https://github.com/verilator/verilator/blob/master/docs/guide/verilating.rst" rel="noopener nofollow" target="_blank"> Edit on GitHub</a> </li> </ul> </div> <div> <div> <div><p>Verilator may be used in five major ways:</p><ul><li><p>With the <span>--binary</span> option, Verilator will translate the designinto an executable, via generating C++ and compiling it. See<span>Binary, C++ and SystemC Generation</span>.<div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></p></li><li><p>With the <span>--cc</span> or <span>--sc</span> options, Verilator will translatethe design into C++ or SystemC code, respectively. See <span>Binary, C++ and SystemC Generation</span>.</p></li><li><p>With the <span>--lint-only</span> option, Verilator will lint the design tocheck for warnings but will not typically create any output files.</p></li><li><p>With the <span>--xml-only</span> option, Verilator will create XML outputthat may be used to feed into other user-designed tools. See<code><span>docs/xml.rst</span></code> in the distribution.</p></li><li><p>With the <span>-E</span> option, Verilator will preprocess the code accordingto IEEE preprocessing rules and write the output to standard out. Thisis useful to feed other tools and to debug how “`define” statements areexpanded.</p></li></ul><div><h2 id="toc-0">Binary, C++ and SystemC Generation<span>¶</span></h2><p>Verilator will translate a SystemVerilog design into C++ with the<span>--cc</span> option, or into SystemC with the <span>--sc</span> option. Itwill translate into C++ and compile it into an executable binary with the<span>--binary</span> option.</p><p>When using these options:</p><ol><li><p>Verilator reads the input Verilog code and determines all “top modules”, thatis, modules or programs that are not used as instances under other cells.If <span>--top-module</span> is used, then that determines the top module, andall other top modules are removed; otherwise a <span>MULTITOP</span> warningis given.</p></li><li><p>Verilator writes the C++/SystemC code to output files into the<span>--Mdir</span> option-specified directory, or defaults to “obj_dir”.The prefix is set with <span>--prefix</span>, or defaults to the name of thetop module.</p></li><li><p>If <span>--binary</span> or <span>--main</span> is used, Verilator creates a C++top wrapper to read command line arguments, create the model, andexecute the model.<div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></p></li><li><p>If <span>--binary</span> or <span>--exe</span> is used, Verilator createsmakefiles to generate a simulation executable, otherwise, it createsmakefiles to generate an archive (.a) containing the objects.</p></li><li><p>If <span>--binary</span> or <span>--build</span> is used, it calls <span>GNU Make</span> or <span>CMake</span> to build the model.</p></li></ol><p>Once a model is built, the next step is typically for the user to run it,see <span>Simulating (Verilated-Model Runtime)</span>.</p></div><div><h2 id="toc-1">Hierarchical Verilation<span>¶</span></h2><p>Large designs may take long (e.g., 10+ minutes) and huge memory (e.g., 100+GB) to Verilate. In hierarchical mode, the user manually selects somelarge lower-level hierarchy blocks to separate from the larger design. Forexample, a core may be the hierarchy block separated out of a multi-coreSoC design.</p><p>Verilator is run in hierarchical mode on the whole SoC. Verilator willmake two models, one for the CPU hierarchy block and one for the SoC. TheVerilated code for the SoC will automatically call the CPU Verilated model.</p><p>The current hierarchical Verilation is based on <span>--lib-create</span>. Eachhierarchy block is Verilated into a library. User modules of the hierarchyblocks will see a tiny wrapper generated by <span>--lib-create</span>.</p><div><h3 id="toc-2">Usage<span>¶</span></h3><p>Users need to mark one or more moderate-size modules as hierarchy block(s).There are two ways to mark a module:</p><ul><li><p>Write <span>/*verilatorhier_block*/</span> metacomment in HDL code.<div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></p></li><li><p>Add a <span>hier_block</span> line in the <span>Configuration Files</span>.</p></li></ul><p>Then pass the <span>--hierarchical</span> option to Verilator.</p><p>The compilation is the same as when not using hierarchical mode.<div class="bg-primary-100 rounded-lg my-6 px-2 py-3 font-semibold insert" style="color: rgb(37, 99, 235)"><div class="text-common !leading-common ml-1 insert" style="margin-top: 0.2rem; margin-bottom: 0.2rem">See Also</div><a class="list-item toc-h2 py-1" style="border-bottom: none" href="https://peterec.com/article/installation-verilator-devel-5-031-documentation/4697" target="_blank" rel="noopener">Installation — Verilator Devel 5.031 documentation</a></div></p><div><div><pre><span></span>make -C obj_dir -f Vtop_module_name.mk</pre></div></div></div><div><h3 id="toc-3">Limitations<span>¶</span></h3><p>Hierarchy blocks have some limitations, including:</p><ul><li><p>The hierarchy block cannot be accessed using dot (.) from the uppermodule(s) or other hierarchy blocks.</p></li><li><p>Signals in the block cannot be traced.</p></li><li><p>Modport cannot be used at the hierarchical block boundary.<div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></p></li><li><p>The simulation speed is likely not as fast as flat Verilation, in whichall modules are globally scheduled.</p></li><li><p>Generated clocks may not work correctly if generated in the hierarchicalmodel and passed into another hierarchical model or the top module.</p></li><li><p>Delays are not allowed in hierarchy blocks.</p></li></ul><p>But, the following usage is supported:</p><ul><li><p>Nested hierarchy blocks. A hierarchy block may instantiate otherhierarchy blocks.</p></li><li><p>Parameterized hierarchy block. Parameters of a hierarchy block can beoverridden using <code><span>#(.param_name(value))</span></code> construct.</p></li></ul></div><div><h3 id="toc-4">Overlapping Verilation and Compilation<span>¶</span></h3><p>Verilator needs to run 2 + <em>N</em> times in hierarchical Verilation, where <em>N</em>is the number of hierarchy blocks. One of the two is for the top module,which refers to the wrappers of all other hierarchy blocks. The second of thetwo is the initial run that searches modules marked with<span>/*verilatorhier_block*/</span> metacomment and creates a plan andwrite in <code><em><span>prefix</span></em><span>_hier.mk</span></code>. This initial run internally invokesother <em>N</em> + 1 runs, so you don’t have to care about these <em>N</em> + 1 times ofrun. The additional <em>N</em> is the Verilator run for each hierarchical block.</p><p>If :<span>-j {jobs}</span> option is specified, Verilation for hierarchyblocks runs in parallel.</p><p>If <span>--build</span> option is specified, C++ compilation also runs as soonas a hierarchy block is Verilated. C++ compilation and Verilation for otherhierarchy blocks run simultaneously.<div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></p></div></div><div><h2 id="toc-5">Cross Compilation<span>¶</span></h2><p>Verilator supports cross-compiling Verilated code. This is generally usedto run Verilator on a Linux system and produce C++ code that is then compiledon Windows.</p><p>Cross-compilation involves up to three different OSes. The build system iswhere you configure and compile Verilator, the host system is where you runVerilator, and the target system is where you compile the Verilated codeand run the simulation.</p><p>Verilator requires the build and host system types to be thesame, though the target system type may be different. To support this,<strong>./configure</strong> and make Verilator on the build system. Then, runVerilator on the host system. Finally, the output of Verilator may becompiled on the different target system.</p><p>To support this, none of the files that Verilator produces will referenceany configure-generated build-system-specific files, such as<code><span>config.h</span></code> (which is renamed in Verilator to <code><span>config_package.h</span></code>to reduce confusion.) The disadvantage of this approach is that<code><span>include/verilatedos.h</span></code> must self-detect the requirements of thetarget system, rather than using configure.</p><p>The target system may also require edits to the Makefiles, the simpleMakefiles produced by Verilator presume the target system is the same typeas the build system.</p></div><div><h2 id="toc-6">Multithreading<span>¶</span></h2><p>Verilator supports multithreaded simulation models.</p><p>With <span>--threads 1</span>, the generated model issingle-threaded; however, the support libraries are multithread safe. Thisallows different instantiations of the model(s) to potentially each be rununder a different thread. All threading is the responsibility of the user’sC++ testbench.</p><p>With <span>--threads {N}</span>, where N is at least 2, thegenerated model will be designed to run in parallel on N threads. Thethread calling eval() provides one of those threads, and the generatedmodel will create and manage the other N-1 threads. It’s the client’sresponsibility not to oversubscribe the available CPU cores. Under CPUoversubscription, the Verilated model should not livelock nor deadlock;however, you can expect performance to be far worse than it would be withthe proper ratio of threads and CPU cores.<div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></p><p>The thread used for constructing a model must be the same thread that calls<code><span>eval()</span></code> into the model; this is called the “eval thread”. The threadused to perform certain global operations, such as saving and tracing, mustbe done by a “main thread”. In most cases, the eval thread and main threadare the same thread (i.e. the user’s top C++ testbench runs on a singlethread), but this is not required.</p><p>When making frequent use of DPI imported functions in a multithreadedmodel, it may be beneficial to performance to adjust the<span>--instr-count-dpi</span> option based on some experimentation. Thisinfluences the partitioning of the model by adjusting the assumed executiontime of DPI imports.</p><p>When using <span>--trace</span> to perform VCD tracing, the VCD traceconstruction is parallelized using the same number of threads as specifiedwith <span>--threads</span>, and is executed on the same thread pool as the model.</p><p>The <span>--trace-threads</span> options can be used with <span>--trace-fst</span>to offload FST tracing using multiple threads. If <span>--trace-threads</span> isgiven without <span>--threads</span>, then <span>--trace-threads</span> will imply<span>--threads 1</span>, i.e., the support libraries will bethread safe.</p><p>With <span>--trace-threads 0</span>, trace dumps are producedon the main thread. This again gives the highest single-thread performance.</p><p>With <span>--trace-threads {N}</span>, where N is at least 1,up to N additional threads will be created and managed by the trace files(e.g., VerilatedFstC), to offload construction of the trace dump. The mainthread will be released to proceed with execution as soon as possible, thoughsome main thread blocking is still necessary while capturing thetrace. FST tracing can utilize up to 2 offload threads, so there is no useof setting <span>--trace-threads</span> higher than 2 at the moment.</p><p>When running a multithreaded model, the default Linux task scheduler oftenworks against the model by assuming short-lived threads and thusit often schedules threads using multiple hyperthreads within the samephysical core. For best performance, use the <strong>numactl</strong> program to(when the threading count fits) select unique physical cores on the samesocket. The same applies for <span>--trace-threads</span> as well.</p><p>As an example, if a model was Verilated with<span>--threads 4</span>, we consult:</p><div><div><pre><span></span>egrep <span>'processor|physical id|core id'</span> /proc/cpuinfo</pre><div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></div></div><p>To select cores 0, 1, 2, and 3 that are all located on the same socket (0)but have different physical cores. (Also useful is<strong>numactl --hardware</strong>, or <strong>lscpu</strong>, but those don’t showhyperthreading cores.) Then we execute:</p><div><div><pre><span></span>numactl -m <span>0</span> -C <span>0</span>,1,2,3 -- verilated_executable_name</pre></div></div><p>This will limit memory to socket 0, and threads to cores 0, 1, 2, 3,(presumably on socket 0), optimizing performance. Of course, this must beadjusted if you want another simulator to use, e.g., socket 1, or if youVerilated with a different number of threads. To see what CPUs areactually used, use <span>--prof-exec</span>.</p><div><h3 id="toc-7">Multithreaded Verilog and Library Support<span>¶</span></h3><p>$display/$stop/$finish are delayed until the end of an eval() callto maintain ordering between threads. This may result in additional taskscompleting after the $stop or $finish.</p><p>If using <span>--coverage</span>, the coverage routines are fully thread-safe.</p><p>If using the DPI, Verilator assumes pure DPI imports are thread-safe,balancing performance versus safety. See <span>--threads-dpi</span>.</p><p>If using <span>--savable</span>, the save/restore classes are not multithreadedand must be called only by the eval thread.</p><p>If using <span>--sc</span>, the SystemC kernel is not thread-safe; therefore,the eval thread and main thread must be the same.<div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></p><p>If using <span>--trace</span>, the tracing classes must be constructed andcalled from the main thread.</p><p>If using <span>--vpi</span>, since SystemVerilog VPI was not architected byIEEE to be multithreaded, Verilator requires all VPI calls are only madefrom the main thread.</p></div></div><div><h2 id="toc-8">GNU Make<span>¶</span></h2><p>Verilator defaults to creating GNU Make makefiles for the model. Verilatorwill call make automatically when the <span>--build</span> option is used.</p><p>If calling Verilator from a makefile, the <span>--MMD</span> option will createa dependency file, allowing Make to only run Verilator if input Verilogfiles change.</p></div><div><h2 id="toc-9">CMake<span>¶</span></h2><p>Verilator can be run using CMake, which takes care of both runningVerilator and compiling the output. There is a CMake example in the<code><span>examples/</span></code> directory. The following is a minimal CMakeLists.txt thatwould build the code listed in <span>Example C++ Execution</span></p><div><div><pre><span></span><span>project</span><span>(</span><span>cmake_example</span><span>)</span><span>find_package</span><span>(</span><span>verilator</span> <span>HINTS</span> <span>$ENV{</span><span>VERILATOR_ROOT</span><span>}</span><span>)</span><span>add_executable</span><span>(</span><span>Vour</span> <span>sim_main.cpp</span><span>)</span><span>verilate</span><span>(</span><span>Vour</span> <span>SOURCES</span> <span>our.v</span><span>)</span></pre></div></div><p><code><span>find_package</span></code> will automatically find an installed copy ofVerilator, or use a local build if VERILATOR_ROOT is set.<div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></p><p>Using CMake &gt;= 3.12 and the Ninja generator is recommended, though othercombinations should work. To build with CMake, change to the foldercontaining CMakeLists.txt and run:</p><div><div><pre><span></span>mkdir build<span>cd</span> buildcmake -GNinja ..ninja</pre></div></div><p>Or to build with your system default generator:</p><div><div><pre><span></span>mkdir build<span>cd</span> buildcmake ..cmake --build .</pre></div></div><p>If you’re building the example, you should have an executable to run:</p><div><div><pre><span></span>./Vour</pre></div></div><p>The package sets the CMake variables verilator_FOUND, VERILATOR_ROOT,and VERILATOR_BIN to the appropriate values and creates a verilate()function. verilate() will automatically create custom commands to runVerilator and add the generated C++ sources to the target specified.<div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></p><div><h3 id="toc-10">Verilate in CMake<span>¶</span></h3><div><div><pre><span></span><span>verilate</span><span>(</span><span>target</span> <span>SOURCES</span> <span>source</span> <span>...</span> <span>[TOP_MODULE</span> <span>top]</span> <span>[PREFIX</span> <span>name]</span> <span>[TRACE]</span> <span>[TRACE_FST]</span> <span>[SYSTEMC]</span> <span>[COVERAGE]</span> <span>[INCLUDE_DIRS</span> <span>dir</span> <span>...]</span> <span>[OPT_SLOW</span> <span>...]</span> <span>[OPT_FAST</span> <span>...]</span> <span>[OPT_GLOBAL</span> <span>..]</span> <span>[DIRECTORY</span> <span>dir]</span> <span>[THREADS</span> <span>num]</span> <span>[TRACE_THREADS</span> <span>num]</span> <span>[VERILATOR_ARGS</span> <span>...]</span><span>)</span></pre></div></div><p>Lowercase and … should be replaced with arguments; the uppercase partsdelimit the arguments and can be passed in any order or left out entirelyif optional.</p><p>verilate(target …) can be called multiple times to add other Verilogmodules to an executable or library target.</p><p>When generating Verilated SystemC sources, you should list theSystemC include directories and link to the SystemC libraries.</p><dl><dt><code><span>target</span></code></dt><dd><p>Name of a target created by add_executable or add_library.</p></dd></dl><dl><dt><code><span>COVERAGE</span></code></dt><dd><p>Optional. Enables coverage if present, equivalent to “VERILATOR_ARGS–coverage”.</p></dd></dl><dl><dt><code><span>DIRECTORY</span></code></dt><dd><p>Optional. Set the verilator output directory. It is preferable to usethe default, which will avoid collisions with other files.</p></dd></dl><dl><dt><code><span>INCLUDE_DIRS</span></code></dt><dd><p>Optional. Sets directories that Verilator searches (same as -y).<div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></p></dd></dl><dl><dt><code><span>OPT_SLOW</span></code></dt><dd><p>Optional. Set compiler options for the slow path. You may want to reducethe optimization level to improve compile times with large designs.</p></dd></dl><dl><dt><code><span>OPT_FAST</span></code></dt><dd><p>Optional. Set compiler options for the fast path.</p></dd></dl><dl><dt><code><span>OPT_GLOBAL</span></code></dt><dd><p>Optional. Set compiler options for the common runtime library used byVerilated models.</p></dd></dl><dl><dt><code><span>PREFIX</span></code></dt><dd><p>Optional. Sets the Verilator output prefix. Defaults to the name of thefirst source file with a “V” prepended. It must be unique in each callto verilate(), so this is necessary if you build a module multiple timeswith different parameters. It must be a valid C++ identifier, i.e., itcontains no white space and only characters A-Z, a-z, 0-9 or _.</p></dd></dl><dl><dt><code><span>SOURCES</span></code></dt><dd><p>List of Verilog files to Verilate. You must provide at least one file.</p></dd></dl><dl><dt><code><span>SYSTEMC</span></code></dt><dd><p>Optional. Enables SystemC mode, defaults to C++ if not specified.</p><p>When using Accellera’s SystemC with CMake support, a CMake target isavailable that simplifies the SystemC steps. This will only work ifCMake can find the SystemC installation, and this can be configured bysetting the CMAKE_PREFIX_PATH variable during CMake configuration.</p><p>Don’t forget to set the same C++ standard for the Verilated sources asthe SystemC library. This can be specified using the SYSTEMC_CXX_FLAGSenvironment variable.</p></dd></dl><dl><dt><code><span>THREADS</span></code></dt><dd><p>Optional. Enable a multithreaded model; see <span>--threads</span>.</p></dd></dl><dl><dt><code><span>TRACE_THREADS</span></code></dt><dd><p>Optional. Enable multithreaded FST trace; see <span>--trace-threads</span>.<div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></p></dd></dl><dl><dt><code><span>TOP_MODULE</span></code></dt><dd><p>Optional. Sets the name of the top module. Defaults to the name of thefirst file in the SOURCES array.</p></dd></dl><dl><dt><code><span>TRACE</span></code></dt><dd><p>Optional. Enables VCD tracing if present, equivalent to “VERILATOR_ARGS–trace”.</p></dd></dl><dl><dt><code><span>TRACE_FST</span></code></dt><dd><p>Optional. Enables FST tracing if present, equivalent to “VERILATOR_ARGS–trace-fst”.</p></dd></dl><dl><dt><code><span>VERILATOR_ARGS</span></code></dt><dd><p>Optional. Extra arguments to Verilator. Do not specify <span>--Mdir</span>or <span>--prefix</span> here; use DIRECTORY or PREFIX.</p></dd></dl></div><div><h3 id="toc-11">SystemC Link in CMake<span>¶</span></h3><p>Verilator’s CMake support provides a convenience function to automaticallyfind and link to the SystemC library. It can be used as:</p><div><div><pre><span></span><span>verilator_link_systemc</span><span>(</span><span>target</span><span>)</span></pre></div></div><p>where target is the name of your target.</p><p>The search paths can be configured by setting some variables:<div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></p><dl><dt><code><span>SYSTEMC_INCLUDE</span></code></dt><dd><p>Sets the direct path to the SystemC includes.</p></dd></dl><dl><dt><code><span>SYSTEMC_LIBDIR</span></code></dt><dd><p>Sets the direct path to the SystemC libraries.</p></dd></dl><dl><dt><code><span>SYSTEMC_ROOT</span></code></dt><dd><p>Sets the installation prefix of an installed SystemC library.</p></dd></dl><dl><dt><code><span>SYSTEMC</span></code></dt><dd><p>Sets the installation prefix of an installed SystemC library. (Same asSYSTEMC_ROOT).</p></dd></dl></div></div><div><h2 id="toc-12">Verilation Summary Report<span>¶</span></h2><p>When Verilator generates code, unless <span>--quiet-stats</span> is used, itwill print a report to stdout summarizing the build. For example:</p><div><div><pre><span></span><span>-</span> <span>V</span> <span>e</span> <span>r</span> <span>i</span> <span>l</span> <span>a</span> <span>t</span> <span>i</span> <span>o</span> <span>n</span> <span>R</span> <span>e</span> <span>p</span> <span>o</span> <span>r</span> <span>t</span><span>:</span> <span>Verilator</span> <span>....</span><span>-</span> <span>Verilator</span><span>:</span> <span>Built</span> <span>from</span> <span>354</span> <span>MB</span> <span>sources</span> <span>in</span> <span>247</span> <span>modules</span><span>,</span> <span>into</span> <span>74</span> <span>MB</span> <span>in</span> <span>89</span> <span>C</span><span>++</span> <span>files</span> <span>needing</span> <span>0.192</span> <span>MB</span><span>-</span> <span>Verilator</span><span>:</span> <span>Walltime</span> <span>26.580</span> <span>s</span> <span>(</span><span>elab</span><span>=</span><span>2.096</span><span>,</span> <span>cvt</span><span>=</span><span>18.268</span><span>,</span> <span>bld</span><span>=</span><span>2.100</span><span>);</span> <span>cpu</span> <span>26.548</span> <span>s</span> <span>on</span> <span>1</span> <span>threads</span><span>;</span> <span>alloced</span> <span>2894.672</span> <span>MB</span></pre></div></div><p>The information in this report is:</p><dl><dt><code><span>"Verilator</span> <span>..."</span></code></dt><dd><p>Program version.<div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></p></dd></dl><dl><dt><code><span>"234</span> <span>MB</span> <span>sources"</span></code></dt><dd><p>Characters of post-preprocessed text in all inputVerilog and Verilator Control files in megabytes.</p></dd></dl><dl><dt><code><span>"247</span> <span>modules"</span></code></dt><dd><p>Number of interfaces/modules/classes/packages in design beforeelaboration.</p></dd></dl><dl><dt><code><span>"into</span> <span>74</span> <span>MB"</span></code></dt><dd><p>Characters of output C++ code, including comments in megabytes.</p></dd></dl><dl><dt><code><span>"89</span> <span>C++</span> <span>files"</span></code></dt><dd><p>Number of .cpp files created.</p></dd></dl><dl><dt><code><span>"needing</span> <span>192MB"</span></code></dt><dd><p>Verilation-time minimum-bound estimate of memory needed to run model inmegabytes. (Expect to need significantly more.)</p></dd></dl><dl><dt><code><span>"Walltime</span> <span>26.580</span> <span>s"</span></code></dt><dd><p>Real elapsed wall time for Verilation and build.</p></dd></dl><dl><dt><code><span>"elab=2.096"</span></code></dt><dd><p>Wall time to read in files and complete elaboration.</p></dd></dl><dl><dt><code><span>"cvt=18.268"</span></code></dt><dd><p>Wall time for Verilator to process and write output.</p></dd></dl><dl><dt><code><span>"bld=2.1"</span></code></dt><dd><p>Wall time to compile gcc/clang (if using <span>--build</span>).</p></dd></dl><dl><dt><code><span>"cpu</span> <span>22.548</span> <span>s"</span></code></dt><dd><p>CPU time used, total across all CPU threads.<div class="sm:flex sm:items-center sm:justify-center sm:flex-row sm:space-x-1 insert" style="margin-top:0; margin-bottom:0;"><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script><ins class="adsbygoogle sm:w-1/2" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-full-width-responsive="true" data-ad-slot="9667766790" data-ad-client="ca-pub-5240180246042932" data-adtest="off"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></p></dd></dl><dl><dt><code><span>"4</span> <span>threads"</span></code></dt><dd><p>Number of simultaneous threads used.</p></dd></dl><dl><dt><code><span>"alloced</span> <span>123</span> <span>MB"</span></code></dt><dd><p>Total memory used during build by Verilator executable (excludes<span>--build</span> compiler’s usage) in megabytes.</p></dd></dl></div></div> </div> </div> </div> </div> </section> </div></section> <img class="lazyload" data-src="https://ts2.mm.bing.net/th?q=Verilating — Verilator Devel 5.031 documentation (2024)" alt="Verilating — Verilator Devel 5.031 documentation (2024)" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/h8AAvMB+NzmkbcAAAAASUVORK5CYII="/> <section> </section> </article> <h2 id="references" class="text-xl font-semibold mt-3 mb-3">References</h2> <ul class="ml-5 list-disc"> <li><a target="_blank" rel="noopener nofollow" class="text-sm break-all" href="https://verilator.org/guide/latest/install.html">https://verilator.org/guide/latest/install.html</a> </li> <li><a target="_blank" rel="noopener nofollow" class="text-sm break-all" href="https://verilator.org/guide/latest/verilating.html">https://verilator.org/guide/latest/verilating.html</a> </li> </ul> <div class="text-2xl font-semibold mt-5 mb-5">Top Articles</div> <div class="container-doc"> <a href="https://peterec.com/article/intersecting-histories-and-identities-celebrating-pride-and-indigenous-history-in-june/4697" target="_blank" rel="noopener" class="group mb-20 flex flex-col items-center"> <img class="lazyload h-56 object-cover" data-src="https://ts2.mm.bing.net/th?q=Intersecting Histories and Identities: Celebrating Pride and Indigenous History in June" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/h8AAvMB+NzmkbcAAAAASUVORK5CYII="/> <div class="group-hover:text-primary-500 block font-medium mt-5 text-2xl"> Intersecting Histories and Identities: Celebrating Pride and Indigenous History in June </div> </a> <a href="https://peterec.com/article/dalton-s-atomic-theory-article-khan-academy/4697" target="_blank" rel="noopener" class="group mb-20 flex flex-col items-center"> <img class="lazyload h-56 object-cover" data-src="https://ts2.mm.bing.net/th?q=Dalton&#039;s atomic theory (article) | Khan Academy" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/h8AAvMB+NzmkbcAAAAASUVORK5CYII="/> <div class="group-hover:text-primary-500 block font-medium mt-5 text-2xl"> Dalton&#039;s atomic theory (article) | Khan Academy </div> </a> <a href="https://peterec.com/article/review-matrix-college-pal/4697" target="_blank" rel="noopener" class="group mb-20 flex flex-col items-center"> <img class="lazyload h-56 object-cover" data-src="https://ts2.mm.bing.net/th?q=Review Matrix - College Pal" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/h8AAvMB+NzmkbcAAAAASUVORK5CYII="/> <div class="group-hover:text-primary-500 block font-medium mt-5 text-2xl"> Review Matrix - College Pal </div> </a> </div> <div class="text-2xl font-semibold mt-5 mb-5">Latest Posts</div> <div class="container-doc"> <a href="https://peterec.com/article/what-gift-cards-can-be-used-at-an-atm-and-other-questions-you-might-have/4697" target="_blank" rel="noopener" class="group mb-20 flex flex-col items-center"> <img class="lazyload h-56 object-cover" data-src="https://ts2.mm.bing.net/th?q=What Gift Cards Can Be Used at An ATM? (And Other Questions You Might Have)" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/h8AAvMB+NzmkbcAAAAASUVORK5CYII="/> <div class="group-hover:text-primary-500 block font-medium mt-5 text-2xl"> What Gift Cards Can Be Used at An ATM? (And Other Questions You Might Have) </div> </a> <a href="https://peterec.com/article/how-to-raise-acceptance-rate-doordash-problem-solved-exiledriver/4697" target="_blank" rel="noopener" class="group mb-20 flex flex-col items-center"> <img class="lazyload h-56 object-cover" data-src="https://ts2.mm.bing.net/th?q=How to Raise Acceptance Rate DoorDash (Problem Solved) | ExileDriver" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/h8AAvMB+NzmkbcAAAAASUVORK5CYII="/> <div class="group-hover:text-primary-500 block font-medium mt-5 text-2xl"> How to Raise Acceptance Rate DoorDash (Problem Solved) | ExileDriver </div> </a> </div> <div class="text-2xl font-semibold mt-5 mb-5">Recommended Articles</div> <div class="container-doc mb-5"> <ul class="ml-5 list-disc break-all"> <li><a href="https://aftelo.shop/article/an-imperial-princess-for-the-twenty-first-century" target="_blank" rel="noopener" > An Imperial Princess for the Twenty-First Century </a></li> <li><a href="https://dekati.sbs/article/mob-mo8726-bedienungsanleitung-pdf-herunterladen" target="_blank" rel="noopener" > MOB MO8726 BEDIENUNGSANLEITUNG Pdf-Herunterladen </a></li> <li><a href="https://eisacr.best/article/ataraxie-warzone" target="_blank" rel="noopener nofollow" > Ataraxie Warzone </a></li> <li><a href="https://eluvit.online/article/shop-manicure-hand-rests-for-professionals-roxie-cosmetics" target="_blank" rel="noopener" > Shop Manicure Hand Rests for Professionals - Roxie Cosmetics </a></li> <li><a href="https://gaumna.shop/article/art-marcums-mother" target="_blank" rel="noopener nofollow" > Art Marcums Mother </a></li> <li><a href="https://hipabi.online/article/where-watch-%E7%B7%91%E9%87%8E%E5%8E%9F%E8%BF%B7%E5%AE%AE-1990" target="_blank" rel="noopener nofollow" > Where Watch 緑野原迷宮 (1990) </a></li> <li><a href="https://hotelsalicanteairport.com/article/the-ultimate-guide-to-nail-drills-everything-you-need-to-know" target="_blank" rel="noopener nofollow" > The Ultimate Guide to Nail Drills: Everything You Need to Know </a></li> <li><a href="https://kediou.best/article/dull-thinning-hair-this-scalp-stimulating-treatment-made-mine-full-glossy" target="_blank" rel="noopener nofollow" > Dull, Thinning Hair? This Scalp-Stimulating Treatment Made Mine Full &amp; Glossy </a></li> <li><a href="https://maetul.best/article/3-design-layouts-gutenberg-diagram-z-pattern-and-f-pattern-vanseo-design" target="_blank" rel="noopener" > 3 Design Layouts: Gutenberg Diagram, Z-Pattern, And F-Pattern - Vanseo Design </a></li> <li><a href="https://mettos.shop/article/6-computer-science-internships-for-high-school-students-in-new-york-city" target="_blank" rel="noopener" > 6 Computer Science Internships for High School Students in New York City </a></li> <li><a href="https://mojecu.shop/article/%D0%B4%D0%BE%D0%BD%D0%B1%D0%B0%D1%81-2018-download-full" target="_blank" rel="noopener" > Донбас (2018) Download Full </a></li> <li><a href="https://murard.com/article/valkyrie-profile:-silmeria-episode-19-discussion" target="_blank" rel="noopener" > Valkyrie Profile: Silmeria Episode 19 Discussion </a></li> <li><a href="https://nurcinozer.com/article/maurice-chevalier-encyclopedia-com" target="_blank" rel="noopener nofollow" > Maurice Chevalier | Encyclopedia.com </a></li> <li><a href="https://pangra.best/article/spirulina-who-nennt-die-alge-bestes-lebensmittel-der-zukunft" target="_blank" rel="noopener nofollow" > Spirulina - WHO nennt die Alge bestes Lebensmittel der Zukunft. </a></li> <li><a href="https://putoma.best/article/crow-demon-kabuto-action-figure" target="_blank" rel="noopener" > Crow Demon Kabuto Action Figure </a></li> <li><a href="https://pyaden.best/article/warhammer-40-000-space-marine-2-patch-5-adds-dark-angels-chapter-pack-new-operation-and-new-chaos-enemy" target="_blank" rel="noopener" > Warhammer 40,000: Space Marine 2 Patch 5 Adds Dark Angels Chapter Pack, New Operation, and New Chaos Enemy </a></li> <li><a href="https://travelperuhotels.com/article/dt-timeline-darren-tate" target="_blank" rel="noopener" > DT Timeline – Darren Tate </a></li> <li><a href="https://willowwelliness.com/article/porkchop%27s-adventure-merchandise" target="_blank" rel="noopener" > Porkchop&#039;s Adventure Merchandise </a></li> <li><a href="https://zdcreative.org/article/prayer-the-master-key-revised-edition-raising-prophetic-intercessors-in-times-like-these" target="_blank" rel="noopener" > Prayer the Master Key (Revised Edition): Raising Prophetic Intercessors in Times Like These </a></li> <li><a href="https://vedetetv.com/article/sword-master-vr-gtx-1660" target="_blank" rel="noopener" > Sword Master Vr Gtx 1660 </a></li> <li><a href="https://mahometillinoisrealestate.com/article/battleforte-tracker" target="_blank" rel="noopener" > Battleforte Tracker </a></li> <li><a href="https://familywineriesofwashington.com/article/december-new-releases-what-the-ouabc-team-is-excited-for" target="_blank" rel="noopener" > December New Releases: What the OUABC Team is Excited For </a></li> <li><a href="https://homesofreston.com/article/gayathri-shanker-fanfic" target="_blank" rel="noopener" > Gayathri Shanker Fanfic </a></li> <li><a href="https://lvmetals.com/article/the-garden-of-sinners-chapter-2:-a-study-in-murder---part-1-gacha-game" target="_blank" rel="noopener" > The Garden Of Sinners Chapter 2: A Study In Murder - Part 1 Gacha Game </a></li> <li><a href="https://plazaheights.org/article/kubo-san-wa-boku-wo-yurusanai-220" target="_blank" rel="noopener" > Kubo-San Wa Boku Wo Yurusanai 220 </a></li> <li><a href="https://newhampshiretouristinformation.com/article/d4dj-first-mix-breakdown" target="_blank" rel="noopener nofollow" > D4Dj First Mix Breakdown </a></li> <li><a href="https://selwynmcr.com/article/capelli-shashank-arora" target="_blank" rel="noopener nofollow" > Capelli Shashank Arora </a></li> <li><a href="https://getpowerpad.com/article/koigokoro%E2%99%A5senpukuchuu-ch-99" target="_blank" rel="noopener nofollow" > Koigokoro♥Senpukuchuu Ch 99 </a></li> <li><a href="https://tumhybileti.com/article/monster-hunter-kaifeng-strange-tales:-this-lord-bao-is-not-that-great" target="_blank" rel="noopener" > Monster Hunter Kaifeng Strange Tales: This Lord Bao Is Not That Great </a></li> <li><a href="https://belfrs.org/article/jin-goo-icons-livejournal" target="_blank" rel="noopener" > Jin Goo Icons Livejournal </a></li> <li><a href="https://wwbrecruitment.com/article/onryou-senki-ending-cutscene" target="_blank" rel="noopener" > Onryou Senki Ending Cutscene </a></li> <li><a href="https://ecoleduregard.com/article/save-on-max-with-annual-plans-max" target="_blank" rel="noopener" > Save on Max with Annual Plans | Max </a></li> <li><a href="https://bgcstorycounty.org/article/dr-teitelbaum-on-the-basics-of-treating-chronic-fatigue-syndrome-and-fibromyalgia-health-rising" target="_blank" rel="noopener" > Dr. Teitelbaum on the Basics of Treating Chronic Fatigue Syndrome and Fibromyalgia - Health Rising </a></li> <li><a href="https://dougboude.com/article/what-year-was-lokalmatador-2020-made" target="_blank" rel="noopener" > What Year Was Lokalmatador (2020) Made </a></li> <li><a href="https://standrewum.com/article/descargar-yamajo-mega" target="_blank" rel="noopener nofollow" > Descargar Yamajo Mega </a></li> <li><a href="https://fanclubjonatancerrada.com/article/when-was-the-%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88a%E5%AD%90-1986-published" target="_blank" rel="noopener" > When Was The プロジェクトA子 (1986) Published </a></li> <li><a href="https://jsinteriorinnovations.com/article/neue-netflix-serien-und-filme-im-dezember-auf-diese-titel-sind-wir-gespannt" target="_blank" rel="noopener" > Neue Netflix-Serien und Filme im Dezember: Auf diese Titel sind wir gespannt </a></li> <li><a href="https://eurograffic.com/article/futarigurashi-full-episode" target="_blank" rel="noopener" > Futarigurashi Full Episode </a></li> <li><a href="https://gamebai168.net/article/the-11-best-natural-organic-deodorants-for-men-that-actually-work" target="_blank" rel="noopener" > The 11 Best Natural &amp; Organic Deodorants For Men That Actually Work </a></li> <li><a href="https://tropicalheights.com/article/music-inside:-a-vr-rhythm-game-kostenlos" target="_blank" rel="noopener" > Music Inside: A Vr Rhythm Game Kostenlos </a></li> <li><a href="https://georgegordonfirstnation.com/article/karate-master-english-dub-download" target="_blank" rel="noopener nofollow" > Karate Master English Dub Download </a></li> <li><a href="https://local2209.org/article/fee-schedules-101-what-they-are-why-they-re-important-and-how-to-edit-them-dentrix-magazine" target="_blank" rel="noopener nofollow" > Fee Schedules 101—What They Are, Why They’re Important, and How to Edit Them – Dentrix Magazine </a></li> <li><a href="https://cleanfresnocarpets.com/article/perfect-blue-rotten-tomatoes" target="_blank" rel="noopener" > Perfect Blue | Rotten Tomatoes </a></li> <li><a href="https://sjscrabble.com/article/girls-&amp;-panzer-live-action-watch" target="_blank" rel="noopener" > Girls &amp; Panzer Live Action Watch </a></li> <li><a href="https://hkdining.com/article/these-deodorants-fight-even-smelly-armpits-and-lots-of-sweat" target="_blank" rel="noopener nofollow" > These Deodorants Fight Even Smelly Armpits and Lots of Sweat </a></li> <li><a href="https://yardleyknights.org/article/is-dragon-quest:-la-aventura-de-dai-manga-ongoing" target="_blank" rel="noopener" > Is Dragon Quest: La Aventura De Dai Manga Ongoing </a></li> <li><a href="https://vomrheinlander.com/article/can-i-get-swords-&amp;-souls:-neverseen-on-pc" target="_blank" rel="noopener" > Can I Get Swords &amp; Souls: Neverseen On Pc </a></li> <li><a href="https://kelleyathletic.com/article/photo-construction-kaiser-wilhelm-channel-nord-ostsee-kanal-scaffold-buttress-81-06" target="_blank" rel="noopener" > Photo Construction Kaiser Wilhelm Channel Nord-Ostsee-Kanal Scaffold Buttress • $81.06 </a></li> <li><a href="https://easycapi.com/article/intel-xeon-e-2356g-ab-403-78-2025-preisvergleich-geizhals-deutschland" target="_blank" rel="noopener" > Intel Xeon E-2356G ab € 403,78 (2025) | Preisvergleich Geizhals Deutschland </a></li> <li><a href="https://cosaracosme.com/article/s23-e6-gutter-runoff-replace-ceiling-fan" target="_blank" rel="noopener" > S23 E6: Gutter Runoff, Replace Ceiling Fan </a></li> <li><a href="https://percyboomhaven.com/article/riko-matsudaira-press-conference" target="_blank" rel="noopener" > Riko Matsudaira Press Conference </a></li> <li><a href="https://canaryislandflora.com/article/jacque-gray-shoe-size" target="_blank" rel="noopener nofollow" > Jacque Gray Shoe Size </a></li> <li><a href="https://xovenagricultor.org/article/pokemon-xy:-mega-evolution-manga-and-anime-differences" target="_blank" rel="noopener" > Pokemon Xy: Mega Evolution Manga And Anime Differences </a></li> <li><a href="https://justbagitbags.com/article/the-jobless-siblings-title-meaning" target="_blank" rel="noopener nofollow" > The Jobless Siblings Title Meaning </a></li> <li><a href="https://striga.info/article/noblesse:-awakening-season-1-ep-12" target="_blank" rel="noopener" > Noblesse: Awakening Season 1 Ep 12 </a></li> <li><a href="https://sarchittu.net/article/the-witcher-3:-wild-hunt---hearts-of-stone-gold" target="_blank" rel="noopener" > The Witcher 3: Wild Hunt - Hearts Of Stone Gold </a></li> <li><a href="https://summitag.org/article/%E5%BA%83%E9%87%8D%E3%81%B6%E3%82%8B%E3%81%86-streaming-service" target="_blank" rel="noopener" > 広重ぶるう Streaming Service </a></li> <li><a href="https://coinjewelryetc.com/article/signia-pure-312-ax-battery-powered-ric-hearing-aids" target="_blank" rel="noopener" > Signia Pure 312 AX Battery-Powered RIC Hearing Aids </a></li> <li><a href="https://sticksparet.com/article/season-2-robot-girls-z-episode-0-release-date" target="_blank" rel="noopener" > Season 2 Robot Girls Z Episode 0 Release Date </a></li> <li><a href="https://quarrysteakhouse.com/article/akb0048-second-season-manga-66" target="_blank" rel="noopener" > Akb0048 Second Season Manga 66 </a></li> <li><a href="https://idbsolutions.net/article/ufo-factory-movie-poster" target="_blank" rel="noopener" > Ufo Factory Movie Poster </a></li> <li><a href="https://cavmonline.org/article/need-a-deep-cleanse-these-facial-cleansing-brushes-will-upgrade-your-routine" target="_blank" rel="noopener" > Need a Deep Cleanse? These Facial Cleansing Brushes Will Upgrade Your Routine </a></li> <li><a href="https://kc4953.org/article/banksy-boobes" target="_blank" rel="noopener" > Banksy Boobes </a></li> <li><a href="https://wyomingoutdoorsradio.com/article/stickers-ouji-sama-no-tamago" target="_blank" rel="noopener" > Stickers Ouji-Sama No Tamago </a></li> <li><a href="https://masecom.net/article/yu-gi-oh!-serie-zero-fanfic-crossover" target="_blank" rel="noopener" > Yu-Gi-Oh! Serie Zero Fanfic Crossover </a></li> <li><a href="https://ilborgodifaeta.com/article/pippo-cairelli-boyfirned" target="_blank" rel="noopener" > Pippo Cairelli Boyfirned </a></li> <li><a href="https://onthemicdjs.com/article/mouchoirs-en-papier-et-serviettes-a-cocktail-personnalises-merchlist" target="_blank" rel="noopener" > Mouchoirs en papier et serviettes à cocktail personnalisés - Merchlist </a></li> <li><a href="https://homeosoins.com/article/great-dark-goodreads" target="_blank" rel="noopener" > Great Dark Goodreads </a></li> <li><a href="https://dpsm.org/article/king-of-meat-ellie" target="_blank" rel="noopener" > King Of Meat Ellie </a></li> <li><a href="https://robertnlevin.com/article/14-major-health-care-efficacy-of-ganoderma-lucidum-extract" target="_blank" rel="noopener" > 14 Major Health - care Efficacy of Ganoderma Lucidum Extract. </a></li> <li><a href="https://spacelightcatalogs.com/article/conjuror:-the-game-one-player" target="_blank" rel="noopener nofollow" > Conjuror: The Game One Player </a></li> <li><a href="https://irklib.net/article/nitian-xie-shen-capitulo-11" target="_blank" rel="noopener nofollow" > Nitian Xie Shen Capitulo 11 </a></li> <li><a href="https://signcommunique.com/article/steganography-how-to-hide-secret-data-inside-an-image-or-audio-file-in-seconds" target="_blank" rel="noopener" > Steganography: How to Hide Secret Data Inside an Image or Audio File in Seconds </a></li> <li><a href="https://cyberosex.com/article/is-marc-andr%C3%A9-lavoie-a-list" target="_blank" rel="noopener nofollow" > Is Marc-André Lavoie A List </a></li> <li><a href="https://fedevoleicolombia.com/article/the-efficacy-and-safety-of-oral-and-topical-spironolactone-in-androgenetic-alopecia-treatment-a-systematic-review" target="_blank" rel="noopener" > The Efficacy and Safety of Oral and Topical Spironolactone in Androgenetic Alopecia Treatment: A Systematic Review </a></li> <li><a href="https://snanc.org/article/ryttpro-fresh-breath-tandpasta-magic-mint-75ml" target="_blank" rel="noopener" > RyttPro Fresh Breath Tandpasta Magic Mint 75ML </a></li> <li><a href="https://djhotline.net/article/is-les-cinq-derni%C3%A8res-minutes-on-hbo-max" target="_blank" rel="noopener" > Is Les Cinq Dernières Minutes On Hbo Max </a></li> <li><a href="https://my360mirror.com/article/upholstery-cost-planetnautique-forums" target="_blank" rel="noopener" > Upholstery cost? - PlanetNautique Forums </a></li> <li><a href="https://abackrubco.com/article/max-level-a-tale-of-crowns" target="_blank" rel="noopener" > Max Level A Tale Of Crowns </a></li> <li><a href="https://thaiwindsurfer.com/article/women-s-history-month-spotlight-jennifer-cudlipp" target="_blank" rel="noopener nofollow" > Women&#039;s History Month Spotlight - Jennifer Cudlipp </a></li> <li><a href="https://tywlhy.com/article/kim-youjung-profile-updated-kpop-profiles" target="_blank" rel="noopener nofollow" > Kim Youjung Profile (Updated!) - Kpop Profiles </a></li> <li><a href="https://baseballjerseyswholesale.com/article/where-was-cautionary-tale-2023-shot" target="_blank" rel="noopener" > Where Was Cautionary Tale (2023) Shot </a></li> <li><a href="https://porupeppomuseumstore.com/article/how-to-make-essential-oil-roller-bottle-recipes" target="_blank" rel="noopener" > How to Make Essential Oil Roller Bottle Recipes </a></li> <li><a href="https://celebratesouthpark.org/article/shows-similar-to-to-heart:-remember-my-memories-specials" target="_blank" rel="noopener" > Shows Similar To To Heart: Remember My Memories Specials </a></li> <li><a href="https://gamify.frivgames.one/article/what-can-you-watch-daily-dose-of-sunshine-on" target="_blank" rel="noopener" > What Can You Watch Daily Dose Of Sunshine On </a></li> <li><a href="https://gamehub.frivgames.mobi/article/what-can-you-watch-daily-dose-of-sunshine-on" target="_blank" rel="noopener" > What Can You Watch Daily Dose Of Sunshine On </a></li> <li><a href="https://gamespace.friv.city/article/what-can-you-watch-daily-dose-of-sunshine-on" target="_blank" rel="noopener" > What Can You Watch Daily Dose Of Sunshine On </a></li> <li><a href="https://gameverse.frivgames.website/article/what-can-you-watch-daily-dose-of-sunshine-on" target="_blank" rel="noopener" > What Can You Watch Daily Dose Of Sunshine On </a></li> <li><a href="https://epicgames.abcya.click/article/what-can-you-watch-daily-dose-of-sunshine-on" target="_blank" rel="noopener" > What Can You Watch Daily Dose Of Sunshine On </a></li> <li><a href="https://gamerspace.abcya.click/article/what-can-you-watch-daily-dose-of-sunshine-on" target="_blank" rel="noopener" > What Can You Watch Daily Dose Of Sunshine On </a></li> <li><a href="https://gamingzone.abcya.codes/article/what-can-you-watch-daily-dose-of-sunshine-on" target="_blank" rel="noopener" > What Can You Watch Daily Dose Of Sunshine On </a></li> <li><a href="https://welslanguageschool.com/article/shadow-ops:-red-mercury-mac-os" target="_blank" rel="noopener" > Shadow Ops: Red Mercury Mac Os </a></li> <li><a href="https://spikyhedgehog.com/article/grimm%27s-godfather-bones" target="_blank" rel="noopener nofollow" > Grimm&#039;s Godfather Bones </a></li> <li><a href="https://mindandmatter.net/article/clitoris-location-diagram-anatomy-function-structure" target="_blank" rel="noopener" > Clitoris - Location, Diagram, Anatomy, Function, Structure </a></li> <li><a href="https://cfstax.net/article/these-cyber-monday-nintendo-switch-deals-are-still-available-save-big-on-pro-controllers-and-games-including-mario-and-zelda" target="_blank" rel="noopener nofollow" > These Cyber Monday Nintendo Switch Deals Are Still Available: Save Big on Pro Controllers and Games, including Mario and Zelda </a></li> <li><a href="https://subotin.net/article/seethamma-andalu-ramayya-sitralu-2016-movie-online" target="_blank" rel="noopener" > Seethamma Andalu Ramayya Sitralu (2016) Movie Online </a></li> </ul> </div> <div class="pt-3 bg-white rounded-lg my-0"> <form class="flex justify-center w-full px-5 pt-0 pb-5" target="_top" action="https://peterec.com/search-article"> <input aria-label="keyword" type="text" name="keyword" class="search-input w-full" placeholder="Search for articles" /> <button class="search-button" type="submit" value="Submit"> <img width="18" height="18" src="/static-res/img/search.svg?id=b28071f3b9c4778b36f1" alt="Search" /> </button> </form> </div> <div class="text-gray-700 bg-gray-200 rounded px-5 py-4 space-y-2 my-3"> <div class="font-semibold text-center">Article information</div> <p><span class="font-semibold">Author</span>: <span class="vcard"><a class="url fn" href="/">Trent Wehner</a></span> </p> <p><span class="font-semibold">Last Updated</span>: <span class="posted-on"><time class="entry-date published" datetime="2024-12-04T06:56:34+07:00" itemprop="datePublished">2024-12-04T06:56:34+07:00</time></span> </p> <p><span class="font-semibold">Views</span>: 5987</p> <p><span class="font-semibold">Rating</span>: 4.6 / 5 (76 voted)</p> <p><span class="font-semibold">Reviews</span>: 91% of readers found this page helpful</p> </div> <div class="text-gray-700 bg-gray-200 rounded px-5 py-4 space-y-2 my-3"> <div class="font-semibold text-center">Author information</div> <p><span class="font-semibold">Name</span>: Trent Wehner</p> <p><span class="font-semibold">Birthday</span>: 1993-03-14</p> <p><span class="font-semibold">Address</span>: 872 Kevin Squares, New Codyville, AK 01785-0416</p> <p><span class="font-semibold">Phone</span>: +18698800304764</p> <p><span class="font-semibold">Job</span>: Senior Farming Developer</p> <p><span class="font-semibold">Hobby</span>: Paintball, Calligraphy, Hunting, Flying disc, Lapidary, Rafting, Inline skating</p> <p><span class="font-semibold">Introduction</span>: My name is Trent Wehner, I am a talented, brainy, zealous, light, funny, gleaming, attractive person who loves writing and wants to share my knowledge and understanding with you. </p> </div> </div> </section> </main> <aside class="right-container"> <div class="hidden xl:block sticky top-2 space-y-1"> <div class="text-center " > <ins class="adsbygoogle adsense h-ad4 " data-ad-client="ca-pub-5240180246042932" style="display:block" data-ad-format="auto" data-ad-slot="9667766790" data-full-width-responsive="true" data-adtest="off" > </ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="text-center " > <ins class="adsbygoogle adsense h-ad3 " data-ad-client="ca-pub-5240180246042932" style="display:block" data-ad-format="auto" data-ad-slot="9667766790" data-full-width-responsive="true" data-adtest="off" > </ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="text-center " > <ins class="adsbygoogle adsense h-ad2 " data-ad-client="ca-pub-5240180246042932" style="display:block" data-ad-format="auto" data-ad-slot="9667766790" data-full-width-responsive="true" data-adtest="off" > </ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> </aside> </div> <div class="text-center sticky top-2 right-2 hidden xl:block flex-shrink-0 " style="width: 160px; height: 600px;" > <ins class="adsbygoogle adsense h-ad4 " data-ad-client="ca-pub-5240180246042932" style="display:block" data-ad-format="auto" data-ad-slot="9667766790" data-full-width-responsive="true" data-adtest="off" > </ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </main> <footer class=" bg-white "> <div class="container mx-auto px-5 flex flex-col pt-8 pb-5 text-center sm:text-left xl:px-10"> <div class="flex-wrap sm:flex"> <div class="sm:w-1/2 lg:w-1/5"> <div class="text-sm font-bold text-gray-600 uppercase">NAVIGATION</div> <ul class="mt-4"> <li class="mt-2"> <a href="https://peterec.com" title="Home">Home</a> </li> <li class="mt-2"> <a target="_blank" href="https://peterec.com/page/dmca" title="DMCA">DMCA</a> </li> <li class="mt-2"> <a target="_blank" href="https://peterec.com/page/privacy-policy" title="Privacy Policy">Privacy Policy</a> </li> </ul> </div> <div class="mt-8 sm:w-1/2 sm:mt-0 lg:w-1/5 lg:mt-0"> <div class="text-sm font-bold text-gray-600 uppercase">DISCOVER</div> <ul class="mt-4"> <li class="mt-2"> <a target="_blank" href="https://peterec.com/page/terms-and-conditions" title="Terms And Conditions">Terms And Conditions</a> </li> <li class="mt-2"> <a target="_blank" href="https://peterec.com/page/cookie-agreement" title="Cookie Agreement">Cookie Agreement</a> </li> <li class="mt-2"> <a target="_blank" href="https://peterec.com/page/contacts" title="Contacts">Contacts</a> </li> </ul> </div> <div class="mt-8 sm:w-1/2 sm:mt-12 lg:w-1/5 lg:mt-0"> <div class="text-sm font-bold text-gray-600 uppercase">CONTACT US</div> <ul class="mt-4"> <li> <a title="Email Contact Us" href="mailto:dinhthienvan1@gmail.com"> dinhthienvan1@gmail.com </a> </li> <li class="mt-2"> <a target="_blank" href="https://peterec.com/page/about-us" title="About Us">About Us</a> </li> <li class="mt-2"> <a target="_blank" href="https://peterec.com/page/disclaimer" title="Disclaimer">Disclaimer</a> </li> </ul> </div> <div class="mt-8 sm:w-1/2 lg:w-2/5 lg:mt-0 lg:pl-12"> <a href="https://peterec.com" class="text-xl font-bold tracking-wider text-primary-500"> Peterec </a> <p class="mt-2 text-base text-gray-600 sm:text-justify text-center leading-7"> 🎮 Play thousands of free online games at Peterec: arcade games, puzzle games, action games, sports games, shooting games, and more in your browser! <br /> </p> </div> </div> <div class="mt-3 flex items-center flex-col sm:flex-row sm:justify-between" > <p class="text-sm text-gray-600 flex-bas"> © 2024 Peterec. All Rights Reserved. </p> </div> </div> </footer> </div> <div class='code-block code-block-1' style='opacity: 0.01278399879; top: 150px; position: fixed; z-index: 9995; width: 728px; height: 250px; text-align: center; left: 36%; transform: translate(-50%, -50%); opacity: 0.01874718879;'> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5240180246042932" crossorigin="anonymous"></script> <!-- ad1 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5240180246042932" data-ad-slot="9667766790" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script></div> <div class='code-block code-block-2' style='opacity: 0.01278399879; top: 150px; position: fixed; z-index: 9995; width: 728px; height: 250px; text-align: center; left: 36%; transform: translate(-50%, -50%); opacity: 0.01874718879;'> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5240180246042932" crossorigin="anonymous"></script> <!-- ad1 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5240180246042932" data-ad-slot="9667766790" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script></div> <div class='code-block code-block-3' style='opacity: 0.01278399879; top: 150px; position: fixed; z-index: 9995; width: 728px; height: 250px; text-align: center; left: 36%; transform: translate(-50%, -50%); opacity: 0.01874718879;'> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5240180246042932" crossorigin="anonymous"></script> <!-- ad1 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5240180246042932" data-ad-slot="9667766790" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script></div> <div class='code-block code-block-4' style='opacity: 0.01278399879; top: 550px; position: fixed; z-index: 9995; width: 300px; height: 300px; text-align: center; left: 50%; transform: translate(-50%, -50%);'> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5240180246042932" crossorigin="anonymous"></script> <!-- ad1 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5240180246042932" data-ad-slot="9667766790" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script></div> <div class='code-block code-block-5' style='opacity: 0.01278399879; top: 550px; position: fixed; z-index: 9995; width: 300px; height: 300px; text-align: center; left: 50%; transform: translate(-50%, -50%);'> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5240180246042932" crossorigin="anonymous"></script> <!-- ad1 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5240180246042932" data-ad-slot="9667766790" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script></div> <div x-data="{ open: false }"> <button class="hidden px-4 py-2 text-white bg-blue-500 rounded select-none no-outline focus:shadow-outline" @click="open = true" id="adblock">adblock</button> <div class="fixed z-10 inset-0 overflow-y-auto" aria-labelledby="modal-title" role="dialog" aria-modal="true" x-show="open" style="display: none" id="aaaaa-modal"> <div class="flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0"> <div class="fixed inset-0 bg-gray-500 bg-opacity-95 transition-opacity" aria-hidden="true"></div> <span class="hidden sm:inline-block sm:align-middle sm:h-screen" aria-hidden="true">&#8203;</span> <div class="inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full"> <div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4"> <div class="sm:flex sm:items-start"> <div id="ic-warning" class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10"> <svg class="h-6 w-6 text-red-600" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" /> </svg> </div> <div class="mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left"> <div class="text-lg leading-6 font-medium text-gray-900" id="modal-title"> We notice you&#039;re using an ad blocker </div> <div class="mt-2"> <p class="text-sm text-gray-500"> Without advertising income, we can&#039;t keep making this site awesome for you. </p> </div> </div> </div> </div> <div class="bg-gray-50 px-4 py-3 sm:px-6 flex-center"> <button onclick="location.reload();" type="button" class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm"> I understand and have disabled ad blocking for this site </button> </div> </div> </div> </div> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10