[ Content | Sidebar ]

Wantage

November 30th, 2013

I Went exploring in Wantage, Oxfordshire today. It’s a nice little market town that’s apparently the birth place of Alfred the Great.

wantage_scale

The local museum was unexpectedly brilliant. My favourite bit was this replica of a Wantage tram carriage complete with dead mice:

tram_scale

Predictably everything hereabouts is named after Alfred. Here’s King Alfred’s school which is a rather attractive building:

school_scale

Afterwards I went for a semi-circular walk back to Didcot through the Lambourn Downs and Ridgeway that I’ve visited before. I stopped for lunch here by this huge hill.

lunch_scale

VHDL Code Coverage

November 24th, 2013

I recently added a code coverage option to the VHDL compiler, nvc, I’m working on. I tend to find code coverage a really useful tool when I’m writing RTL, especially the sort of control-dominated designs I do in my day job. I find Modelsim’s HTML coverage reports a bit frustrating so I’m trying to do something more user-friendly in my simulator.

If you elaborate your design with the --cover option the generated code will be annotated to gather the following kinds of coverage:

  • Statement – A counter is added for each executable statement in the design. A statement must be executed at least once to be “covered”.
  • Branch – A branch is covered if it is both taken and not-taken at least once during execution
  • Condition – A condition here is a Boolean sub-expression of branch test and it is covered by evaluating to both TRUE and FALSE at least once. For example if A and B then contains one branch but two sub-conditions.

After a run with coverage enabled the statistics are automatically reported:

** Note: coverage report generated in /tmp/work/WORK.TEST.cover/
            282/289 statements covered
            71/94 branches covered
            85/108 conditions covered

A HTML report is then generated which contains a top-level summary and a detailed report for each source file:

coverage

You can mouse over a non-covered branch or condition to get a hint as to why it was not covered.

The implementation is currently a work-in-progress but functions well enough for light usage. The biggest limitation at the moment is that the report only contains aggregated statistics per-file rather than per-instance statistics.

Henley to Oxford (Almost)

October 30th, 2013

Walking from Henley to Oxford has been something I wanted to try for ages, so having a day off this Tuesday I thought I’d give it a go. It’s about 25 or so miles if you take the scenic route. Unfortunately I think this should have been a summer project as despite setting off at 8am I ran out of day light around 5:30 a few miles short in a village called Marsh Baldon and had to escape via a well-timed bus. I’ll blame the amount of debris from Monday’s storm for slowing me down.

Some photos from epic adventure below:

Available for a While Longer

October 30th, 2013

Sometimes the single week programmes are on iPlayer is a little too short:

long_time

(On this. Really good documentary BTW, no hurry to watch it…)

Improved Waveform Output

October 27th, 2013

I’ve spent a lot of time recently improving the waveform output of my VHDL compiler / simulator. Previously only the simple VCD format was supported: this only allows Verilog-style 4-value logic types to be dumped so doesn’t map very well onto VHDL types. The implementation was also very inefficient resulting in a 3-4x slowdown in simulation speed.

After experimenting with LXT for a while, NVC now uses GtkWave’s FST format by default. With some help from GtkWave’s author it can now dump full 9-value logic as well as most common VHDL types (enumerations, strings, integers, etc.).

I’ve put some work into improving the performance of waveform output and now dumping every signal to a FST incurs around 30% overhead. The VCD dumper has also been rewritten giving around 90% overhead. This format should generally be avoided unless you do not have access to GtkWave.

The screen shot below shows some of the new features:

gtkwave

Butterflies

October 23rd, 2013

I was visiting my friend Winni in St Albans last weekend. On Sunday afternoon we went to the nearby Butterfly World. It was very very very wet. Which was a bit unfortunate as a lot of it was outside.

For somewhere so butterfly-themed there is a surprising amount of ant-based exhibits. Including a rather scary giant ant in the outside play area.

ant1_scale

A factoid I learnt: these leaf cutter ants are the only animals beside humans that grow their own food! Apparently they take these leafs back home and use them to grow edible fungus.

ant2_scale

This daft but strong ant has picked up a stick instead of a leaf.

butter1_scale

An actual butterfly (or is it a moth?), in the butterfly house.

butter3_scale

Transparent wings! Drinking the nectar from the flower. Followed by an upside down butterfly.

butter4_scale

Avebury

October 6th, 2013

Yesterday I headed to Swindon to finish off the remaining 16 or so miles of the Ridgeway path that I’ve been doing recently. While waiting for the bus I explored Swindon town centre a bit: it wasn’t really worth the effort, although there was a cool building with minis on the side (they’re produced in Swindown).

The Ridgeway eventually ends up near the Wiltshire village of Avebury. Averybury is somewhat unusual in that it’s surrounded by the largest ancient stone circle in Europe.

avebury_scale

There are some small pointed stones around (although you can’t see them in the photos) that are the result of a reprehensible act of 19th century cultural vandalism, referred to locally as The Shame, where villagers broke up some of the stones to use as building materials. These modern stones mark the place where the original ones stood.

The site is impressively large and much quieter and less commercialised than Stone Henge but the placement of the stones seem a bit haphazard: perhaps I’m missing the mystical significance. It’s apparently a focal point for modern pagans but the only other people I saw around were clearly tourists.

In The Dark

October 4th, 2013

It gets dark early in October eh?!

dark1_scale

On the way back home when I went walking in the Chilterns last weekend. Hambledon lock near Henley.

dark2_scale

Not to worry though as I have this super-awesome LED Lenser torch. It’s pocket-sized, all-metal, German-made, and even comes with a handy carry case. Buy one now!

Garden Train Fully Operational

September 15th, 2013

After having fallen into disrepair my parents’ garden train is now up and running!

garden_train_scale

Unfortunately since this photo was taken the viaduct was attacked by a mob of Luddite snails. Said snails became rather ill afterwards. Serves them right.

Sock Disaster

September 14th, 2013

I have previously congratulated running sock manufacturers on their clear labelling of left and right socks. However, I unfortunately managed to bring two right running socks back home to Hastings which I can assure you is much worse than having two ambiguous unlabelled socks.