Releases: frwang96/verik
Releases · frwang96/verik
v0.1.16
Importer
- Document importer classes.
Compiler
- Document compiler classes.
Plugin
- Rewrite plugin extension domain object classes.
- Move compiler to
verikCompile
task. - Add
verik
task that generates build scripts for downstream tools. - Move compiler and importer build directories to
build/compile
andbuild/import
. - Add the Metrics dsim generation target.
- Add the Xilinx vivado generation target.
- Add the Icarus Verilog generation target.
- Add the Cadence xrun generation target.
v0.1.15
Compiler
- Support
Double
data type. - Support
monitor
andstrobe
functions. - Support
CoverGroup
,CoverPoint
, andCoverCross
. - Support cover bins for
CoverPoint
andCoverCross
. - Support
fill0
,fill1
,fillx
, andfillz
. - Support
rangeTo
operator. - Support string concatenation.
- Support associative array
set
andget
. - Support
MailBox
class. - Support break statements.
- Unroll loops indexing into generate for blocks.
- Support union types.
- Modify interface for functions
optional
andcluster
. - Replace generate for blocks with elaborated clusters.
- Move cluster elaboration to evaluate stage.
- Support
Wire
ports for bidirectional signals. - Simplify cover bin representation.
v0.1.14
Importer
- Fix function override bugs.
- Merge expressions with descriptors.
- Add classes
Queue
,AssociativeArray
, andDynamicArray
to mirror SystemVerilog. - Static functions as functions of companion objects.
- Fast parsing by hiding function and task bodies.
Compiler
- Rename
onr
tooni
. - Support secondary constructors.
- Replace
ENullExpression
withENothingExpression
. - Support optional value parameters.
- Unwrap companion objects.
- Separately specialize nested classes.
- Support type parameterized imported classes.
- Remove support for constructor overloading.
- Replace
SimTop
andSynthTop
withEntryPoint
. - Support initializer blocks.
- Adopt
@Inject
annotation for injected properties. - Abstract classes compile to regular classes and not virtual classes.
- All classes should inherit from
Class
to get randomization functions. - Support for randomize annotation
@Rand
. - Support
toString
function. - Support for safe access operator.
- Support for enums with values.
- Rename
config.yaml
toreport.yaml
.
v0.1.13
Importer
- Preprocess include compiler directive.
- Preprocess file and line compiler directive.
- More rules for lexer and parser.
- Separate SystemVerilog and Kotlin AST.
- Descriptor AST element to track types.
- Document with original signature.
- Import tasks and functions.
- Import enum and struct typedefs.
- Import extern tasks and functions.
- Eliminate local type aliases.
- Support type parameters.
Compiler
- Replace slice function with array indexing notation.
- Consolidate expression evaluation in stages specialize and evaluate.
- Extended immutability checking for array access expressions.
- Fix Kotlin compiler error message bug on Windows.
- Allow immutable input ports.
v0.1.12
Compiler
- Support conditional compiler directives in importer.
- Support macro definitions in importer.
- Support decimal literals in
u
ands
functions. - Support tasks with return values.
fork
andjoin
functions.- Support x and z bit constants.
- Support type alias with type parameters.
- Evaluate logical operators and if expressions.
- Added end-to-end regression tests.
- Four state boolean values
unknown
andfloating
. - Copy KDoc comments into generated SystemVerilog.
- Adopt
StageType
based stage sequence in importer. - Turn off
enableLineDirective
by default. - Rename
Logical
toOptional
. - Rewrite constant expression handling.
- Merge
Optional
withCardinal
. - Separate
MID_TRANSFORM
intoUPPER_TRANSFORM
andLOWER_TRANSFORM
. - Rewrite specialize and resolve stages to move type resolution after specialization.
- New scheme for extracting expressions with
BlockExpressionReducerStage
. - Merge
KtCallExpression
andSvCallExpression
. - Merge
KtBlockExpression
andSvBlockExpression
. - Merge
KtProperty
andSvProperty
. - Shorten function names on
Ubit
such assli
,rev
, andinv
.
v0.1.11
Compiler
Verik
annotation to enable inspections by IntelliJ plugin.- File annotation checker issues warnings if
Verik
annotation is missing. - Consolidate interpreter checks to midCheck.
- Configuration validity checks.
- Specify entry points in
VerikPluginExtension
.
v0.1.10
Plugin
- Upgrade junit to 5.8.2.
- Upgrade kotlin to 1.5.31.
- Upgrade jdk to 17.0.1.
Compiler
- Multiline injected statements and injected properties.
- Log error and warning messages.
- Use SystemVerilog
`line
directive. - Track declaration end locations.
- Reorder packages, files, and declarations based on dependencies.
v0.1.9
Plugin
- Upgrade dokka to 1.5.30.
Compiler
- Support inline combinational assignments.
- Track mutability of properties and primary constructor value parameters.
- Check port instantiations.
- Support as and is expressions.
- Introduce core declarations test framework.
- Support use of root package.
- Separate class interpreters.
- Reorganize core declarations.
- Move example projects to separate repository.
Importer
- Introduce ANTLR based importer.
- Support SystemVerilog lexing and parsing.
v0.1.8
Compiler
- Support virtual classes.
- Separate target declarations from core declarations.
- Introduce composite target declarations.
- Insert scope expressions.
- Support for
ArrayList
. - Introduce synthesis and simulation top.
- Fix type equals type constraint bug.
- Organize outputs into
OutputContext
. - Signature based core declaration map.
v0.1.7
Compiler
- Support for width casting.
- Support for signed extension.
- Check widths during extension and truncation.
- Desugar class primary constructors.
- Support for initializer chaining.