Archive for November, 2011
Observing internal FPGA signals
Sometimes, when debugging some firmware or hardware, it is necessary to see how the internal state of a chip changes in response to external signals.
With microcontrollers, this can be accomplished by adding code that toggles some pin that is then used for debugging, and watching that pin with an oscilloscope. Such a pin can also serve as sophisticated trigger, e.g., to capture some input signal only when an error is detected.
With M1, we can do the same, e.g., make LM32 or Navre toggle an I/O under software control. But we can do better: we can also route “hardware” signals directly, without involving software.
Here are three ways to do this:
- Change the Verilog to properly route the signal to the output pad. This is nice and clean but has the following disadvantages:
- need to run the full build process for each change of taps,
- need to edit the sources (and remember to undo all the changes once the problem is fixed),
- the signals need to be propagated step by step up the module hierarchy (*), which means a lot of small changes in many files,
(*) Verilog should support also direct references that “jump” the hierarchy, but this doesn’t seem to be properly implemented in the Xilinx tools.
- The pros just edit the FPGA with a WYSIWYG editor (Part three shows how to route signals to a pad). What I don’t like about this is that it’s not script-friendly. I’d also suspect that the changes are lost or at least in danger when re-synthesizing.
- Like above, but edit non-interactively. This is an experimental hack I’ve now implemented.
Read the rest from the Milkymist mailing list…
Announcing MIDI-USB support for Milkymist One
We are currently working on a software upgrade that will allow USB MIDI controllers such as the Faderfox LV3 to be used with the Milkymist One. The update will be compatible with all existing Milkymist devices, and will be installable easily.
Right now, you can already use traditional MIDI devices to control Milkymist One visuals. The update will make it possible to use those MIDI devices that only provide USB connectivity as well.
Milkymist One software updates
Software updates are available for the Milkymist One. This update mainly fixes a number of bugs – if you experience freezes or other issues, install the update, and let us know if you still have problems (devel at lists dot milkymist dot org).
Updating is easy – just connect the M1 to the Internet (booting it with the Ethernet cable connected to a network with DHCP should do, or use the system settings to configure the network) and then press the first push button (labeled L) for a few seconds. It should display this:
Then, power off and on again your M1. The “About” dialog box will display the new versions (Flickernoise 1.0 + SoC 1.0.1):


