rohd 0.6.6
rohd: ^0.6.6 copied to clipboard
The Rapid Open Hardware Development (ROHD) framework, a framework for describing and verifying hardware.
0.6.6 #
- Added
cloneing forInterfaces andLogics and APIs that leverage the new capabilities (https://github.com/intel/rohd/pull/614).- Added a new expectation for
Interfaces andLogics (and derivative classes) to implement aclonefunction, to enable better APIs and reuse in various scenarios. - Deprecated
PairInterface.cloneconstructor in favor of newclonemethod onPairInterfaceinstances. - Added new
addTyped*functions onModulewhich will create acloneof original source for ports. This also supportsLogicStructures as ports. - Added new
addInterfacePortsandaddPairInterfacePortsfunctions onModulewhich wrapconnectIOandpairConnectIO, respectively, to make adding interfaces onModules easier and more consistent with creation of other ports.
- Added a new expectation for
- Updated naming of generated SystemVerilog signals (without
reservednames) that were part ofLogicStructures to include the name of the parent structure as a prefix. - Added
packedto baseLogic, which just returns itself, so that it can safely be called on anyLogicwithout first checking the type. - Fixed a bug related to module selection in the ROHD DevTools Extension (https://github.com/intel/rohd/pull/612).
0.6.5 #
- Fixed a bug where zero-value
LogicValues could result intoRadixString()returning output an emptyStringinstead of "0" (https://github.com/intel/rohd/pull/606).
0.6.4 #
- Added
setupActionstoFiniteStateMachineso that "common" or "default" actions can be grouped in one place instead of repeated in eachState(https://github.com/intel/rohd/pull/593). - Fixed a bug where
LogicStructure.previousValuewould actually return the currentvalueinstead of the previous one (https://github.com/intel/rohd/pull/565). - Fixed a bug in
Pipelinewhere cross-stage references could be incorrectly resolved (https://github.com/intel/rohd/pull/588). - Added
SynthBuilder.multito generate outputs (e.g. SystemVerilog) for multiple top-level modules simultaneously, with shared uniquification across them. DeprecatedgetFileContentsin favor ofgetSynthFileContentswhich providesSynthFileContentsobjects with more context than just theStringcontents. Also, improved modularity and organization of the "synth" infrastructure to make extension to additional generated outputs easier (https://github.com/intel/rohd/pull/598). - Fixed a bug where simulation memory usage could grow unboundedly when
Combinationals are used (https://github.com/intel/rohd/pull/602). - Enhanced
LogicValue.toRadixStringwith more options to make usage easier and more flexible (https://github.com/intel/rohd/pull/583). - Deprecated
Portin favor ofLogic.port, making the APIs more consistent (https://github.com/intel/rohd/pull/575).
0.6.3 #
- Fixed a bug where
withSetonLogicStructures could sometimes attempt to access the wrong range, causing unexpected exceptions (https://github.com/intel/rohd/pull/561). - Fixed a bug where
flopandFlipFlopwould generate SystemVerilog with an asynchronous reset even ifasyncResetwas set tofalse(https://github.com/intel/rohd/pull/564).
0.6.2 #
- Changed addition syntax for generated SystemVerilog to be prettier, while remaining lint-clean (https://github.com/intel/rohd/issues/444).
- Fixed a problem where end-of-simulation actions were not executed if an exception occurred during simulation (https://github.com/intel/rohd/pull/558).
- Fixed a bug where end-of-simulation actions were not cleared by
Simulator.reset(https://github.com/intel/rohd/issues/556).
0.6.1 #
- Added
Logic.namedand broadened API forcloneto make duplicating and naming signals more convenient and succinct (https://github.com/intel/rohd/pull/550). - Updated
LogicValue.toRadixStringto gracefully handle invalid values (xandz) for radix-10 strings, rather than throwing an exception (https://github.com/intel/rohd/pull/543). - Greatly improved error messaging when
Module.buildfails due to aPortRulesViolationException(https://github.com/intel/rohd/pull/541). - Fixed a bug where
Module.buildcould sometimes fail to properly trace hierarchy throughLogicStructures, cause false build failures (https://github.com/intel/rohd/pull/541). - Fixed a bug where
Combinational.ssacould sometimes fail to properly identify driver logic whenLogicStructures were used (https://github.com/intel/rohd/pull/540).
0.6.0 #
- Added
LogicNet,inOuts, andTriStateBufferto enable multi-directional wires, ports, and drivers. Includes support for "wire-only" operations supporting multiple drivers. - Deprecated
CustomSystemVerilogin favor ofSystemVerilog, which has similar functionality but supportsinOutports, and collapses all ports into a singleportsargument, as well as some other new features like custom definitions and parameter passthroughs. - Breaking:
ExternalSystemVerilogModuleandInlineSystemVerilognow extendSystemVeriloginstead ofCustomSystemVerilog, meaning theinstantiationVerilogAPI arguments have been modified. - Breaking: Increased minimum Dart SDK version to 3.0.0.
- Breaking:
Interface.connectIOhas an additional optional named argument forinOutTags. Implementations ofInterfacewhich overrideconnectIOwill need to be updated. - Fixed a bug where
expressionlessInputsmay not have been honored in non-inline custom SystemVerilog modules. - Fixed a bug where in some cases an
xorbetween twoLogicValues could cause an exception due to a false width mismatch. - Added better checking, error handling, and message when module hierarchy cannot be properly resolved (e.g. self-containing modules, modules within multiple hierarchies).
- Breaking: Updated APIs for
Synthesizer.synthesizeand down the stack to use aFunctionto calculate the instance type of a module instead of aMaplook-up table. - Added
srcConnectionsAPI toLogicto make it easier to trace drivers of subtypes ofLogicwhich contain multiple drivers. - Improved SystemVerilog generation to be more succinct for array to array assignments.
- Breaking:
Constconstructor updated so that specifiedwidthtakes precedence over the inherent width of a providedLogicValueval. - Added flags to support an
asyncResetoption in places where sequential reset automation was already present. - Breaking:
Sequentialhas new added strictness checking when triggers and non-triggers change simultaneously (in the sameSimulatortick) when it may be unpredictable how the hardware would synthesize or sample the inputs. In these scenarios,Sequentialwill interpret affected inputs asX, thus drivingXs on affected outputs instead of just picking an order. Descriptions that properly imply asynchronous resets are predictable and therefore unaffected. - Breaking: injected actions in the
Simulatornow occur in themainTickphase. This API will generally continue to work as expected and as it always has, but in some scenarios could slightly change the behavior of existing testbenches. - Added a new API
Simulator.injectEndOfTickActionwhich behaves similarly toSimulator.injectAction, except it registers the event to occur at the end of the tick rather than in the main phase. This is useful for some specific simulation situations like cosimulation, but not generally expected to be used for "normal" testbench development. - Breaking:
Simulator.runnow yields execution of the Dart event loop prior to beginning the simulation. This makes actions taken before starting the simulation more predictable, but may slightly change behavior in existing testbenches that relied on a potential delay. - Improved error and exception messages.
- Various performance enhancements.
- Fixed a bug where asynchronous events could sometimes show up late in generated waveforms from
WaveDumper. - Added support for negative edge triggers to
Sequential.multifor cases where synthesis may interpret an invertedposedgeas different from anegedge. - Fixed a bug where
resetValueswould not take effect inPipelines. - Fixed a bug where a multi-triggered
Sequentialmay not generate X's if one trigger is valid and another trigger is invalid. - Fixed bugs related to array signal discovery during the build process that, while they do not affect functionality or generated SystemVerilog, could provide incomplete information related to the contents of Modules from an API perspective.
- Fixed bugs where generated SystemVerilog could have parameter declaration or assignment sections that were empty, which is illegal SystemVerilog and would cause build errors (https://github.com/intel/rohd/pull/498).
- Fixed a bug where sometimes
getRangeonLogicStructures andLogicArrays could access the wrong set of signals (https://github.com/intel/rohd/pull/499). - Add the
assignSubsetAPI toLogicandLogicStructurewhich behave similarly to the already-present API inLogicArray(https://github.com/intel/rohd/pull/502). - Added convenience APIs for accessing the original sources external to a
Moduleforinputs andinOuts (https://github.com/intel/rohd/pull/503). - Added functionality to
LogicValueto enable conversion to and from various different radix strings. - Fixed bugs related to the handling of errors which cause the
Simulatorto halt (https://github.com/intel/rohd/pull/515).
0.5.3 #
- Added beta version of the ROHD DevTools Extension to aid in ROHD hardware debug by displaying module hierarchy and signal information visually and interactively (https://github.com/intel/rohd/pull/435).
- Added absolute value (
abs()) to bothLogicandLogicValue(https://github.com/intel/rohd/pull/442). - Added
assignSubsetfor performing an assignment on a subset of aLogicArray(https://github.com/intel/rohd/pull/456). - Made conditional assignments more optimistic with partially invalid values (https://github.com/intel/rohd/pull/459).
- Upgraded the simulator to support cancelling actions and registering actions at the current time (https://github.com/intel/rohd/pull/468).
- Fixed a bug where SystemVerilog generation could mishandle naming collisions between
Logics andLogicArrays (https://github.com/intel/rohd/pull/473). - Added new checks to help catch SystemVerilog generation issues in cases where built-in functionality is overridden.
0.5.2 #
- Added APIs for accessing indices of a
List<Logic>using anotherLogic:Logic.selectFromandList<Logic>.selectIndex(https://github.com/intel/rohd/pull/438). - Added/fixed support for compiling ROHD to JavaScript via bug fixes, compile-time arithmetic precision consideration, and testing (https://github.com/intel/rohd/pull/445).
- Added
isZerotoLogicValue. - Improved
Pipelineabstraction via bug fixes, better error checking, improved documentation, and new APIs (https://github.com/intel/rohd/pull/447). - Improved performance of construction of
Combinational.ssa(https://github.com/intel/rohd/pull/443). - Updated
Simulator.endSimulationAPI to return aFuturewhich completes once the simulation has ended (https://github.com/intel/rohd/pull/455). - Fixed bugs where certain non-synthesizable function calls on
LogicStructures (e.g. for verification) could add additional hardware (which did not affect functionality) and also cause unexpected behavior onpreviousValue(https://github.com/intel/rohd/issues/457). - Fixed bugs where certain APIs on
Logic(e.g.changed,previousValue) could have incorrect behavior after aSimulator.reset(https://github.com/intel/rohd/pull/458). - Fixed a bug where
LogicValue.clog2was inaccurate in rare scenarios. - Fixed a bug that caused a crash when comparing certain
LogicValues. - Fixed a bug where conversions between
BigInts andLogicValues could result in incorrect arithmetic operations. - Fixed a bug where
FiniteStateMachine-generated mermaid diagrams were missing "default next state" cases (https://github.com/intel/rohd/pull/454). - Allowed generated SystemVerilog to contain assignments to
z(floating) if explicitly connected to a constantz(https://github.com/intel/rohd/pull/441).
0.5.1 #
- Fixed bugs and improved controllability around naming of internal signals and collapsing of inlineable functionality, leading to significantly more readable generated SystemVerilog (https://github.com/intel/rohd/pull/439).
- Fixed a bug where identical module definitions with different reserved definition names would merge incorrectly in generated outputs(https://github.com/intel/rohd/issues/345).
- Improved organization of port and internal signal declarations in generated outputs.
- Fixed bugs where generated SystemVerilog could flag lint issues due to unsafe truncation of signals in cases like
+and<<(https://github.com/intel/rohd/pull/423).
0.5.0 #
- Added
LogicArrayfor N-dimensional packed and unpacked (and mixed) arrays. AddedLogicStructurefor grouping sets of related signals together in a convenient way (https://github.com/intel/rohd/pull/375). - Added a
ConditionalGroupwhich can group a collection of otherConditionals into oneConditionalobject. - Breaking: some APIs which previously returned
ConditionalAssignnow return aConditional, such as the<operator forLogic. - Updated
LogicValue.ofwhich now accepts adynamicinput and tries its best to build what you're looking for. AddedLogicValue.ofIterableto replace the oldLogicValue.of. - Added
previousValuetoLogicto make testbench and modelling easier for things like clock edge sampling. - Breaking: Modified the way
Combinationalsensitivities are implemented to improve performance and prevent some types of simulation/synthesis mismatch bugs. AddedCombinational.ssaas a method to safely build procedural logic.Combinationalwill now throw fatal exceptions in cases of "write after read" violations. (https://github.com/intel/rohd/pull/344) - Deprecated
getReceivers,getDrivers, andgetConditionalsin always blocks likeCombinationalandSequentialin favor of simpler and more efficient APIsreceivers,drivers, andconditionals. - Breaking: shorthand notation APIs for
incr,decr,mulAssign, anddivAssignhave been modified. - Replaced
IfBlockwithIf.block(deprecatedIfBlock). - Replaced
StateMachinewithFiniteStateMachine(deprecatedStateMachine). - Added support for multi-trigger (e.g. async reset) to abstractions like
FiniteStateMachineandPipeline. DeprecatedclkonFiniteStateMachineandPipeline. - Added ability to generate an FSM diagram in mermaid from a
FiniteStateMachine. - Added
PairInterfaceto make it easier to build and use simpleInterfaces. - Breaking:
connectIOinInterfacenow acceptsIterables instead of onlySets. - Improved numerous
Exceptions throughout to provide more specific information about errors and make them easier to catch and handle. - Upgraded some operations to avoid generating unnecessary hardware and SystemVerilog when configured to leave a signal unchanged (e.g.
getRange,swizzle,slice, etc.). - Added extension to generate randomized
LogicValues from aRandom. - Added replication operations to
LogicValueandLogic. - Added
equalsWithDontCaretoLogicValuefor comparisons where invalid bits are "don't-care". - Improved timestamps in generated outputs to make timezones apparent.
- Added the
flopfunction to constructFlipFlops in an easier way. - Added the
casesfunction to construct simpleCasestatements in an easier way. - Added APIs for configuring reset and reset values in
Sequentialand flip flops. - Added APIs for adding an enable to flip flops.
- Implemented a variety of performance enhancements for both build and simulation.
- Added
tryInputandtryOutputtoModuleandtryPorttoInterfaceto more easily handle conditionally present ports by leveraging Dart'snullsafety by returningnullif the port does not exist (instead of an exception). - Added
gtandgtetoLogicto make APIs more consistent. - Added
clog2toLogicValue. - Added
neqandpowto bothLogicandLogicValue. - Made
LogicValueimplementComparable, enabling things like sorting. - Enabled
WaveDumperto recursively create necessary directories for specified output paths. - Fixed a bug where ports could be created with an empty string as the name (https://github.com/intel/rohd/issues/281).
- Fixed a bug where generated SystemVerilog for arithmetic shift-right operations would sometimes be incorrect (https://github.com/intel/rohd/issues/295).
- Fixed a bug where
SynthBuilderwould not flag an error when run on aModulethat hadn't yet been built (https://github.com/intel/rohd/issues/246). - Disallowed signals from being connected directly to themselves in a combinational loop.
- Fixed a bug where non-synthesizable deposits on undriven signals could affect the generated output SystemVerilog by inserting a non-floating constant (https://github.com/intel/rohd/issues/254).
- Reinstated an accidentally removed exception for when signal width mismatch occurs (https://github.com/intel/rohd/issues/311).
- Fixed a bug where indexing a constant value could generate invalid SystemVerilog.
- Fixed a bug where constants and values that could be interpreted as negative 64-bit values would sometimes generate a
-sign in output SystemVerilog. - Fixed bugs so
Ifs that are illegally constructed throw anException(https://github.com/intel/rohd/issues/382). - Fixed a bug where
FiniteStateMachinecould create an inferred latch (https://github.com/intel/rohd/pull/390). - Fixed an issue where
Casestatements with multiple matches would throw anExceptioninstead of drivingxon the output, which could cause spurious crashes during glitch simulation (https://github.com/intel/rohd/issues/107). - Fixed a number of bugs related to logical, shift, math, and comparison operations related to width and sign interpretation.
- Fixed a bug where
CaseandCaseZwould not use the properly edge-sampled value inSequentialblocks (https://github.com/intel/rohd/issues/348). - Fixed bugs where logic that is driven by floating signals would sometimes drive
zinstead ofxon outputs (https://github.com/intel/rohd/issues/235).
0.4.2 #
- Added a GitHub Codespace to the repository as a quick way to experiment with ROHD without any environment setup.
- Added
Conditionaloperations similar to++x(incr),--x(decr),x *=(mulAssign), andx /=(divAssign) toLogic(https://github.com/intel/rohd/issues/141). - Fixed a bug where generated SystemVerilog could perform index accesses on single-bit signals (https://github.com/intel/rohd/issues/204).
- Expanded capability to construct single-
Conditionalmore succinctly viaElse.s(https://github.com/intel/rohd/issues/225). - Fixed a bug where sensitivities for
Combinationals were excessively pessimistic (https://github.com/intel/rohd/issues/233). - Improved exceptions raised by
Logic.putto include context on which signal was affected to help with debug (https://github.com/intel/rohd/pull/243). - Optimized
WaveDumperto only periodically write data to the VCD file to improve performance (https://github.com/intel/rohd/pull/242). - Made
endIndexingetRangean optional positional argument with a default value ofwidth, enabling a more convenient method for collecting all bits from some index until the end (https://github.com/intel/rohd/issues/228). - Added an exception in cases where names of interface ports are invalid/unsanitary (https://github.com/intel/rohd/issues/234).
- Upgraded the
Simulatorso that it wouldawaitasynchronous registered actions (https://github.com/intel/rohd/pull/252). - Deprecated
Logic.hasValidValueandLogic.isFloatingin favor of similar operations onLogic.value(https://github.com/intel/rohd/issues/198). - Added
Logic.isIn, which generates logic computing whether the signal is equal to any values in a (optionally mixed) list of constants or other signals (https://github.com/intel/rohd/issues/7).
0.4.1 #
- Fixed a bug where
Modules could have invalid names in generated SystemVerilog (https://github.com/intel/rohd/issues/138). - Fixed a bug where
Logics could have invalid names in generated SystemVerilog. - Added a feature allowing access of an index of a
Logicvia anotherLogic(https://github.com/intel/rohd/issues/153). - Fixed a bug where multiple sequential driver issues might not be caught during ROHD simulation (https://github.com/intel/rohd/issues/114).
- Improved
Exceptions in ROHD with better error messages and more granular exception types to make handling easier. - Improved generated SystemVerilog for sign extension and added capability for replication (https://github.com/intel/rohd/issues/157).
- Fixed a bug where signal names and module instance names could collide in generated SystemVerilog (https://github.com/intel/rohd/issues/205).
- Fixed a bug where in some cases modules might not be properly detected as sub-modules, leading to erroneous omission in generated outputs.
- Added capability to perform modulo and shift operations on
Logicvia a constant values (https://github.com/intel/rohd/pull/208). - Completed a fix for a bug where shifting a
Logicby a constant would throw an exception (https://github.com/intel/rohd/issues/170). - Modified the mechanism by which signal propagation occurs between
Logics so that connectedLogics share an underlying value-holding entity (https://github.com/intel/rohd/pull/199). One significant implication is that modifying a value of aLogic(e.g. viaputorinject) will now affect the value of both downstream and upstream connectedLogics instead of only downstream. This change also can significantly improve simulation performance in connection-heavy designs. Additionally, this change helps mitigate an issue where very long combinational chains of logic can hit the stack size limit (https://github.com/intel/rohd/issues/194). - Fixed a bug where large unsigned values on
LogicValues would convert to incorrectintvalues (https://github.com/intel/rohd/issues/212). - Added an extension on
BigIntto perform unsigned conversion to anint. - Added a capability to construct some
Conditionaltypes (e.g.If) which have only a singleConditionalmore succinctly (https://github.com/intel/rohd/issues/12). - Optimized some operations in
LogicValuefor performance (https://github.com/intel/rohd/pull/215). - Added a shortcut to create a 0-width
LogicValuecalledLogicValue.empty(https://github.com/intel/rohd/issues/202). - Fixed a bug where equal
LogicValues could have unequal hash codes (https://github.com/intel/rohd/issues/206). The fix also improved internal representation consistency forLogicValues, which could provide a significant performance improvement when wide values are used often.
0.4.0 #
- Fixed a bug where generated SystemVerilog could apply bit slicing to an expression (https://github.com/intel/rohd/issues/163).
- Fixed a bug where constant collapsing in SystemVerilog could erroneously remove constant assignments (https://github.com/intel/rohd/issues/159).
- Fixed a bug where
Combinationalcould have an incomplete sensitivity list causing incorrect simulation behavior (https://github.com/intel/rohd/issues/158). - Significantly improved simulation performance of
Combinational(https://github.com/intel/rohd/issues/106). - Upgraded and made lints more strict within ROHD, leading to some quality and documentation improvements.
- Added a feature allowing negative indexing to access relative to the end of a
LogicorLogicValue(https://github.com/intel/rohd/issues/99). - Breaking: Increased minimum Dart SDK version to 2.18.0.
- Fixed a bug when parsing unsigned large binary integers (https://github.com/intel/rohd/issues/183).
- Exposed
SynthesisResults from theSynthBuilder, making it easier to generate SystemVerilog modules into independent files (https://github.com/intel/rohd/issues/172). - Breaking: Renamed
topModuleNametodefinitionNameinExternalSystemVerilogModule(https://github.com/intel/rohd/issues/169). - Added the
muxfunction as a shortcut for building aMuxand returning the output of it (https://github.com/intel/rohd/issues/13). - Deprecation: Improved naming of ports on basic gates, old port names remain accessible but deprecated for now (https://github.com/intel/rohd/issues/135).
- Fixed list of reserved SystemVerilog keywords for sanitization (https://github.com/intel/rohd/issues/168).
0.3.2 #
- Added the
StateMachineabstraction for finite state machines. - Added support for the modulo
%operator. - Added ability to register actions to be executed at the end of the simulation.
- Modified the
WaveDumperto write to the.vcdfile asynchronously to improve simulation performance while waveform dumping is enabled (https://github.com/intel/rohd/issues/3)
0.3.1 #
- Fixed a bug (introduced in v0.3.0) where
WaveDumperdoesn't properly dump multi-bit values to VCD (https://github.com/intel/rohd/issues/129).
0.3.0 #
- Breaking: Merged
LogicValueandLogicValuesinto one type calledLogicValue. - Deprecation: Aligned
LogicValuetoLogicby renaminglengthtowidth. - Breaking:
Logic.putno longer acceptsList<LogicValue>, swizzle it together instead. - Deprecated
Logic.valueIntandLogic.valueBigInt; instead use equivalent functions onLogic.value. - Deprecated
biton bothLogicValueandLogic; instead just checkwidth. - Added ability in
LogicValue.toStringto decide whether or not to include the width annotation throughincludeWidthargument. - Fixed a bug related to zero-width construction of
LogicValues (https://github.com/intel/rohd/issues/90). - Fixed a bug where generated constants in SystemVerilog had no width, which can cause issues in some cases (e.g. swizzles) (https://github.com/intel/rohd/issues/89)
- Added capability to convert binary strings to ints with underscore separators using
bin(https://github.com/intel/rohd/issues/56). - Added
getRangeandreversedonLogicandsliceonLogicValueto improve consistency. - Using
slicein reverse-index order now reverses the order. - Added the ability to extend signals (e.g.
zeroExtendandsignExtend) on bothLogicandLogicValue(https://github.com/intel/rohd/issues/101). - Improved flexibility of
IfBlock. - Added
withSetonLogicValueandLogicto make it easier to assign subsets of signals and values (https://github.com/intel/rohd/issues/101). - Fixed a bug where 0-bit signals would sometimes improperly generate 0-bit constants in generated SystemVerilog (https://github.com/intel/rohd/issues/122).
- Added capability to reserve instance names, as well as provide and reserve definition names, for
Modules and their corresponding generated outputs.
0.2.0 #
- Updated implementation to avoid
Iterable.forEachto make debug easier. - Added
ofBooltoLogicValueandLogicValues(https://github.com/intel/rohd/issues/34). - Breaking: updated
InterfaceAPI so thatgetPortsreturns aMapfrom port names toLogicsignals instead of just a list, which makes it easier to work with when names are uniquified. - Breaking: removed
setPortfromInterface. UsesetPortsinstead. - Deprecated
swizzleandrswizzleglobal functions and replaced them with extensions onLists of certain types includingLogic,LogicValue, andLogicValues(https://github.com/intel/rohd/issues/70). - Breaking: renamed
ExternalModuletoExternalSystemVerilogModulesince it is specifically for SystemVerilog. - Breaking: made
topModuleNamea required named parameter inExternalSystemVerilogModuleto reduce confusion. - Added
simulationHasEndedbool toSimulator. - Updated
Simulatorto allow for injected actions to returnFutures which will beawaited. - Fixed bug where
Simulatorwarns about maximum simulation time when not appropriate. - Fixed a bug where
ExternalSystemVerilogModulecould enter infinite recursion. - Some improvements to
SimCompareto properly check values at the end of a tick and support a wider variety of values inVectors. - Fixed a bug related to
Sequentialsignal sampling where under certain scenarios, signals would pass through instead of being flopped (https://github.com/intel/rohd/issues/79). - Deprecated a number of
fromfunctions and replaced them withofto more closely follow Dart conventions (https://github.com/intel/rohd/issues/72).
0.1.2 #
- Optimized construction of
LogicValuesto improve performance - Renamed
FFtoSequential(markedFFas deprecated) (breaking: removedclksignal) - Added
Sequential.multifor multi-edge-triggered blocks (https://github.com/intel/rohd/issues/42) - Improved exception and error messages (https://github.com/intel/rohd/issues/64)
0.1.1 #
- Fix
Interface.connectIObug when no tags specified (https://github.com/intel/rohd/issues/38) - Fix uniquified
Interface.getPortsbug (https://github.com/intel/rohd/issues/59)
0.1.0 #
- The first formally versioned release of ROHD.