- A Logic Circuit Simulation Library in C++





News


3rd November 2006

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.

Changelog

  1. The delays which can set using the function lcs::Bus::lock are now inertial.
  2. Though I have resisted this far, I have converted the overloaded bus concatenation operator * to an overloaded ',' (comma) operator. See lcs::Bus::operator, and lcs::InputBus::operator, for more information.
  3. Added an operator function lcs::Bus::operator,(const InputBus &bus).
  4. Removed the functions lcs::Simulation::terminate and lcs::Clock::destroyClock inorder to fix a minor unreported bug.


28th October 2006

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.

Changelog

  1. Mixing modules having propogation delay with modules without propogation delay, while building digital systems using libLCS-0.0.3, was leading to an imperfect concurrancy in the simulation of the modules in the system. This imperfection was leading to the circuit behavior being dependent on the order in which the modules were declared in the program. This problem has been solved and all modules, with delay or without delay, are now simulated concurrantly.
  2. Due to the many slips-up with the release libLCS-0.0.3, I have restructured the items which go into the release bundle. Hence, a much better release package, bundled with examples and a Makefile, is provided.


23rd October 2006

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.

Changelog

  1. The following new classes have been added: lcs::ChangeMonitor, lcs::Clock, lcs::DFlipFlop, lcs::JKFlipFlop, lcs::MultipleClockException, lcs::NullClockException, lcs::Queue, lcs::Simulation, lcs::SystemTimer, lcs::TickListener
  2. The function lcs::InputBus::drive has been replaced with lcs::InputBus::notify, and the function lcs::InputBus::unDrive has been replaced with lcs::InputBus::stopNotification
  3. The function lcs::Bus::lock takes an additional delay parameter.
  4. Usage of the class lcs::Tester is now very different and clock based.
  5. A better navigable website and documentation.
  6. Provision of a small build script to build the library.
  7. Rectified many typos in the user guide and examples sections.


14th October 2006

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

  1. The API changes are only in the class 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.

  2. Rectified some of the goofs :-| and typos from the set of examples and user guide.


29th September 2006

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

  1. The single most important change is the provision of access protection to lines of the class lcs::Bus. See this for more information.
  2. Exception classes are used appropriately.
  3. Improved user guide, hopefully :D.
  4. A more organised examples section.


20th September 2006

libLCS-0.0.1 has been released. You can download it either by going through the download page, or directly from the project page.


Copyright © 2006, 2007 Siva Chandra