347:. SystemVerilog extends the reg type so it can be driven by a single driver such as gate or module. SystemVerilog names this type "logic" to remind users that it has this extra capability and is not a hardware register. The names "logic" and "reg" are interchangeable. A signal with more than one driver (such as a
1979:
In each SystemVerilog class there are 3 predefined methods for randomization: pre_randomize, randomize and post_randomize. The randomize method is called by the user for randomization of the class variables. The pre_randomize method is called by the randomize method before the randomization and the
3313:
a challenge, efforts to promote cross-vendor compatibility are underway. In 2008, Cadence and Mentor released the Open
Verification Methodology, an open-source class-library and usage-framework to facilitate the development of re-usable testbenches and canned verification-IP. Synopsys, which had
2160:
The constraint_mode() and the random_mode() methods are used to control the randomization. constraint_mode() is used to turn a specific constraint on and off and the random_mode is used to turn a randomization of a specific variable on or off. The below code describes and procedurally tests an
715:
block to model different types of hardware structures, each of SystemVerilog's new blocks is intended to model a specific type of hardware, by imposing semantic restrictions to ensure that hardware described by the blocks matches the intended usage of the model. An HDL compiler or verification
2961:
In this example, the verification engineer is interested in the distribution of broadcast and unicast frames, the size/f_type field and the payload size. The ranges in the payload size coverpoint reflect the interesting corner cases, including minimum and maximum size frames.
382:
Classical
Verilog permitted only one dimension to be declared to the left of the variable name. SystemVerilog permits any number of such "packed" dimensions. A variable of packed array type maps 1:1 onto an integer arithmetic quantity. In the example above, each element of
297:. Automatic variables are created the moment program execution comes to the scope of the variable. Static variables are created at the start of the program's execution and keep the same value during the entire program's lifespan, unless assigned a new value during execution.
1431:(as shown above.) Whereas a packed array's size must be known at compile time (from a constant or expression of constants), the dynamic array size can be initialized from another runtime variable, allowing the array to be sized and resize arbitrarily as needed.
1959:. Constraints may be selectively enabled; this feature would be required in the example above to generate corrupt frames. Constraints may be arbitrarily complex, involving interrelationships among variables, implications, and iteration. The SystemVerilog
3314:
been the first to publish a SystemVerilog class-library (VMM), subsequently responded by opening its proprietary VMM to the general public. Many third-party providers have announced or already released SystemVerilog verification IP.
3325:), SystemVerilog adoption has been slow. Many design teams use design flows which involve multiple tools from different vendors. Most design teams cannot migrate to SystemVerilog RTL-design until their entire front-end tool suite (
900:(EDA) tools can verify the design's intent by checking that the hardware model does not violate any block usage semantics. For example, the new blocks restrict assignment to a variable by allowing only one source, whereas Verilog's
3668:
916:
compactly describes a module's connectivity with the surrounding environment. But major blocks within a large design hierarchy typically possess port counts in the thousands. SystemVerilog introduces concept of
3239:" in computer programming. Since it is operating on the original variable itself, rather than a copy of the argument's value, the task/function can modify variables (but not nets) in the caller's scope in
4069:
1161:
The following verification features are typically not synthesizable, meaning they cannot be implemented in hardware based on HDL code. Instead, they assist in the creation of extensible, flexible
2438:
are useful for verifying properties of a design that manifest themselves after a specific condition or state is reached. SystemVerilog has its own assertion specification language, similar to
3622:
2678:, both assertions and assumptions are verified against test stimuli. Property coverage allows the verification engineer to verify that assertions are accurately monitoring the design.
2525:
Other sequential operators include repetition operators, as well as various conjunctions. These operators allow the designer to express complex relationships among design components.
3636:
403:) allow numeric quantities to be assigned meaningful names. Variables declared to be of enumerated type cannot be assigned to variables of a different enumerated type without
2691:
as applied to hardware verification languages refers to the collection of statistics based on sampling events within the simulation. Coverage is used to determine when the
517:
in this case) which is used to represent the enumeration value. The meta-values X and Z can be used here, possibly to represent illegal states. The built-in function
3028:
In addition to the new features above, SystemVerilog enhances the usability of
Verilog's existing language features. The following are some of these enhancements:
2649:, the consequent is attempted, and the success of the assertion depends on the success of the consequent. In this example, the consequent won't be attempted until
2528:
An assertion works by continually attempting to evaluate a sequence or property. An assertion fails if the property fails. The sequence above will fail whenever
5736:
2695:(DUT) has been exposed to a sufficient variety of stimuli that there is a high confidence that the DUT is functioning correctly. Note that this differs from
300:
Any variable that is declared inside a task or function without specifying type will be considered automatic. To specify that a variable is static place the "
5151:
4276:
387:
may be used in expressions as a six-bit integer. The dimensions to the right of the name (32 in this case) are referred to as "unpacked" dimensions. As in
1808:-based randomization, where a variable will take on all possible values once before any value is repeated. Variables without modifiers are not randomized.
5044:
2621:
1544:
1479:
model, but may implement functionality similar to multiple-inheritance through the use of so-called "interface classes" (identical in concept to the
5726:
3809:
2646:
2699:
which instruments the design code to ensure that all lines of code in the design have been executed. Functional coverage ensures that all desired
5721:
5174:
1456:
type: elements can be added and removed from either end efficiently. These primitives allow the creation of complex data structures required for
3224:
Additions to the `timescale directive allow simulation timescale to be controlled more predictably in a large simulation environment, with each
3189:
5731:
3569:
3543:
3517:
3491:
1552:
5352:
5322:
1517:
1449:; the elements of an associative array can be read out in lexicographic order. Finally, a queue provides much of the functionality of the
5080:
5070:
3016:: elementary operations (for example, sending a frame) that are executed by the verification components. The semaphore is modeled as a
239:
Standard 1800-2005. In 2009, the standard was merged with the base
Verilog (IEEE 1364-2005) standard, creating IEEE Standard 1800-2009.
1963:
is required to find a solution if one exists, but makes no guarantees as to the time it will require to do so as this is in general an
3919:
3778:– unit test framework for developers writing code in SystemVerilog. Verify SystemVerilog modules, classes and interfaces in isolation.
2975:
1428:
2453:. Properties are a superset of sequences; any sequence may be used as if it were a property, although this is not typically useful.
5196:
4345:
3864:
3644:
3630:
3334:
3125:
5144:
3263:
2995:
2435:
407:. This is not true of parameters, which were the preferred implementation technique for enumerated quantities in Verilog-2005:
5337:
4044:
3107:
2439:
1503:
4326:
1968:
180:
2970:
A complex test environment consists of reusable verification components that must communicate with one another. Verilog's '
3293:
In the design verification role, SystemVerilog is widely used in the chip-design industry. The three largest EDA vendors (
2442:. The subset of SystemVerilog language constructs that serves assertion is commonly called SystemVerilog Assertion or SVA.
5387:
5263:
5184:
4301:
3012:
176:
3802:
3309:. Although no simulator can yet claim support for the entire SystemVerilog Language Reference Manual, making testbench
3119:
3112:
2734:
1424:
897:
352:
5382:
5137:
4710:
4271:
3974:
3889:
3869:
3007:
1469:
270:
266:
160:
83:
37:
2722:
of values of an associated variable. Cross-coverage can also be defined, which creates a histogram representing the
5113:
3842:
3818:
1781:
Integer quantities, defined either in a class definition or as stand-alone variables in some lexical scope, can be
1317:
3449:
IEEE 1800-2023, IEEE Standard for SystemVerilog--Unified
Hardware Design, Specification, and Verification Language
5201:
5160:
4680:
3879:
3357:
3278:
2979:
2708:
2668:
1450:
1178:
1442:
262:; all features of that language are available in SystemVerilog. Therefore, Verilog is a subset of SystemVerilog.
227:
in 2002 by the startup company Co-Design
Automation. The bulk of the verification functionality is based on the
5624:
5357:
5243:
5226:
5211:
5206:
4114:
2712:
1782:
851:
574:
3686:
1800-2017 - IEEE Standard for SystemVerilog--Unified
Hardware Design, Specification, and Verification Language
5700:
5601:
5118:
3979:
3969:
3949:
3795:
3580:
3405:
2990:
1492:
805:
700:
344:
255:
192:
5542:
5428:
4291:
3852:
3637:"SystemVerilog for Design Second Edition: A Guide to Using SystemVerilog for Hardware Design and Modeling"
3346:
3294:
3235:. A reference gives the task body direct access to the source arguments in the caller's scope, known as "
3199:
2974:' primitive allowed different blocks of procedural statements to trigger each other, but enforcing thread
2642:
359:
32:
5552:
5443:
5433:
5253:
5085:
4208:
3944:
2730:
1532:
keywords, which must be applied to any item that is to be hidden. By default, all class properties are
918:
305:
1955:
field used to corrupt it to inject FCS errors. The two constraints shown are applicable to conforming
593:
attribute causes the structure or union to be mapped 1:1 onto a packed array of bits. The contents of
242:
The SystemVerilog standard was subsequently updated in 2012, 2017, and most recently in
December 2023.
2741:
method of the coverage group. Care is required to ensure that data are sampled only when meaningful.
5616:
5563:
5448:
5342:
5248:
4351:
4281:
4099:
4029:
3145:
521:
returns an ASCII string for the current enumerated value, which is useful in validation and testing.
27:
4994:
4989:
4984:
4979:
4974:
4969:
4964:
3210:
5661:
5517:
5238:
5216:
3330:
3240:
3033:
2984:
2457:
1484:
1439:
724:
692:
684:
3554:
IEEE Standard for SystemVerilog--Unified
Hardware Design, Specification, and Verification Language
3528:
IEEE Standard for SystemVerilog--Unified
Hardware Design, Specification, and Verification Language
3502:
IEEE Standard for SystemVerilog--Unified Hardware Design, Specification, and Verification Language
5537:
5453:
4233:
4109:
3476:
IEEE Standard for SystemVerilog: Unified Hardware Design, Specification and Verification Language
3017:
2631:
1521:
1476:
1453:
1435:
1313:
922:
708:
125:
727:. The simulator infers the sensitivity list to be all variables from the contained statements:
552:
355:) needs to be declared a net type such as "wire" so SystemVerilog can resolve the final value.
5468:
5310:
4782:
4777:
4757:
4741:
4735:
4730:
4725:
4720:
4715:
4705:
4700:
4690:
4685:
4321:
4151:
3640:
3626:
3565:
3539:
3513:
3487:
3282:
3236:
3202:-substitution capabilities, specifically substitution within literal-strings (""), as well as
3037:
2971:
2723:
2692:
2461:
1960:
1496:
1446:
847:
4910:
4651:
4646:
4636:
4631:
4626:
4621:
4616:
4611:
4601:
4596:
4591:
4586:
4576:
4571:
4566:
4561:
4546:
4541:
4536:
4531:
4526:
3396:
Rich, D. “The evolution of SystemVerilog” IEEE Design and Test of Computers, July/August 2003
1488:
5332:
5179:
4675:
4341:
3557:
3531:
3505:
3479:
3310:
3196:
3056:
1511:
854:
348:
589:
attribute allows runtime tracking of which member(s) of a union are currently in use. The
559:
metavalues of classical Verilog; working with these types may result in faster simulation.
5571:
4104:
3326:
3318:
3298:
3203:
3052:
404:
395:
290:
196:
184:
45:
3698:
5673:
4959:
4089:
4084:
4004:
3954:
3067:
3043:
Port (inout, input, output) definitions are now expanded to support a wider variety of
2661:
2162:
1956:
1951:
field is not randomized; in practice it will be computed with a CRC generator, and the
1786:
716:
program can take extra steps to ensure that only the intended type of behavior occurs.
556:
294:
5715:
5644:
5629:
5501:
5423:
5065:
5009:
5004:
4999:
4949:
4944:
4939:
4929:
4905:
4881:
4869:
4858:
4847:
4835:
4830:
4825:
4820:
4807:
4796:
4286:
4266:
4119:
4094:
3914:
3859:
3306:
3244:
3089:
3003:
2999:
2737:
event can be a Verilog event, the entry or exit of a block of code, or a call to the
2696:
2687:
1533:
1457:
1423:
A dynamic array works much like an unpacked array, but offers the advantage of being
1309:
926:
277:
The remainder of this article discusses the features of SystemVerilog not present in
208:
204:
3614:
3110:, i.e. those designated as non-changing during runtime, can be designated by use of
5586:
5576:
5221:
5049:
5039:
4787:
4772:
4767:
4762:
4752:
4695:
4336:
4331:
4316:
4311:
4306:
4256:
3257:
3075:
3071:
2665:
1556:
388:
362:
3596:
1555:, so there is no language facility to explicitly destroy instances created by the
543:
as two-state signed integral types having 8, 16, 32, and 64 bits respectively. A
3561:
3535:
3509:
5372:
5281:
5189:
4921:
4661:
4415:
4296:
4261:
4251:
4228:
4223:
4218:
4213:
4196:
4191:
4181:
3352:
3225:
2700:
2645:
of an implication starts through repeated attempts to evaluate the antecedent.
1805:
212:
131:
118:
114:
109:
3703:
3685:
3670:
Formal Verification: An Essential Toolkit for Modern VLSI Design, Jul 24, 2015,
3483:
3247:, and defer updating the caller-scope variable until the moment the task exits.
5591:
5522:
5491:
5298:
5034:
5029:
4361:
4243:
4176:
4171:
4166:
4161:
4156:
4146:
3096:
2675:
2637:
1506:
features are similar to those of C++: the programmer may specifically write a
1162:
569:
188:
3448:
3432:
3416:
1980:
post_randomize method is called by the randomize method after randomization.
5656:
5651:
5634:
5596:
5403:
5276:
5095:
5075:
4933:
4186:
4079:
4074:
4059:
4049:
4039:
4019:
4014:
3999:
3989:
3984:
3964:
3959:
3939:
3934:
3929:
3924:
3909:
3874:
3464:
3377:
3367:
3252:
3044:
2719:
2704:
598:
343:
Verilog-1995 and -2001 limit reg variables to behavioral statements such as
224:
3775:
2664:
and coverage of properties. An assumption establishes a condition that a
2522:
goes high. Note that all sequence operations are synchronous to a clock.
5639:
5532:
5463:
5408:
5367:
5362:
5327:
5293:
4366:
4138:
4129:
3847:
3837:
3832:
3746:– An open source meta-comment system to simplify maintaining Verilog code
3302:
3063:
2718:
A SystemVerilog coverage group creates a database of "bins" that store a
250:
The feature-set of SystemVerilog can be divided into two distinct roles:
232:
228:
156:
50:
597:
data types occupy a continuous block of memory with no gaps, similar to
513:
As shown above, the designer can specify an underlying arithmetic type (
5606:
5496:
5458:
5317:
5271:
5090:
4886:
4852:
4801:
4746:
4641:
4606:
4581:
4556:
4551:
4521:
4516:
4511:
4505:
4499:
4494:
4489:
4484:
4478:
4472:
4467:
4462:
4457:
4451:
4445:
4440:
4435:
4430:
4375:
4009:
3994:
3743:
3372:
3322:
3267:
1964:
683:
SystemVerilog introduces three new procedural blocks intended to model
672:
278:
259:
200:
144:
2413:// the f_type variable will not be randomized for this frame instance.
929:
related signals into a user-declared bundle. An additional concept is
5668:
5527:
5347:
5231:
5129:
4953:
4425:
4420:
4410:
4405:
4400:
4395:
4390:
4385:
4380:
4054:
3884:
3048:
1308:
In addition to the static array used in design, SystemVerilog offers
563:
203:
and some extensions, and since 2008, Verilog is now part of the same
3688:. The 2017 version is available at no cost via the IEEE GET Program.
3649:
Ben Cohen, Srinivasan Venkataramanan, Ajeetha Kumari and Lisa Piper
2978:
was up to the programmer's (clever) usage. SystemVerilog offers two
1785:
based on a set of constraints. This feature is useful for creating
223:
SystemVerilog started with the donation of the Superlog language to
2674:. An assertion specifies a property that must be proven true. In
1510:
function to have a derived class gain control of the function. See
152:
5438:
5418:
5377:
4811:
4666:
4201:
4064:
3904:
3781:
3715:
3362:
3321:
role (transformation of a hardware-design description into a gate-
2671:
3787:
3762:
2335:// 30, and 50 are the weights (30/80 or 50/80, in this example)
808:
latches. Again, the sensitivity list is inferred from the code:
366:
unify and extend Verilog's notion of "registers" and "memories":
289:
There are two types of data lifetime specified in SystemVerilog:
5704:
5581:
5288:
4034:
3899:
3894:
3724:
3452:
3436:
3420:
236:
148:
54:
5133:
3791:
3756:
1800:
modifiers signal variables that are to undergo randomization.
273:
than Verilog. These constructs are generally not synthesizable.
5413:
904:
block permitted assignment from multiple procedural sources.
547:
type is a variable-width two-state type that works much like
3305:) have incorporated SystemVerilog into their mixed-language
2386:// the constraint one_src_cst will not be taken into account
3765:– A SystemVerilog BNF Navigator (current to IEEE 1800-2012)
2629:. The clause to the left of the implication is called the
3729:
3662:
3659:
3653:
3650:
3605:
3204:
concatenation of multiple macro-tokens into a single word
2114:// update the fcs field according to the randomized frame
3759:– Run SystemVerilog from a web browser (free online IDE)
3658:
Ben Cohen Srinivasan Venkataramanan and Ajeetha Kumari
16:
Hardware description and hardware verification language
3652:
SystemVerilog Assertions Handbook, 4th Edition, 2016-
671:
As shown in this example, SystemVerilog also supports
3784:- open-source converter from SystemVerilog to Verilog
3243:. The inout/output port declarations pass variables
1382:// queue, indexed as an array, or by built-in methods
2532:
is low. To accurately express the requirement that
1303:// simulation will print: " Hello, world!"
5615:
5562:
5551:
5510:
5484:
5477:
5396:
5262:
5167:
5058:
5022:
4920:
4660:
4360:
4242:
4137:
4128:
3825:
711:). Whereas Verilog used a single, general-purpose
137:
124:
108:
82:
60:
44:
26:
3581:"IEEE approves SystemVerilog, revision of Verilog"
3006:may be passed through it. Typically, objects are
2660:In addition to assertions, SystemVerilog supports
933:, which shows the direction of logic connections.
391:, any number of unpacked dimensions is permitted.
3635:Stuart Sutherland, Simon Davidmann, Peter Flake,
3266:can be declared any type, including user-defined
2653:goes high, after which the property will fail if
1539:Class instances are dynamically created with the
3406:IEEE approves SystemVerilog, revision of Verilog
925:between connected modules, as well as group and
3144:) are supported in SystemVerilog, as are other
3277:Besides this, SystemVerilog allows convenient
2982:specifically for interthread synchronization:
265:SystemVerilog for verification uses extensive
199:electronic systems. SystemVerilog is based on
5145:
3803:
8:
3059:, and multi-dimensional types are supported.
2998:message queue. Optionally, the FIFO can be
2733:event controls when a sample is taken. The
1551:can be defined. SystemVerilog has automatic
1434:An associative array can be thought of as a
1177:data type represents a variable-length text
327:add new capability to Verilog's "reg" type:
215:design industry as an evolution of Verilog.
21:
308:in the declaration before the type, e.g., "
5559:
5481:
5152:
5138:
5130:
4134:
3810:
3796:
3788:
2635:and the clause to the right is called the
577:. SystemVerilog enhancements include the
269:techniques and is more closely related to
89:IEEE 1800-2023 / December 16, 2023
20:
3024:General improvements to classical Verilog
2468:operator which performs a concatenation:
2464:. The simplest temporal operator is the
3661:A Pragmatic Approach to VMM Adoption, -
2445:SystemVerilog assertions are built from
235:. In 2005, SystemVerilog was adopted as
5693:
3389:
2518:signal goes high one clock cycle after
1370:// associative array, indexed by string
3606:"SystemVerilog, SVA, SV DPI Tutorials"
5737:Programming languages created in 2002
3465:SystemVerilog Assertion: Introduction
2129:// if this frame should be corrupted
1787:randomized scenarios for verification
7:
3704:SystemVerilog Tutorial for Beginners
3337:) support a common language subset.
2657:is not high on the following clock.
2611:"req not followed by gnt."
1475:In SystemVerilog, classes support a
1358:// associative array, indexed by int
3335:automated test structure generators
3289:Verification and synthesis software
316:" keyword is used in the same way.
3730:SystemVerilog Technical Committees
3004:only objects of the specified type
1487:, providing the basic function of
1415:// Allocate array with 16 elements
14:
3721:Sites used before IEEE 1800-2005
3718:– Working group for SystemVerilog
3213:construct has been expanded with
3126:Increment and decrement operators
921:to both reduce the redundancy of
3623:"SystemVerilog for Verification"
3285:(Direct Programming Interface).
3070:inside the for statement. Loop
258:(RTL) design is an extension of
5727:Hardware verification languages
3667:Erik Seligman and Tom Schubert
3231:Task ports can now be declared
2994:. The mailbox is modeled as a
2440:Property Specification Language
1334:// # elements for dynamic array
912:For small designs, the Verilog
5722:Hardware description languages
3725:SystemVerilog official website
3279:interface to foreign languages
3250:Functions can now be declared
3195:The preprocessor has improved
3068:automatic variable declaration
1792:Within class definitions, the
573:work much like they do in the
181:hardware verification language
1:
3639:Springer, New York City, NY.
3625:Springer, New York City, NY.
3615:"More SystemVerilog Weblinks"
3579:McGrath, Dylan (2005-11-09).
2514:This sequence matches if the
1777:Constrained random generation
207:. It is commonly used in the
5732:System description languages
3562:10.1109/IEEESTD.2018.8299595
3536:10.1109/IEEESTD.2013.6469140
3510:10.1109/IEEESTD.2009.5354441
2647:When the antecedent succeeds
1485:can be parameterized by type
898:Electronic design automation
551:. Two-state types lack the
353:general-purpose input/output
3604:Gopi Krishna (2005-11-09).
3595:Puneet Kumar (2005-11-09).
3036:(<=, =) can now operate
1470:object-oriented programming
493:"The color is %s"
267:object-oriented programming
66:; 22 years ago
5755:
5114:IEEE Standards Association
3484:10.1109/IEEESTD.2005.97972
3122:can now operate on arrays.
1524:is accomplished using the
1483:feature of Java). Classes
1468:SystemVerilog provides an
5104:
3597:"System Verilog Tutorial"
3358:e (verification language)
1514:for further information.
142:
104:
78:
5244:Circuit underutilization
5227:Reconfigurable computing
3228:using a local timescale.
2746:
2542:
2540:a property is required:
2470:
2167:
1982:
1810:
1564:
1322:
1183:
938:
859:
810:
729:
603:
527:: SystemVerilog defines
409:
368:
329:
5119:Category:IEEE standards
3680:IEEE Standard Reference
3663:http://SystemVerilog.us
3654:http://SystemVerilog.us
3120:Variable initialization
2758:// Definitions as above
2726:of multiple variables.
2156:Controlling constraints
1493:template specialization
1267:// string concatenation
325:Enhanced variable types
256:register-transfer level
3699:SystemVerilog Tutorial
3347:List of HDL simulators
3295:Cadence Design Systems
2672:must assume to be true
2619:This example shows an
1969:boolean satisfiability
1783:assigned random values
1445:. The key implies an
1443:key type and data type
923:port-name declarations
575:C programming language
91:; 8 months ago
5254:Hardware acceleration
3710:Standards Development
3088:SystemVerilog adds a
3066:construct now allows
2456:Sequences consist of
1975:Randomization methods
1947:In this example, the
1425:dynamically allocated
1157:Verification features
396:Enumerated data types
5449:Microchip Technology
5249:High-level synthesis
3034:assignment operators
2791:48'hFFFFFFFFFFFF
231:language donated by
177:hardware description
5518:Intel Quartus Prime
5239:Soft microprocessor
3738:Language Extensions
3349:(Search for SV2005)
3331:formal verification
3146:compound assignment
3074:is improved by the
2458:boolean expressions
1499:are not supported.
725:combinational logic
693:combinational logic
675:, as in C and C++.
126:Filename extensions
61:First appeared
23:
5161:Programmable logic
3108:Constant variables
3038:directly on arrays
3018:counting semaphore
3000:type-parameterized
2462:temporal operators
2144:// corrupt the fcs
1553:garbage collection
1497:function templates
1477:single-inheritance
1436:binary search tree
1314:associative arrays
581:attribute and the
254:SystemVerilog for
171:, standardized as
5690:
5689:
5686:
5685:
5682:
5681:
5469:Texas Instruments
5127:
5126:
5018:
5017:
3571:978-1-5044-4509-2
3545:978-0-7381-8110-3
3519:978-0-7381-6130-3
3493:978-0-7381-4810-6
3283:SystemVerilog DPI
3281:(like C/C++), by
3256:, which means it
3237:pass by reference
3190:C and descendants
2724:Cartesian product
2693:device under test
1961:constraint solver
1210:"world"
1195:"Hello"
848:synchronous logic
679:Procedural blocks
525:New integer types
166:
165:
155:, Verification:
110:Typing discipline
5744:
5707:
5701:IEEE GET Program
5698:
5560:
5482:
5154:
5147:
5140:
5131:
4135:
3812:
3805:
3798:
3789:
3618:
3609:
3600:
3591:
3589:
3588:
3575:
3549:
3523:
3497:
3467:
3462:
3456:
3446:
3440:
3430:
3424:
3414:
3408:
3403:
3397:
3394:
3319:design synthesis
3311:interoperability
3187:
3183:
3179:
3175:
3171:
3167:
3163:
3159:
3155:
3151:
3143:
3139:
3135:
3131:
2957:
2954:
2951:
2948:
2945:
2942:
2939:
2936:
2933:
2930:
2927:
2924:
2921:
2918:
2915:
2912:
2909:
2906:
2903:
2900:
2897:
2894:
2891:
2888:
2885:
2882:
2879:
2876:
2873:
2870:
2867:
2864:
2861:
2858:
2855:
2852:
2849:
2846:
2843:
2840:
2837:
2834:
2831:
2828:
2825:
2822:
2819:
2816:
2813:
2810:
2807:
2804:
2801:
2798:
2795:
2792:
2789:
2786:
2783:
2780:
2777:
2774:
2771:
2768:
2765:
2762:
2759:
2756:
2753:
2750:
2740:
2656:
2652:
2628:
2615:
2612:
2609:
2606:
2603:
2600:
2597:
2594:
2591:
2588:
2585:
2582:
2579:
2576:
2573:
2570:
2567:
2564:
2561:
2558:
2555:
2552:
2549:
2546:
2539:
2535:
2531:
2521:
2517:
2510:
2507:
2504:
2501:
2498:
2495:
2492:
2489:
2486:
2483:
2480:
2477:
2474:
2467:
2426:
2423:
2420:
2417:
2414:
2411:
2408:
2405:
2402:
2399:
2396:
2393:
2390:
2387:
2384:
2381:
2378:
2375:
2372:
2369:
2366:
2363:
2360:
2357:
2354:
2351:
2348:
2345:
2342:
2339:
2336:
2333:
2330:
2327:
2324:
2321:
2318:
2315:
2312:
2309:
2306:
2303:
2300:
2297:
2294:
2291:
2288:
2285:
2282:
2279:
2276:
2273:
2270:
2267:
2264:
2261:
2258:
2255:
2252:
2249:
2246:
2243:
2240:
2237:
2234:
2231:
2228:
2225:
2222:
2219:
2216:
2213:
2210:
2207:
2204:
2201:
2198:
2195:
2192:
2189:
2186:
2183:
2180:
2177:
2174:
2171:
2151:
2148:
2145:
2142:
2139:
2136:
2133:
2130:
2127:
2124:
2121:
2118:
2115:
2112:
2109:
2106:
2103:
2100:
2097:
2094:
2091:
2088:
2085:
2082:
2079:
2076:
2073:
2070:
2067:
2064:
2061:
2058:
2055:
2052:
2049:
2046:
2043:
2040:
2037:
2034:
2031:
2028:
2025:
2022:
2019:
2016:
2013:
2010:
2007:
2004:
2001:
1998:
1995:
1992:
1989:
1986:
1954:
1950:
1943:
1940:
1937:
1934:
1931:
1928:
1925:
1922:
1919:
1916:
1913:
1910:
1907:
1904:
1901:
1898:
1895:
1892:
1889:
1886:
1883:
1880:
1877:
1874:
1871:
1868:
1865:
1862:
1859:
1856:
1853:
1850:
1847:
1844:
1841:
1838:
1835:
1832:
1829:
1826:
1823:
1820:
1817:
1814:
1803:
1799:
1795:
1772:
1769:
1766:
1763:
1760:
1757:
1754:
1751:
1748:
1745:
1742:
1739:
1736:
1733:
1730:
1727:
1724:
1721:
1718:
1715:
1712:
1709:
1706:
1703:
1700:
1697:
1694:
1691:
1688:
1685:
1682:
1679:
1676:
1673:
1670:
1667:
1664:
1661:
1658:
1655:
1652:
1649:
1646:
1643:
1640:
1637:
1634:
1631:
1628:
1625:
1622:
1619:
1616:
1613:
1610:
1607:
1604:
1601:
1598:
1595:
1592:
1589:
1586:
1583:
1580:
1577:
1574:
1571:
1568:
1550:
1542:
1531:
1527:
1512:virtual function
1509:
1502:SystemVerilog's
1482:
1460:a large design.
1419:
1416:
1413:
1410:
1407:
1404:
1401:
1398:
1395:
1392:
1391:cmdline_elements
1389:
1386:
1383:
1380:
1377:
1374:
1371:
1368:
1365:
1362:
1359:
1356:
1353:
1350:
1347:
1346:// dynamic array
1344:
1341:
1338:
1335:
1332:
1329:
1328:cmdline_elements
1326:
1304:
1301:
1298:
1295:
1292:
1289:
1286:
1283:
1280:
1277:
1274:
1271:
1268:
1265:
1262:
1259:
1256:
1253:
1250:
1247:
1244:
1241:
1238:
1235:
1232:
1229:
1226:
1223:
1220:
1217:
1214:
1211:
1208:
1205:
1202:
1199:
1196:
1193:
1190:
1187:
1176:
1152:
1149:
1146:
1143:
1140:
1137:
1134:
1131:
1128:
1125:
1122:
1119:
1116:
1113:
1110:
1107:
1104:
1101:
1098:
1095:
1092:
1089:
1086:
1083:
1080:
1077:
1074:
1071:
1068:
1065:
1062:
1059:
1056:
1053:
1050:
1047:
1044:
1041:
1038:
1035:
1032:
1029:
1026:
1023:
1020:
1017:
1014:
1011:
1008:
1005:
1002:
999:
996:
993:
990:
987:
984:
981:
978:
975:
972:
969:
966:
963:
960:
957:
954:
951:
948:
945:
942:
903:
893:
890:
887:
884:
881:
878:
875:
872:
869:
866:
863:
855:sequential logic
845:
838:
835:
832:
829:
826:
823:
820:
817:
814:
803:
796:
793:
790:
787:
784:
781:
778:
775:
772:
769:
766:
763:
760:
757:
754:
751:
748:
745:
742:
739:
736:
733:
722:
714:
706:
698:
690:
667:
664:
661:
658:
655:
652:
649:
646:
643:
640:
637:
634:
631:
628:
625:
622:
619:
616:
613:
610:
607:
596:
592:
588:
585:attribute. The
550:
546:
542:
538:
534:
530:
520:
516:
509:
506:
503:
500:
497:
494:
491:
488:
485:
482:
479:
476:
473:
470:
467:
464:
461:
458:
455:
452:
449:
446:
443:
440:
437:
434:
431:
428:
425:
422:
419:
416:
413:
402:
386:
378:
375:
372:
360:Multidimensional
349:tri-state buffer
339:
336:
333:
315:
311:
303:
99:
97:
92:
74:
72:
67:
46:Designed by
24:
5754:
5753:
5747:
5746:
5745:
5743:
5742:
5741:
5712:
5711:
5710:
5699:
5695:
5691:
5678:
5611:
5554:
5547:
5506:
5473:
5392:
5258:
5163:
5158:
5128:
5123:
5100:
5054:
5014:
4916:
4664:
4656:
4364:
4356:
4238:
4124:
3821:
3816:
3677:
3612:
3603:
3594:
3586:
3584:
3578:
3572:
3552:
3546:
3526:
3520:
3500:
3494:
3474:
3471:
3470:
3463:
3459:
3447:
3443:
3431:
3427:
3415:
3411:
3404:
3400:
3395:
3391:
3386:
3343:
3299:Mentor Graphics
3291:
3185:
3181:
3177:
3173:
3169:
3165:
3161:
3157:
3153:
3149:
3141:
3137:
3133:
3129:
3032:The procedural
3026:
3008:class instances
2976:synchronization
2968:
2966:Synchronization
2959:
2958:
2955:
2952:
2949:
2946:
2943:
2940:
2937:
2934:
2931:
2928:
2925:
2922:
2919:
2916:
2913:
2910:
2907:
2904:
2901:
2898:
2895:
2892:
2889:
2886:
2883:
2880:
2877:
2874:
2871:
2868:
2865:
2862:
2859:
2856:
2853:
2850:
2847:
2844:
2841:
2838:
2835:
2832:
2829:
2826:
2823:
2820:
2817:
2814:
2811:
2808:
2805:
2802:
2799:
2796:
2793:
2790:
2787:
2784:
2781:
2778:
2775:
2772:
2769:
2766:
2763:
2760:
2757:
2754:
2751:
2748:
2738:
2684:
2654:
2650:
2626:
2617:
2616:
2613:
2610:
2607:
2604:
2601:
2598:
2595:
2592:
2589:
2586:
2583:
2581:assert_req_gnt:
2580:
2577:
2574:
2571:
2568:
2565:
2562:
2559:
2556:
2553:
2550:
2547:
2544:
2537:
2533:
2529:
2519:
2515:
2512:
2511:
2508:
2505:
2502:
2499:
2496:
2493:
2490:
2487:
2484:
2481:
2478:
2475:
2472:
2465:
2460:augmented with
2433:
2428:
2427:
2424:
2421:
2418:
2415:
2412:
2409:
2406:
2403:
2400:
2397:
2394:
2391:
2388:
2385:
2382:
2379:
2376:
2374:constraint_mode
2373:
2370:
2367:
2364:
2361:
2358:
2355:
2352:
2349:
2346:
2343:
2340:
2337:
2334:
2331:
2328:
2325:
2322:
2319:
2316:
2313:
2310:
2307:
2304:
2301:
2298:
2295:
2292:
2289:
2286:
2283:
2280:
2277:
2274:
2271:
2268:
2265:
2262:
2259:
2256:
2253:
2250:
2247:
2244:
2242:corrupted_frame
2241:
2238:
2235:
2232:
2229:
2226:
2223:
2220:
2217:
2214:
2211:
2208:
2205:
2202:
2199:
2196:
2193:
2190:
2187:
2184:
2181:
2178:
2175:
2172:
2169:
2158:
2153:
2152:
2149:
2146:
2143:
2140:
2137:
2134:
2131:
2128:
2125:
2123:corrupted_frame
2122:
2119:
2116:
2113:
2110:
2107:
2104:
2101:
2098:
2095:
2092:
2089:
2086:
2083:
2080:
2077:
2074:
2071:
2068:
2065:
2062:
2059:
2057:corrupted_frame
2056:
2053:
2050:
2047:
2044:
2041:
2038:
2035:
2032:
2029:
2026:
2023:
2020:
2017:
2014:
2011:
2008:
2005:
2002:
1999:
1996:
1993:
1990:
1987:
1984:
1977:
1957:Ethernet frames
1952:
1948:
1945:
1944:
1941:
1938:
1935:
1932:
1929:
1926:
1923:
1920:
1917:
1914:
1911:
1908:
1905:
1902:
1899:
1896:
1893:
1890:
1887:
1884:
1881:
1878:
1875:
1872:
1869:
1866:
1863:
1860:
1857:
1854:
1851:
1848:
1845:
1842:
1839:
1836:
1833:
1830:
1827:
1824:
1821:
1818:
1815:
1812:
1801:
1797:
1793:
1779:
1774:
1773:
1770:
1767:
1764:
1761:
1758:
1755:
1752:
1749:
1746:
1743:
1740:
1737:
1734:
1731:
1728:
1725:
1722:
1719:
1716:
1713:
1710:
1707:
1704:
1701:
1698:
1695:
1692:
1689:
1686:
1683:
1680:
1677:
1674:
1671:
1668:
1665:
1662:
1659:
1656:
1653:
1650:
1647:
1644:
1641:
1638:
1635:
1632:
1629:
1626:
1623:
1620:
1617:
1614:
1611:
1608:
1605:
1602:
1599:
1596:
1593:
1590:
1587:
1584:
1581:
1578:
1575:
1572:
1569:
1566:
1548:
1540:
1529:
1525:
1507:
1480:
1466:
1421:
1420:
1417:
1414:
1411:
1408:
1405:
1402:
1399:
1396:
1393:
1390:
1387:
1384:
1381:
1378:
1375:
1372:
1369:
1366:
1363:
1360:
1357:
1354:
1351:
1348:
1345:
1342:
1339:
1336:
1333:
1330:
1327:
1324:
1306:
1305:
1302:
1299:
1296:
1293:
1290:
1287:
1284:
1281:
1279:" %s"
1278:
1275:
1272:
1269:
1266:
1263:
1260:
1257:
1254:
1251:
1248:
1245:
1242:
1239:
1236:
1233:
1230:
1227:
1225:".?!"
1224:
1221:
1218:
1215:
1212:
1209:
1206:
1203:
1200:
1197:
1194:
1191:
1188:
1185:
1181:. For example:
1174:
1171:
1159:
1154:
1153:
1150:
1147:
1144:
1141:
1138:
1135:
1132:
1129:
1126:
1123:
1120:
1117:
1114:
1111:
1108:
1105:
1102:
1099:
1096:
1093:
1090:
1087:
1084:
1081:
1078:
1075:
1072:
1069:
1066:
1063:
1060:
1057:
1054:
1051:
1048:
1045:
1042:
1039:
1036:
1033:
1030:
1027:
1024:
1021:
1018:
1015:
1012:
1009:
1006:
1003:
1000:
997:
994:
991:
988:
985:
982:
979:
976:
973:
970:
967:
964:
961:
958:
955:
952:
949:
946:
943:
940:
910:
901:
895:
894:
891:
888:
885:
882:
879:
876:
873:
870:
867:
864:
861:
843:
840:
839:
836:
833:
830:
827:
824:
821:
818:
815:
812:
806:level-sensitive
801:
798:
797:
794:
791:
788:
785:
782:
779:
776:
773:
770:
767:
764:
761:
758:
755:
752:
749:
746:
743:
740:
737:
734:
731:
720:
712:
704:
696:
688:
681:
669:
668:
665:
662:
659:
656:
653:
650:
647:
644:
641:
638:
635:
632:
629:
626:
623:
620:
617:
614:
611:
608:
605:
594:
590:
586:
548:
544:
540:
536:
532:
528:
518:
514:
511:
510:
507:
504:
501:
498:
495:
492:
489:
486:
483:
480:
477:
474:
471:
468:
465:
462:
459:
456:
453:
450:
447:
444:
441:
438:
435:
432:
429:
426:
423:
420:
417:
414:
411:
400:
384:
380:
379:
376:
373:
370:
341:
340:
337:
334:
331:
322:
313:
309:
301:
287:
248:
246:Design features
221:
183:used to model,
100:
95:
93:
90:
70:
68:
65:
38:Object-oriented
36:
17:
12:
11:
5:
5752:
5751:
5748:
5740:
5739:
5734:
5729:
5724:
5714:
5713:
5709:
5708:
5692:
5688:
5687:
5684:
5683:
5680:
5679:
5677:
5676:
5671:
5666:
5665:
5664:
5659:
5649:
5648:
5647:
5637:
5632:
5627:
5621:
5619:
5613:
5612:
5610:
5609:
5604:
5599:
5594:
5589:
5584:
5579:
5574:
5568:
5566:
5557:
5549:
5548:
5546:
5545:
5540:
5535:
5530:
5525:
5520:
5514:
5512:
5508:
5507:
5505:
5504:
5499:
5494:
5488:
5486:
5479:
5475:
5474:
5472:
5471:
5466:
5461:
5456:
5451:
5446:
5441:
5436:
5431:
5426:
5421:
5416:
5411:
5406:
5400:
5398:
5394:
5393:
5391:
5390:
5385:
5380:
5375:
5370:
5365:
5360:
5355:
5350:
5345:
5340:
5335:
5330:
5325:
5320:
5315:
5314:
5313:
5303:
5302:
5301:
5296:
5286:
5285:
5284:
5279:
5268:
5266:
5260:
5259:
5257:
5256:
5251:
5246:
5241:
5236:
5235:
5234:
5224:
5219:
5214:
5209:
5204:
5199:
5194:
5193:
5192:
5182:
5177:
5171:
5169:
5165:
5164:
5159:
5157:
5156:
5149:
5142:
5134:
5125:
5124:
5122:
5121:
5116:
5111:
5105:
5102:
5101:
5099:
5098:
5093:
5088:
5083:
5078:
5073:
5068:
5062:
5060:
5056:
5055:
5053:
5052:
5047:
5042:
5037:
5032:
5026:
5024:
5020:
5019:
5016:
5015:
5013:
5012:
5007:
5002:
4997:
4992:
4987:
4982:
4977:
4972:
4967:
4962:
4957:
4947:
4942:
4937:
4926:
4924:
4918:
4917:
4915:
4914:
4902:
4899:
4896:
4893:
4890:
4878:
4875:
4872:
4867:
4864:
4861:
4856:
4844:
4841:
4838:
4833:
4828:
4823:
4818:
4815:
4805:
4793:
4790:
4785:
4780:
4775:
4770:
4765:
4760:
4755:
4750:
4738:
4733:
4728:
4723:
4718:
4713:
4708:
4703:
4698:
4693:
4688:
4683:
4678:
4672:
4670:
4658:
4657:
4655:
4654:
4649:
4644:
4639:
4634:
4629:
4624:
4619:
4614:
4609:
4604:
4599:
4594:
4589:
4584:
4579:
4574:
4569:
4564:
4559:
4554:
4549:
4544:
4539:
4534:
4529:
4524:
4519:
4514:
4509:
4502:
4497:
4492:
4487:
4482:
4475:
4470:
4465:
4460:
4455:
4448:
4443:
4438:
4433:
4428:
4423:
4418:
4413:
4408:
4403:
4398:
4393:
4388:
4383:
4378:
4372:
4370:
4358:
4357:
4355:
4354:
4349:
4339:
4334:
4329:
4324:
4319:
4314:
4309:
4304:
4299:
4294:
4289:
4284:
4279:
4274:
4269:
4264:
4259:
4254:
4248:
4246:
4240:
4239:
4237:
4236:
4231:
4226:
4221:
4216:
4211:
4206:
4205:
4204:
4194:
4189:
4184:
4179:
4174:
4169:
4164:
4159:
4154:
4149:
4143:
4141:
4132:
4126:
4125:
4123:
4122:
4117:
4112:
4107:
4102:
4097:
4092:
4087:
4082:
4077:
4072:
4067:
4062:
4057:
4052:
4047:
4042:
4037:
4032:
4027:
4022:
4017:
4012:
4007:
4002:
3997:
3992:
3987:
3982:
3977:
3972:
3967:
3962:
3957:
3952:
3947:
3942:
3937:
3932:
3927:
3922:
3917:
3912:
3907:
3902:
3897:
3892:
3887:
3882:
3877:
3872:
3867:
3862:
3857:
3856:
3855:
3845:
3840:
3835:
3829:
3827:
3823:
3822:
3819:IEEE standards
3817:
3815:
3814:
3807:
3800:
3792:
3786:
3785:
3779:
3772:
3771:
3767:
3766:
3760:
3757:EDA Playground
3753:
3752:
3748:
3747:
3740:
3739:
3735:
3734:
3733:
3732:
3727:
3719:
3712:
3711:
3707:
3706:
3701:
3695:
3694:
3690:
3689:
3682:
3681:
3676:
3675:External links
3673:
3672:
3671:
3665:
3656:
3647:
3633:
3621:Spear, Chris,
3619:
3610:
3601:
3592:
3576:
3570:
3550:
3544:
3524:
3518:
3498:
3492:
3469:
3468:
3457:
3441:
3433:IEEE 1800-2017
3425:
3417:IEEE 1800-2012
3409:
3398:
3388:
3387:
3385:
3382:
3381:
3380:
3375:
3370:
3365:
3360:
3355:
3350:
3342:
3339:
3307:HDL simulators
3290:
3287:
3275:
3274:
3261:
3248:
3229:
3222:
3207:
3193:
3123:
3117:
3105:
3086:
3060:
3041:
3025:
3022:
2967:
2964:
2747:
2683:
2680:
2543:
2471:
2432:
2429:
2168:
2163:Ethernet frame
2157:
2154:
2096:post_randomize
1983:
1976:
1973:
1811:
1778:
1775:
1565:
1465:
1462:
1440:user-specified
1323:
1310:dynamic arrays
1249:", "
1184:
1170:
1169:New data types
1167:
1158:
1155:
939:
909:
906:
860:
852:edge-sensitive
811:
730:
680:
677:
604:
601:in C and C++:
410:
369:
330:
321:
320:New data types
318:
286:
283:
275:
274:
263:
247:
244:
220:
217:
164:
163:
140:
139:
135:
134:
128:
122:
121:
112:
106:
105:
102:
101:
88:
86:
84:Stable release
80:
79:
76:
75:
62:
58:
57:
48:
42:
41:
40:(verification)
30:
15:
13:
10:
9:
6:
4:
3:
2:
5750:
5749:
5738:
5735:
5733:
5730:
5728:
5725:
5723:
5720:
5719:
5717:
5706:
5702:
5697:
5694:
5675:
5672:
5670:
5667:
5663:
5660:
5658:
5655:
5654:
5653:
5650:
5646:
5643:
5642:
5641:
5638:
5636:
5633:
5631:
5630:LatticeMico32
5628:
5626:
5623:
5622:
5620:
5618:
5614:
5608:
5605:
5603:
5600:
5598:
5595:
5593:
5590:
5588:
5585:
5583:
5580:
5578:
5575:
5573:
5570:
5569:
5567:
5565:
5561:
5558:
5556:
5550:
5544:
5541:
5539:
5536:
5534:
5531:
5529:
5526:
5524:
5521:
5519:
5516:
5515:
5513:
5509:
5503:
5500:
5498:
5495:
5493:
5490:
5489:
5487:
5483:
5480:
5476:
5470:
5467:
5465:
5462:
5460:
5457:
5455:
5452:
5450:
5447:
5445:
5442:
5440:
5437:
5435:
5432:
5430:
5427:
5425:
5422:
5420:
5417:
5415:
5412:
5410:
5407:
5405:
5402:
5401:
5399:
5395:
5389:
5386:
5384:
5381:
5379:
5376:
5374:
5371:
5369:
5366:
5364:
5361:
5359:
5356:
5354:
5351:
5349:
5346:
5344:
5341:
5339:
5336:
5334:
5331:
5329:
5326:
5324:
5321:
5319:
5316:
5312:
5309:
5308:
5307:
5306:SystemVerilog
5304:
5300:
5297:
5295:
5292:
5291:
5290:
5287:
5283:
5280:
5278:
5275:
5274:
5273:
5270:
5269:
5267:
5265:
5261:
5255:
5252:
5250:
5247:
5245:
5242:
5240:
5237:
5233:
5230:
5229:
5228:
5225:
5223:
5220:
5218:
5215:
5213:
5210:
5208:
5205:
5203:
5200:
5198:
5195:
5191:
5188:
5187:
5186:
5183:
5181:
5178:
5176:
5173:
5172:
5170:
5166:
5162:
5155:
5150:
5148:
5143:
5141:
5136:
5135:
5132:
5120:
5117:
5115:
5112:
5110:
5107:
5106:
5103:
5097:
5094:
5092:
5089:
5087:
5084:
5082:
5079:
5077:
5074:
5072:
5069:
5067:
5064:
5063:
5061:
5057:
5051:
5048:
5046:
5043:
5041:
5038:
5036:
5033:
5031:
5028:
5027:
5025:
5021:
5011:
5008:
5006:
5003:
5001:
4998:
4996:
4993:
4991:
4988:
4986:
4983:
4981:
4978:
4976:
4973:
4971:
4968:
4966:
4963:
4961:
4958:
4955:
4951:
4948:
4946:
4943:
4941:
4938:
4935:
4931:
4928:
4927:
4925:
4923:
4919:
4912:
4908:
4907:
4903:
4900:
4897:
4894:
4891:
4888:
4884:
4883:
4879:
4876:
4873:
4871:
4868:
4865:
4862:
4860:
4857:
4854:
4850:
4849:
4845:
4842:
4839:
4837:
4834:
4832:
4829:
4827:
4824:
4822:
4819:
4816:
4813:
4809:
4806:
4803:
4799:
4798:
4794:
4791:
4789:
4786:
4784:
4781:
4779:
4776:
4774:
4771:
4769:
4766:
4764:
4761:
4759:
4756:
4754:
4751:
4748:
4744:
4743:
4739:
4737:
4734:
4732:
4729:
4727:
4724:
4722:
4719:
4717:
4714:
4712:
4709:
4707:
4704:
4702:
4699:
4697:
4694:
4692:
4689:
4687:
4684:
4682:
4679:
4677:
4674:
4673:
4671:
4668:
4663:
4659:
4653:
4650:
4648:
4645:
4643:
4640:
4638:
4635:
4633:
4630:
4628:
4625:
4623:
4620:
4618:
4615:
4613:
4610:
4608:
4605:
4603:
4600:
4598:
4595:
4593:
4590:
4588:
4585:
4583:
4580:
4578:
4575:
4573:
4570:
4568:
4565:
4563:
4560:
4558:
4555:
4553:
4550:
4548:
4545:
4543:
4540:
4538:
4535:
4533:
4530:
4528:
4525:
4523:
4520:
4518:
4515:
4513:
4510:
4508:
4507:
4503:
4501:
4498:
4496:
4493:
4491:
4488:
4486:
4483:
4481:
4480:
4476:
4474:
4471:
4469:
4466:
4464:
4461:
4459:
4456:
4454:
4453:
4449:
4447:
4444:
4442:
4439:
4437:
4434:
4432:
4429:
4427:
4424:
4422:
4419:
4417:
4414:
4412:
4409:
4407:
4404:
4402:
4399:
4397:
4394:
4392:
4389:
4387:
4384:
4382:
4379:
4377:
4374:
4373:
4371:
4368:
4363:
4359:
4353:
4350:
4347:
4343:
4340:
4338:
4335:
4333:
4330:
4328:
4325:
4323:
4320:
4318:
4315:
4313:
4310:
4308:
4305:
4303:
4300:
4298:
4295:
4293:
4290:
4288:
4285:
4283:
4280:
4278:
4275:
4273:
4270:
4268:
4265:
4263:
4260:
4258:
4255:
4253:
4250:
4249:
4247:
4245:
4241:
4235:
4232:
4230:
4227:
4225:
4222:
4220:
4217:
4215:
4212:
4210:
4207:
4203:
4202:WiMAX · d · e
4200:
4199:
4198:
4195:
4193:
4190:
4188:
4185:
4183:
4180:
4178:
4175:
4173:
4170:
4168:
4165:
4163:
4160:
4158:
4155:
4153:
4150:
4148:
4145:
4144:
4142:
4140:
4136:
4133:
4131:
4127:
4121:
4118:
4116:
4113:
4111:
4108:
4106:
4103:
4101:
4098:
4096:
4093:
4091:
4088:
4086:
4083:
4081:
4078:
4076:
4073:
4071:
4068:
4066:
4063:
4061:
4058:
4056:
4053:
4051:
4048:
4046:
4043:
4041:
4038:
4036:
4033:
4031:
4028:
4026:
4023:
4021:
4018:
4016:
4013:
4011:
4008:
4006:
4003:
4001:
3998:
3996:
3993:
3991:
3988:
3986:
3983:
3981:
3978:
3976:
3973:
3971:
3968:
3966:
3963:
3961:
3958:
3956:
3953:
3951:
3948:
3946:
3943:
3941:
3938:
3936:
3933:
3931:
3928:
3926:
3923:
3921:
3918:
3916:
3913:
3911:
3908:
3906:
3903:
3901:
3898:
3896:
3893:
3891:
3888:
3886:
3883:
3881:
3878:
3876:
3873:
3871:
3868:
3866:
3863:
3861:
3858:
3854:
3851:
3850:
3849:
3846:
3844:
3841:
3839:
3836:
3834:
3831:
3830:
3828:
3824:
3820:
3813:
3808:
3806:
3801:
3799:
3794:
3793:
3790:
3783:
3780:
3777:
3774:
3773:
3769:
3768:
3764:
3761:
3758:
3755:
3754:
3750:
3749:
3745:
3744:Verilog AUTOs
3742:
3741:
3737:
3736:
3731:
3728:
3726:
3723:
3722:
3720:
3717:
3714:
3713:
3709:
3708:
3705:
3702:
3700:
3697:
3696:
3692:
3691:
3687:
3684:
3683:
3679:
3678:
3674:
3669:
3666:
3664:
3660:
3657:
3655:
3651:
3648:
3646:
3645:0-387-33399-1
3642:
3638:
3634:
3632:
3631:0-387-76529-8
3628:
3624:
3620:
3616:
3611:
3607:
3602:
3598:
3593:
3582:
3577:
3573:
3567:
3563:
3559:
3555:
3551:
3547:
3541:
3537:
3533:
3529:
3525:
3521:
3515:
3511:
3507:
3503:
3499:
3495:
3489:
3485:
3481:
3477:
3473:
3472:
3466:
3461:
3458:
3454:
3450:
3445:
3442:
3438:
3434:
3429:
3426:
3422:
3418:
3413:
3410:
3407:
3402:
3399:
3393:
3390:
3383:
3379:
3376:
3374:
3371:
3369:
3366:
3364:
3361:
3359:
3356:
3354:
3351:
3348:
3345:
3344:
3340:
3338:
3336:
3332:
3328:
3324:
3320:
3315:
3312:
3308:
3304:
3300:
3296:
3288:
3286:
3284:
3280:
3272:
3270:
3265:
3262:
3259:
3255:
3254:
3249:
3246:
3242:
3238:
3234:
3230:
3227:
3223:
3220:
3216:
3212:
3208:
3205:
3201:
3198:
3194:
3191:
3174:x >>= a
3170:x <<= a
3147:
3127:
3124:
3121:
3118:
3115:
3114:
3109:
3106:
3103:
3101:
3100:
3094:
3092:
3087:
3084:
3082:
3078:
3073:
3069:
3065:
3061:
3058:
3054:
3050:
3046:
3042:
3039:
3035:
3031:
3030:
3029:
3023:
3021:
3019:
3015:
3014:
3010:representing
3009:
3005:
3001:
2997:
2993:
2992:
2987:
2986:
2981:
2977:
2973:
2965:
2963:
2745:
2744:For example:
2742:
2736:
2732:
2727:
2725:
2721:
2716:
2714:
2710:
2706:
2702:
2698:
2697:code coverage
2694:
2690:
2689:
2681:
2679:
2677:
2673:
2670:
2667:
2663:
2658:
2648:
2644:
2640:
2639:
2634:
2633:
2624:
2623:
2541:
2526:
2523:
2469:
2463:
2459:
2454:
2452:
2448:
2443:
2441:
2437:
2430:
2166:
2164:
2155:
2108:calculate_fcs
1981:
1974:
1972:
1970:
1966:
1962:
1958:
1809:
1807:
1790:
1788:
1784:
1776:
1563:
1560:
1558:
1554:
1546:
1537:
1535:
1523:
1519:
1518:Encapsulation
1515:
1513:
1505:
1500:
1498:
1494:
1490:
1489:C++ templates
1486:
1478:
1473:
1471:
1463:
1461:
1459:
1458:scoreboarding
1455:
1452:
1448:
1444:
1441:
1437:
1432:
1430:
1426:
1321:
1319:
1315:
1311:
1182:
1180:
1168:
1166:
1164:
1156:
937:
934:
932:
928:
924:
920:
915:
907:
905:
899:
858:
856:
853:
849:
846:block models
809:
807:
804:block models
728:
726:
723:block models
717:
710:
702:
694:
686:
678:
676:
674:
602:
600:
584:
580:
576:
572:
571:
566:
565:
560:
558:
554:
526:
522:
408:
406:
398:
397:
392:
390:
367:
365:
364:
363:packed arrays
361:
356:
354:
350:
346:
328:
326:
319:
317:
310:static int x;
307:
298:
296:
292:
285:Data lifetime
284:
282:
280:
272:
268:
264:
261:
257:
253:
252:
251:
245:
243:
240:
238:
234:
230:
226:
218:
216:
214:
210:
209:semiconductor
206:
205:IEEE standard
202:
198:
194:
190:
186:
182:
178:
174:
170:
169:SystemVerilog
162:
158:
154:
150:
146:
141:
138:Influenced by
136:
133:
129:
127:
123:
120:
116:
113:
111:
107:
103:
87:
85:
81:
77:
63:
59:
56:
52:
49:
47:
43:
39:
34:
31:
29:
25:
22:SystemVerilog
19:
5696:
5587:LatticeMico8
5577:ARM Cortex-M
5553:Intellectual
5305:
5108:
4904:
4880:
4846:
4795:
4740:
4504:
4477:
4450:
4024:
3751:Online Tools
3585:. Retrieved
3553:
3527:
3501:
3475:
3460:
3444:
3428:
3412:
3401:
3392:
3316:
3292:
3276:
3268:
3251:
3232:
3218:
3214:
3111:
3098:
3097:
3090:
3080:
3076:
3072:flow control
3027:
3013:transactions
3011:
2989:
2983:
2969:
2960:
2743:
2728:
2717:
2709:design space
2686:
2685:
2669:proving tool
2666:formal logic
2659:
2636:
2630:
2620:
2618:
2527:
2524:
2513:
2455:
2450:
2446:
2444:
2434:
2290:48'h1f00
2159:
1978:
1946:
1791:
1780:
1561:
1557:new operator
1549:function new
1543:keyword. A
1538:
1516:
1504:polymorphism
1501:
1474:
1467:
1433:
1422:
1307:
1172:
1163:test benches
1160:
1022:endinterface
935:
930:
913:
911:
896:
850:(especially
841:
813:always_latch
802:always_latch
799:
718:
705:always_latch
682:
670:
582:
578:
568:
562:
561:
524:
523:
512:
394:
393:
389:Verilog-2001
381:
358:
357:
342:
324:
323:
299:
288:
279:Verilog-2005
276:
260:Verilog-2005
249:
241:
222:
172:
168:
167:
18:
5617:Open-source
5564:Proprietary
5373:Flow to HDL
5190:Logic block
4681:legacy mode
3770:Other Tools
3353:Verilog-AMS
3226:source file
3166:x %= a
3148:operators (
3093:/while loop
2662:assumptions
2622:implication
2578:endproperty
2509:endsequence
2401:random_mode
2368:one_src_cst
2299:dist_to_fcs
2278:one_src_cst
2147:endfunction
2138:corrupt_fcs
1953:fcs_corrupt
1927:fcs_corrupt
1885:fcs_corrupt
1806:permutation
1768:endfunction
1720:endfunction
1639:endfunction
1603:endfunction
1547:denoted by
1545:constructor
1522:data hiding
1491:. However,
732:always_comb
721:always_comb
689:always_comb
5716:Categories
5592:MicroBlaze
5543:Simulators
5523:Xilinx ISE
5059:Superseded
4130:802 series
3716:IEEE P1800
3587:2007-01-31
3583:. EE Times
3384:References
3264:Parameters
3178:x &= a
3104:construct.
3083:statements
3045:data types
2980:primitives
2875:coverpoint
2815:coverpoint
2770:coverpoint
2761:covergroup
2711:have been
2705:edge cases
2676:simulation
2643:Evaluation
2638:consequent
2632:antecedent
2451:properties
2436:Assertions
2431:Assertions
2296:constraint
2275:constraint
2248:constraint
2063:constraint
1918:constraint
1891:constraint
1804:specifies
919:interfaces
908:Interfaces
701:flip-flops
691:(to model
564:Structures
213:electronic
96:2023-12-16
33:Structured
5662:Microwatt
5657:Libre-SOC
5652:Power ISA
5635:OpenCores
5597:PicoBlaze
5404:Accellera
5397:Companies
5264:Languages
4934:Bluetooth
3693:Tutorials
3378:SystemRDL
3368:Accellera
3260:no value.
3241:real time
3215:join_none
3211:fork/join
2991:semaphore
2752:eth_frame
2720:histogram
2625:operator
2447:sequences
2422:randomize
2353:eth_frame
2173:eth_frame
1988:eth_frame
1967:problem (
1816:eth_frame
1654:parameter
1562:Example:
1530:protected
1481:interface
1151:endmodule
1124:endmodule
1097:endmodule
941:interface
936:Example:
862:always_ff
844:always_ff
697:always_ff
663:64'b0
599:bitfields
314:automatic
312:". The "
295:automatic
225:Accellera
197:implement
173:IEEE 1800
5640:OpenRISC
5555:property
5533:ModelSim
5511:Software
5485:Hardware
5478:Products
5464:Synopsys
5434:Infineon
5409:Achronix
5368:C to HDL
5363:OpenVera
5328:Handel-C
5168:Concepts
5109:See also
5066:754-1985
5023:Proposed
4367:Ethernet
3853:Revision
3556:. 2017.
3530:. 2013.
3504:. 2009.
3478:. 2005.
3341:See also
3303:Synopsys
3245:by value
3219:join_any
3188:) as in
3077:continue
3064:for loop
3002:so that
2956:endclass
2953:endgroup
2735:sampling
2731:sampling
2713:explored
2688:Coverage
2682:Coverage
2587:property
2545:property
2473:sequence
2416:my_frame
2389:my_frame
2362:my_frame
2356:my_frame
2341:endclass
2150:endclass
2090:function
1942:endclass
1771:endclass
1726:function
1690:function
1642:endclass
1609:function
1582:function
1447:ordering
927:abstract
685:hardware
673:typedefs
533:shortint
499:my_color
469:my_color
345:RTL code
233:Synopsys
229:OpenVera
189:simulate
157:OpenVera
143:Design:
53:, later
51:Synopsys
35:(design)
28:Paradigm
5607:Nios II
5497:Stratix
5459:Siemens
5444:Lattice
5429:Cadence
5318:SystemC
5272:Verilog
5050:P1906.1
4911:Wi-Fi 8
4887:Wi-Fi 7
4853:Wi-Fi 6
4802:Wi-Fi 5
4747:Wi-Fi 4
3826:Current
3763:sverule
3373:SystemC
3327:linters
3323:netlist
3317:In the
3269:typedef
3258:returns
3197:`define
3095:to the
2985:mailbox
2935:sz_x_t:
2878:payload
2863:default
2806:default
2707:in the
2593:req_gnt
2557:posedge
2548:req_gnt
2536:follow
2485:posedge
2257:payload
2221:payload
2072:payload
2036:payload
1965:NP-hard
1921:good_fr
1900:payload
1864:payload
1723:virtual
1687:virtual
1669:extends
1606:virtual
1579:virtual
1567:virtual
1508:virtual
1472:model.
1464:Classes
1451:C++ STL
1438:with a
1429:runtime
1385:initial
1273:display
995:modport
968:modport
931:modport
868:posedge
774:no_root
709:latches
703:), and
606:typedef
541:longint
487:display
481:initial
466:color_t
460:color_t
448:MAGENTA
412:typedef
405:casting
385:my_pack
374:my_pack
306:keyword
219:History
201:Verilog
175:, is a
145:Verilog
94: (
69: (
5669:RISC-V
5528:Vivado
5502:Virtex
5388:Chisel
5348:PALASM
5232:Xputer
4954:Zigbee
4922:802.15
4662:802.11
3900:1149.1
3776:SVUnit
3643:
3629:
3613:HDVL.
3568:
3542:
3516:
3490:
3455:, 2023
3439:, 2017
3423:, 2012
3186:x |= a
3182:x ^= a
3162:x /= a
3158:x *= a
3154:x -= a
3150:x += a
3049:struct
2941:f_type
2872:psize:
2827:length
2818:f_type
2739:sample
2701:corner
2627:|=>
2584:assert
2569:|=>
2395:f_type
2266:inside
2209:f_type
2081:inside
2024:f_type
1909:inside
1852:f_type
1711:return
1672:Memory
1657:AWIDTH
1573:Memory
1534:public
1318:queues
1231:string
1216:string
1201:string
1186:string
1179:string
1175:string
1127:module
1100:module
1025:module
1013:output
986:output
902:always
713:always
612:packed
609:struct
595:struct
591:packed
587:tagged
583:tagged
579:packed
570:unions
519:name()
515:logic
454:YELLOW
335:my_var
302:static
291:static
185:design
115:Static
5439:Intel
5419:Aldec
5378:MyHDL
5299:VITAL
5045:P1823
5040:P1699
5035:P1619
5030:P1363
4812:WiGig
4676:-1997
4667:Wi-Fi
4376:-1983
4362:802.3
4244:802.1
4120:42010
4115:29148
4110:16326
4105:16085
4100:14764
4095:12207
4090:11073
3363:SpecC
3200:macro
3113:const
3099:while
3081:break
2972:event
2947:psize
2938:cross
2857:other
2842:typed
2800:ucast
2782:bcast
2749:class
2605:error
2251:basic
2170:class
2066:basic
1985:class
1894:basic
1813:class
1802:randc
1798:randc
1732:write
1645:class
1615:write
1570:class
1526:local
1454:deque
1388:begin
1004:input
977:input
959:logic
950:logic
883:count
880:<=
877:count
831:<=
735:begin
707:(for
699:(for
549:logic
475:GREEN
430:GREEN
418:logic
401:enums
371:logic
332:logic
130:.sv,
5705:IEEE
5645:1200
5602:Nios
5582:LEON
5383:ELLA
5358:CUPL
5353:ABEL
5333:Lola
5323:AHDL
5289:VHDL
5222:PSoC
5202:EPLD
5197:CPLD
5185:FPGA
5175:ASIC
5096:1471
5091:1364
5086:1362
5081:1233
5076:1219
4346:LACP
4085:2050
4080:2030
4075:1905
4070:1904
4065:1902
4060:1901
4055:1900
4050:1855
4045:1850
4040:1849
4035:1815
4030:1801
4025:1800
4020:1733
4015:1722
4010:1685
4005:1675
4000:1667
3995:1666
3990:1619
3985:1613
3980:1603
3975:1596
3970:1588
3965:1584
3960:1547
3955:1541
3950:1516
3945:1497
3940:1451
3935:1394
3930:1355
3925:1284
3920:1278
3915:1275
3910:1164
3905:1154
3895:1076
3890:1016
3885:1014
3880:1003
3782:sv2v
3641:ISBN
3627:ISBN
3566:ISBN
3540:ISBN
3514:ISBN
3488:ISBN
3453:IEEE
3437:IEEE
3421:IEEE
3333:and
3253:void
3217:and
3209:The
3102:loop
3079:and
3062:The
3057:real
3053:enum
2996:FIFO
2988:and
2926:1500
2893:size
2890:bins
2884:size
2854:bins
2839:bins
2824:bins
2797:bins
2779:bins
2773:dest
2703:and
2599:else
2449:and
2308:dist
2263:size
2236:rand
2218:byte
2215:rand
2203:rand
2191:rand
2185:dest
2179:rand
2132:this
2102:this
2093:void
2078:size
2051:rand
2033:byte
2030:rand
2018:rand
2006:rand
2000:dest
1994:rand
1906:size
1879:rand
1861:byte
1858:rand
1846:rand
1834:rand
1828:dest
1822:rand
1796:and
1794:rand
1762:data
1750:data
1741:addr
1729:void
1705:addr
1696:read
1648:SRAM
1633:data
1624:addr
1612:void
1597:addr
1588:read
1528:and
1520:and
1495:and
1316:and
1173:The
1136:intf
1109:intf
1034:intf
944:intf
914:port
786:<
657:zero
639:mant
630:sign
621:expo
567:and
555:and
539:and
529:byte
508:());
505:name
442:CYAN
436:BLUE
415:enum
351:for
293:and
271:Java
237:IEEE
211:and
195:and
193:test
179:and
161:Java
149:VHDL
132:.svh
119:weak
71:2002
64:2002
55:IEEE
5674:Zet
5625:JOP
5572:ARC
5538:VTR
5492:iCE
5454:NXP
5424:Arm
5414:AMD
5343:UPF
5338:PSL
5311:DPI
5294:AMS
5282:AMS
5217:GAL
5212:PAL
5207:PLA
5180:SoC
5071:830
4995:.4z
4990:.4g
4985:.4f
4980:.4e
4975:.4d
4970:.4c
4965:.4b
4960:.4a
4287:Qbb
4282:Qaz
4277:Qay
4272:Qat
4267:Qav
4234:.24
4229:.22
4224:.21
4219:.20
4214:.18
4209:.17
4197:.16
4192:.14
4187:.12
4182:.10
4139:802
3875:896
3870:829
3865:828
3860:854
3848:754
3843:730
3838:693
3833:488
3558:doi
3532:doi
3506:doi
3480:doi
3233:ref
3142:--x
3138:x--
3134:++x
3130:x++
2764:cov
2655:gnt
2651:req
2641:.
2572:gnt
2566:req
2560:clk
2538:req
2534:gnt
2530:req
2520:req
2516:gnt
2503:gnt
2494:req
2488:clk
2425:();
2305:fcs
2284:src
2269:{};
2239:bit
2230:fcs
2227:bit
2206:bit
2197:src
2194:bit
2182:bit
2165::
2141:();
2111:();
2084:{};
2054:bit
2045:fcs
2042:bit
2021:bit
2012:src
2009:bit
1997:bit
1971:).
1949:fcs
1912:{};
1882:bit
1873:fcs
1870:bit
1849:bit
1840:src
1837:bit
1825:bit
1756:mem
1747:bit
1738:bit
1714:mem
1702:bit
1693:bit
1681:mem
1678:bit
1630:bit
1621:bit
1594:bit
1585:bit
1541:new
1427:at
1418:end
1409:new
1373:int
1361:int
1349:int
1337:int
1325:int
1294:(),
1291:len
1142:out
1130:u_b
1103:u_a
1094:));
1091:out
1070:u_b
1067:));
1043:u_a
1040:();
1028:top
998:out
871:clk
857:):
842:An
800:An
795:end
783:tmp
738:tmp
719:An
695:),
636:bit
627:bit
618:bit
545:bit
537:int
424:RED
153:C++
5718::
5703:,
5010:.7
5005:.6
5000:.5
4950:.4
4945:.3
4940:.2
4930:.1
4906:bn
4901:bk
4898:bi
4895:bh
4892:bf
4882:be
4877:bd
4874:bc
4870:bb
4866:ba
4863:az
4859:ay
4848:ax
4843:aq
4840:ak
4836:aj
4831:ai
4826:ah
4821:af
4817:ae
4808:ad
4797:ac
4792:aa
4652:df
4647:de
4642:dd
4637:db
4632:da
4627:cz
4622:cy
4617:cx
4612:cw
4607:cv
4602:cu
4597:ct
4592:cs
4587:cr
4582:cq
4577:cp
4572:cn
4567:cm
4562:ck
4557:ch
4552:cg
4547:ce
4542:cd
4537:cc
4532:cb
4527:ca
4522:bz
4517:by
4512:bu
4506:bt
4500:ba
4495:az
4490:av
4485:au
4479:at
4473:aq
4468:an
4463:ak
4458:ah
4452:af
4446:ae
4441:ad
4436:ac
4431:ab
4352:BA
4342:AX
4337:AS
4332:aq
4327:ak
4322:ah
4317:ag
4312:AE
4307:ad
4302:AB
4177:.9
4172:.8
4167:.7
4162:.6
4157:.5
4152:.4
4147:.2
3564:.
3538:.
3512:.
3486:.
3451:,
3435:,
3419:,
3329:,
3301:,
3297:,
3184:,
3180:,
3176:,
3172:,
3168:,
3164:,
3160:,
3156:,
3152:,
3140:,
3136:,
3132:,
3091:do
3055:,
3051:,
3047::
3020:.
2929:};
2911:64
2902:46
2851:};
2836:};
2794:};
2729:A
2715:.
2614:);
2602:$
2554:@(
2497:##
2482:@(
2476:S1
2466:##
2410:);
2383:);
2332:};
2329:50
2326::/
2320:30
2317::/
2287:==
2117:if
2099:()
1930:==
1789:.
1753:);
1708:);
1663:10
1651:#(
1636:);
1600:);
1559:.
1536:.
1403:da
1397:16
1376:qa
1364:as
1352:ai
1340:da
1320::
1312:,
1300:);
1297:s3
1285:s3
1270:$
1264:};
1255:s2
1243:s1
1234:s3
1204:s2
1189:s1
1165:.
1148:);
1145:i2
1121:);
1118:i1
1115:in
1079:i2
1076:(.
1073:m2
1064:in
1052:i1
1049:(.
1046:m1
1019:);
992:);
971:in
865:@(
822:en
816:if
792:);
687::
654:FP
648:FP
535:,
531:,
484:$
304:"
281:.
191:,
187:,
159:,
151:,
147:,
117:,
5277:A
5153:e
5146:t
5139:v
4956:)
4952:(
4936:)
4932:(
4913:)
4909:(
4889:)
4885:(
4855:)
4851:(
4814:)
4810:(
4804:)
4800:(
4788:z
4783:y
4778:w
4773:v
4768:u
4763:s
4758:r
4753:p
4749:)
4745:(
4742:n
4736:k
4731:j
4726:i
4721:h
4716:g
4711:f
4706:e
4701:d
4696:c
4691:b
4686:a
4669:)
4665:(
4426:z
4421:y
4416:x
4411:u
4406:j
4401:i
4396:e
4391:d
4386:b
4381:a
4369:)
4365:(
4348:)
4344:(
4297:X
4292:w
4262:Q
4257:p
4252:D
3811:e
3804:t
3797:v
3617:.
3608:.
3599:.
3590:.
3574:.
3560::
3548:.
3534::
3522:.
3508::
3496:.
3482::
3273:.
3271:s
3221:.
3206:.
3192:.
3128:(
3116:.
3085:.
3040:.
2950:;
2944:,
2932:}
2923:,
2920:,
2917:,
2914:,
2908:,
2905:,
2899:{
2896:=
2887:{
2881:.
2869:}
2866:;
2860:=
2848:{
2845:=
2833:{
2830:=
2821:{
2812:}
2809:;
2803:=
2788:{
2785:=
2776:{
2767:;
2755:;
2608:(
2596:)
2590:(
2575:;
2563:)
2551:;
2506:;
2500:1
2491:)
2479:;
2419:.
2407:0
2404:(
2398:.
2392:.
2380:0
2377:(
2371:.
2365:.
2359:;
2350:.
2347:.
2344:.
2338:}
2323:,
2314:0
2311:{
2302:{
2293:}
2281:{
2272:}
2260:.
2254:{
2245:;
2233:;
2224:;
2212:;
2200:;
2188:;
2176:;
2135:.
2126:)
2120:(
2105:.
2087:}
2075:.
2069:{
2060:;
2048:;
2039:;
2027:;
2015:;
2003:;
1991:;
1939:}
1936:;
1933:0
1924:{
1915:}
1903:.
1897:{
1888:;
1876:;
1867:;
1855:;
1843:;
1831:;
1819:;
1765:;
1759:=
1744:,
1735:(
1717:;
1699:(
1684:;
1675:;
1666:)
1660:=
1627:,
1618:(
1591:(
1576:;
1412:;
1406:=
1400:;
1394:=
1379:;
1367:;
1355:;
1343:;
1331:;
1288:.
1282:,
1276:(
1261:p
1258:,
1252:,
1246:,
1240:{
1237:=
1228:;
1222:=
1219:p
1213:;
1207:=
1198:;
1192:=
1139:.
1133:(
1112:.
1106:(
1088:.
1085:i
1082:(
1061:.
1058:i
1055:(
1037:i
1031:;
1016:a
1010:,
1007:b
1001:(
989:b
983:,
980:a
974:(
965:;
962:b
956:;
953:a
947:;
892:;
889:1
886:+
874:)
837:;
834:d
828:q
825:)
819:(
789:0
780:(
777:=
771:;
768:c
765:*
762:a
759:*
756:4
753:-
750:b
747:*
744:b
741:=
666:;
660:=
651:;
645:}
642:;
633:;
624:;
615:{
557:Z
553:X
502:.
496:,
490:(
478:;
472:=
463:;
457:}
451:,
445:,
439:,
433:,
427:,
421:{
399:(
377:;
338:;
98:)
73:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.