Archive for March, 2010

h1

Firmware Release v0.33

11 March, 2010

About a week ago, the latest version of the firmware was released. An overview of the main changes can be found in the release notes here. Included in the release was support for the branch-on-trigger and branch-wait features discussed in John’s post. Additionally, some of the DHCP work done by Jeff was included.

icnt instruction

A major feature of the new firmware release is that it includes a working implementation of the icnt instruction, which can be read about in David’s post. The basics of the implementation were already in place, but a few tweaks were necessary to get the features fully working. Specifically, the following changes were made:

The signal for branching based on a comparison between a counter register and another value had some delay issues, which were fixed.

The signal for writing data for the icnt write instruction was unnecessarily delayed, which was fixed.

The counter registers were experiencing some non-deterministic behavior due to being affected by two clocks (the board clock and the input triggers), causing them to sometimes reset erroneously. This was fixed by just using the board clock and watching for edges in the input trigger.

The data output from the processor wasn’t hooked up to the SRAM controller, so data from the icnt write instruction never made it to the SRAM. These signals were hooked up, enabling the processor to write to SRAM.

Tests

A few tests were run to make sure the instructions worked correctly, including a test that counted the number of times a button was pushed, and a test that used a feedback loop that fed output signals from the board into the input triggers, which let us test that the inputs were counted correctly and were written to memory correctly.

All of the tests worked when run on the board in the CSE lab. However, it currently looks like there are some timing issues on a different board, which causes this firmware (and v0.32) to not work. This problem is being investigated.

Follow

Get every new post delivered to your Inbox.