- A Logic Circuit Simulation Library in C++ |
libLCS-0.0.49 has been released. You can download it either by going through the download page, or directly from the libLCS project page on sourceforge.net. With this release, assignment delays can be incorporated in a much more intuitive way. The complete changelog is as follows.
lcs::DelayExprPair
, lcs::DelayStatePair
. These classes facilitate incorporation of assignment delays in an intuitive way. However, a user of libLCS will never need to use these classes explicitly. lcs::Bus::setAssDelay
has been removed. lcs::Line::setAssDelay
has been made private. lcs::Bus
and lcs::Expression<1, LINE_EXPR, void, void>
, have been provided. They facilitate incorporation of assignment delays in an intuitive way. lcs::JKFlipFlop
) has been fixed.
libLCS-0.0.47 has been released. You can download it either by going through the download page, or directly from the libLCS project page on sourceforge.net. With this release, the LineAccessor
class and the bus locking mechanism to set bus lines has been eliminated. One can now set bus lines in the natural way using assignment operators. See the user guide and examples to learn more about setting bus lines. The complete changelog is as follows.
lcs::Bus::LineAccessor
and all the member functions associated with bus and line locking have been removed. lcs::InputBus::operator>>(int &)
has been removed. lcs::Bus
. lcs::Bus::setAssDelay
, lcs::Line::setAssDelay
, lcs::BitBuff::toInt
, lcs::BitBuff::toStr
, lcs::InputBus::toInt
, lcs::InputBus::toStr
lcs::LINE_EXPR
has been added into the enumerated type lcs::ExprType
. lcs::Expression<1, LINE_EXPR, void, void>
libLCS-0.0.45 has been released. With this release you can dump simulation results into VCD files. These VCD files can then be viewed using a suitable viewer. The complete changelog for libLCS-0.0.45 is as follows.
lcs::BitBuff
and lcs::InputBus
are derived from lcs::Array1D
through protected inheritance instead of public inheritance. lcs::Line
have been fixed. lcs::VCDManager
, lcs::TimeUnit
, lcs::DumpOption
lcs::Simulation::setDumpFileName
, lcs::Simulation::setTimeUnit
libLCS-0.0.43 has been released. With this release you can use lcs::BitBuff
objects and their bit selects in continuous assignment expressions. Apart from that, there have been few other re-orderings in the code. The complete changelog is as follows.
lcs::BitBuff
objects and their bits selects can now be used in expressions consisting of bitwise operations. This is facilitated through the following functions: lcs::Bit::notify
, lcs::Bit::stopNotification
, lcs::BitBuff::notify
, lcs::BitBuff::stopNotification
. lcs::InputBus
is now inherited from lcs::Array1D
. lcs::Line
have been made public.
libLCS-0.0.41 has been released. You can download it either by going through the download page, or directly from the libLCS project page on sourceforge.net. With this release libLCS facilitates bit-selects in continuous assignment expressions. A new class lcs::BitBuff
, which can be used as a temporary/intermediate storage data type, has been added. The complete changelog is as follows.
A
new lcs::ExprType
enumeration lcs::BITBUFF_EXPR
has been added. lcs::BitBuff
, lcs::Expression<bits, lcs::BITBUFF_EXPR, void, void>
, lcs::Bit
, lcs::Array1D
lcs::InputBus::operator[]
returns a suitable lcs::Expression
object.
libLCS-0.0.40 has been released. You can download it either by going through the download page, or directly from the libLCS project page on sourceforge.net. With this release libLCS facilitates continuous assignments. The complete changelog is as follows.
lcs::List::isPresent
has been added. lcs::Bus::operator()
and lcs::InputBus::operator()
have been added. lcs::Bus::cass
, which facilitates continuous assignments, has been added. lcs::Expression
and its specialisations, lcs::HiddenModuleManager
, and lcs::ContinuousAssignmentModule
. All these new classes play a role is facilitating continuous assignments.
libLCS-0.0.34 has been released. You can download it either by going through the download page, or directly from the project page. The complete changelog is as follows.
lcs::Bus::lock
are now inertial. lcs::Bus::operator,
and lcs::InputBus::operator,
for more information. lcs::Bus::operator,(const InputBus &bus)
. lcs::Simulation::terminate
and lcs::Clock::destroyClock
inorder to fix a minor unreported bug.
libLCS-0.0.32 has been released. This is a bug-fix release over the 0.0.3 release of libLCS. You can download it either by going through the download page, or directly from the project page.
libLCS-0.0.3 has been released. With this release, libLCS incorporates the notion of system time, facilitates delays, and provides sequential circuit elements flipflops and clock.
lcs::ChangeMonitor
, lcs::Clock
, lcs::DFlipFlop
, lcs::JKFlipFlop
, lcs::MultipleClockException
, lcs::NullClockException
, lcs::Queue
, lcs::Simulation
, lcs::SystemTimer
, lcs::TickListener
lcs::InputBus::drive
has been replaced with lcs::InputBus::notify
, and the function lcs::InputBus::unDrive
has been replaced with lcs::InputBus::stopNotification
lcs::Bus::lock
takes an additional delay parameter. lcs::Tester
is now very different and clock based.
libLCS-0.0.21 has been released. This is a bug-fix release with no major changes from the 0.0.2 version. You can download it either by going through the download page, or directly from the project page.
Changelog
lcs::Line
. The changes were made to eliminate a bug, which I illustrate using the following code. lcs::Bus a, b, c; lcs::Tester<2,1> tester(a*b, c);
Since the object tester
sets the lines of the composite bus a*b
, it locks this composite bus. However, due to the improper implementation of the locking mechanism in libLCS-0.0.2, the individual busses a
and b
were not getting locked even after the composite bus was locked. This problem has been solved in libLCS-0.0.21.
libLCS-0.0.2 has been released. You can download it either by going through the download page, or directly from the project page.
Changelog
lcs::Bus
. See this for more information.
libLCS-0.0.1 has been released. You can download it either by going through the download page, or directly from the project page.