August 17, 2010
nesC is now available for Fedora. It is an extension to the C programming language designed for use with TinyOS, which is used in wireless sensor networks. Install it using:
$ sudo yum --enablerepo=updates-testing update nesc
It could not be shipped with Fedora earlier because it used the now deprecated Intel Open Source license. Thanks to David Gay and Philip Levis, it has now been updated with dual BSD/GPL license. There is also support for GNU Emacs with the emacs-nesc package.
$ sudo yum --enablerepo=updates-testing update emacs-nesc
Here is a screenshot of GNU Emacs with syntax highlighting in nesc-mode:
August 2, 2010
Teal, the popular verification utility and connection library is now available for Fedora:
$ sudo yum install teal
It is a C++ multithreaded library to verify verilog designs. It deals with simulation logging, error reporting, threading, memory model management. It basically provides all the low level building blocks needed to start a verification environment. A simple example:
#include <teal.h>
using namespace teal;
int verification_top ()
{
vreg clock (“testbench.clk”);
vout log (“Chapter 4- Example 1”);
dictionary::start (“simple_clock_test.txt”);
uint number_of_periods (dictionary::find (“number_of_clocks”,20));
for (int i(0); i < number_of_periods; ++i) {
log << note << “i is “ << i << clock is << clock << endm;
}
dictionary::stop ();
vlog::get (expected) << “test completed” << endl;
}
It is released under the Trusster open source license, but, that is incompatible with the GPL. But, thanks to the founders of Trusster.com, Mike Mintz and Robert Ekendahl, who agreed to release the same under the LGPLv2+ and GPLv2+ license for Fedora!
July 20, 2010
The Computational Fluid Dynamics General Notation System (CGNS) library is now available in Fedora under the zlib license. Install it using:
$ yum install cgnslib
It provides a general, portable, and extensible standard for the storage and retrieval of computational fluid dynamics (CFD) analysis data. It consists of a collection of conventions, and free and open software implementing those conventions. It is self-descriptive, machine-independent, well-documented, and administered by an international Steering Committee.
June 30, 2010
Chalmers Lava2000, a hardware description library in Haskell is now available for Fedora. Thanks to Emil Axelsson and Jens Peterson for their feedback, and package review. You can install the same using:
$ sudo yum install ghc-chalmers-lava2000 ghc-chalmers-lava2000-devel ghc-chalmers-lava2000-doc
To illustrate a half adder example with the use of the Lava library, create a Test.hs file:
import Lava
halfAdd (a, b) = (sum, carry)
where
sum = xor2 (a, b)
carry = and2 (a, b)
Load it with ghci (Glasgow Haskell Compiler):
$ ghci Test.hs
GHCi, version 6.12.2: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
[1 of 1] Compiling Main ( Test.hs, interpreted )
Ok, modules loaded: Main.
Test half adder with low, high inputs using:
*Main> simulate halfAdd(low, high)
Loading package syb-0.1.0.2 ... linking ... done.
Loading package base-3.0.3.2 ... linking ... done.
Loading package array-0.3.0.0 ... linking ... done.
Loading package filepath-1.1.0.3 ... linking ... done.
Loading package old-locale-1.0.0.2 ... linking ... done.
Loading package old-time-1.0.0.3 ... linking ... done.
Loading package unix-2.4.0.0 ... linking ... done.
Loading package directory-1.0.1.0 ... linking ... done.
Loading package process-1.0.1.2 ... linking ... done.
Loading package time-1.1.4 ... linking ... done.
Loading package random-1.0.0.2 ... linking ... done.
Loading package haskell98 ... linking ... done.
Loading package chalmers-lava2000-1.1.1 ... linking ... done.
(high,low)
*Main>
Testing half adder with high, high inputs gives:
*Main> simulate halfAdd(high, high)
(low,high)
You can also generate vhdl file using:
*Main> writeVhdl "halfAdd" halfAdd
Loading package syb-0.1.0.2 ... linking ... done.
Loading package base-3.0.3.2 ... linking ... done.
Loading package array-0.3.0.0 ... linking ... done.
Loading package filepath-1.1.0.4 ... linking ... done.
Loading package old-locale-1.0.0.2 ... linking ... done.
Loading package old-time-1.0.0.4 ... linking ... done.
Loading package unix-2.4.0.1 ... linking ... done.
Loading package directory-1.0.1.1 ... linking ... done.
Loading package process-1.0.1.2 ... linking ... done.
Loading package time-1.1.4 ... linking ... done.
Loading package random-1.0.0.2 ... linking ... done.
Loading package haskell98 ... linking ... done.
Loading package chalmers-lava2000-1.1.1 ... linking ... done.
Writing to file "halfAdd.vhd" ... Done.
Copy /usr/share/chalmers-lava2000-1.1.1/Vhdl/lava.vhd to your project directory, and you can verify the generated halfAdd.vhd with it using ghdl:
$ ghdl -a lava.vhd
$ ghdl -a halfAdd.vhd
$
You are encouraged to read the “Slightly Revised Tutorial on Lava” by Koen Claessen, and Mary Sheeran for more detailed documentation on using the library.
June 18, 2010
Hardware Complexity Tool (hct) is now available for Fedora. It generates scores that represent the complexity of the modules of integrated circuit design projects. It uses McCabes’ cyclomatic complexity for understanding branch complexity. You can run hct on verilog, vhdl, cdl (computer design language) files or directories that contain these files. For example:
~~~~ {.shell} $ hct verilog Directory: /tmp/verilog
verilog, 18 file(s) +——————–+————–+——+——-+———-+——–+ | FILENAME | MODULE | IO | NET | MCCABE | TIME | +——————–+————–+——+——-+———-+——–+ | Case.v 0 0 18 0.1504 | | case 0 0 18 | +———————————————————————-+ | modules.v 1 0 2 0.0137 | | m1 1 0 1 | | m2 0 0 1 | +———————————————————————-+ | RAM.v 7 0 4 0.1653 | | RAM 7 0 4 | +———————————————————————-+ | hello_world.v 0 0 1 0.0113 | | hello_world 0 0 1 | +———————————————————————-+ | one_day2.v 0 0 2 0.0423 | | one_day2 0 0 2 | +———————————————————————-+ | S430.v 13 4 1 0.2438 | | S430 13 4 1 | +———————————————————————-+ | one_day3.v 0 0 4 0.0305 | | one_day3 0 0 4 | +———————————————————————-+ | first_counter.v 4 3 3 0.0765 | | first
~unter 4 3 3 | +———————————————————————-+ | Multiplier.v 7 4 1 0.1646 | | Multiplier 7 4 1 | +———————————————————————-+ | Sys430.v 10 12 9 0.5017 | | Sys430 3 12 5 | | LEDTest 7 0 4 | +———————————————————————-+ | first_counter_tb.v 0 1 1 0.0279 | | first~er_tb 0 1 1 | +———————————————————————-+ | longtest.v 9 5 12 2.1130 | | RAMB16_S9 9 5 12 | +———————————————————————-+ | GPR.v 8 0 3 0.1039 | | GPR 8 0 3 | +———————————————————————-+ | encoder_u~g_case.v 3 0 16 0.1384 | | encode~_case 3 0 16 | +———————————————————————-+ | RAMB16_S9.v 9 5 12 2.0922 | | RAMB16_S9 9 5 12 | +———————————————————————-+ | comment.v 0 0 1 0.0264 | | comment 0 0 1 | +———————————————————————-+ | encoder_using_if.v 3 0 17 0.1941 | | encode~ng_if 3 0 17 | +———————————————————————-+ | MUX2.v 0 0 1 0.0035 | | INV 0 0 1 | +———————————————————————-+ ~~~~
June 16, 2010
Have updated my Dell Vostro 1310 to Fedora rawhide. The relevant configuration outputs are now made available:
Updating tcl to tcl-8.5.8-2.fc14 solves 540296. One can now do:
$ tclsh
% package require Tk
Running “mcu8051ide –check-libraries” should now be clean on Fedora:
Checking libraries...
1/9 Checking for library BWidget
Library present ... YES
Version 1.7 ... YES
2/9 Checking for library Itcl
Library present ... YES
Version 3.4 ... YES
3/9 Checking for library Tcl
Library present ... YES
Version 8.2 ... YES
4/9 Checking for library md5
Library present ... YES
Version 2.0 ... YES
5/9 Checking for library crc16
Library present ... YES
Version 1.1 ... YES
6/9 Checking for library Tk
Library present ... YES
Version 8.5 ... YES
7/9 Checking for library img::png
Library present ... YES
Version 1.3 ... YES
8/9 Checking for library tdom
Library present ... YES
Version 0.8 ... YES
9/9 Checking for library Tclx
Library present ... YES
Version 8.0 ... YES
RESULTS:
Number of fails: 0
Everything seems ok
Pushed recent mcu8051ide 1.3.7 and vrq 1.0.76 to Fedora repository.
May 17, 2010
Attended May months’ Hyderabad user group meeting on Sunday, May 16, 2010 at:
Rhythm & Hues Studios India Pvt. Ltd.
The V, Vega Block, 11th Floor,
Left Wing, Plot No - 17, Software Units layout
HITEC City, Madhapur,
Hyderabad 500 081
India
Satish “iloveblender” Goda gave a very informative talk about the history of the Blender project, animation movies created using the Blender software, pipelines involved in animation movie production, and on how the blender community functions in producing open animation movies with the guidance of Ton Roosendaal.
Their open animation movie projects are code named after names of fruits. One interesting aspect is that before starting on a new movie project, one can pay and pre-order the DVD, and your name is added to the credits when the movie is released. This funding also helps the team in producing the movie!
Thanks to the Management of Rhythm & Hues Studios India Pvt. Ltd. for hosting our user group meet at their auditorium. Special thanks to “cheedhu” and “iloveblender” for initiating the effort. We hope to have more sessions of blender and other F/OSS sessions at this venue.
A photo taken at the end of the session:
May 8, 2010
Visited Sreenidhi International School and members of the KMR Foundation today, Saturday, May 8, 2010 in Hyderabad. They have OLPC XOs that they are using for class(grade) IV students in a school near their premises at Aziznagar, Ranga Reddy district, Andhra Pradesh, India. They require support for Telugu language and use of XO software for the school students. Here is a screenshot of one of the XOs:
May 7, 2010
Pushed perl-Sys-CPU to Fedora repository. You can use it like:
~~~~ {.perl} use Sys::CPU;
$number_of_cpus = Sys::CPU::cpu_count(); printf(“I have %d CPU’s”, $number_of_cpus);
print " Speed : “, Sys::CPU::cpu_clock(),”“; print” Type : “, Sys::CPU::cpu_type(),”"; ~~~~
April 21, 2010
Used \newcommand to abstract the four actor names in di-git-ally managing love letters presentation:
\newcommand{\oneactor}{pretty-zinta}
\newcommand{\twoactor}{raaani-mukerji}
\newcommand{\threeactor}{nayantaaara}
\newcommand{\fouractor}{aishvarya-ray}
You can now get the sources from gitorious, and replace the above names to your liking, and rebuild the presentation by invoking make from the sources directory.
$ git clone git://gitorious.org/di-git-ally-managing-love-letters/mainline.git