Sigasi's Blog

This website hosts blogs on multiple topics that relate to the world, work and lives of Sigasi team members.

Sigasi HDT
All blog posts related to our product, Sigasi HDT: tips and tricks, howtos, feature discussions, ...
Jan on HDL design
Jan's blog about his personal views on HDL design. Relevant for the future, but aware of the past.
VHDL
Posts that will make you a better VHDL designer, regardless of the tools you use.
Developing for Eclipse
We develop on top of Eclipse, so we have some experience in this field. In this feed, we share some of this experience.

You can easily subscribe to each of these blogs by clicking the rss icons. It is also possible to subscribe to all blog posts

Keep track of the Google positions of your keywords

"The numbers tell the tale"

As a small EDA startup that sells its software via Internet, it is of upmost importance to be easily found. Therefore SEO (Search Engine Optimization) is one of our major tasks. The higher www.sigasi.com ranks on the search pages for the keywords related to our business, the more visitors we can expect.

But how can we keep track of the result of our SEO efforts?

Of course, the number of trials and sales remain the most important metrics. But I also wanted to easily keep track of the search position of individual keywords. To that purpose I combined some scripts to visualize the position of the keywords we optimize for. I customized the rankcheck script of Willem van Zyl to get the Google search position and combined it with the dygraph library from Dan Vanderkam to visualize the results.

Example

(Mouse over to highlight individual values. Click and drag to zoom. Double-click to zoom back out.
Change the number and hit enter to adjust the averaging period.)

   

Show Series:










How to use it

I find the timeplots generated with the dygraph really powerfull. They are not only visually pleasant, but they also allow to hover, zoom and average the graphs. Just click and drag to zoom in and double click to zoom back out. You can also smooth the plots by averaging over multiple days. Just enter a different value in the text box at the bottom left of the plot to adjust the averaging period.

I also added check-boxes so that you can easily look at the trend of a custom selection of keywords.

How it is done

Every night a server at Sigasi runs the attached cron-script (cron.sh) that gets the Google position for the specified keywords and updates the graph. The easiest way to run this script is to use cron. I however re-used our Hudson installation, because I find it easier to verify the script keeps on running flawlessly.

This is what cron.sh does:

  1. cron.sh calls rankcheck.py (The original rankcheck script was slightly modified according to the recent changes in the Google result pages.) for each of the keywords specified in terms.csv. Make sure you use + instead of spaces.
  2. The results are stored in data.csv.
  3. Next, the data file is converted (generate.py) in a html page (data.html) which contains the plot and the check-boxes to select the keywords to visualize. For your convenience the dygraph Javascript library is also bundled in the attached sources.

Download

You can download our scripts here.
You might also need to install Python and PycURL (yum install python-pycurl on Fedora).

Hendrik.

Key shortcut reminder popups in Eclipse

Using keyboard shortcuts makes you a lot more efficient compared to using your mouse. But how to learn all shortcuts in an unobstructive and efficient way?

The users of our standalone VHDL development environment have certainly noticed the subtle popups with the keyboard shortcut, every time you click a button or menu item. This effect is achieved through the MouseFeed plugin. MouseFeed helps you to form the good habit of using keyboard shortcuts.

How can you enable this feature if you are using a standard Eclipse distribution? You just have to install the MouseFeed plugin.

MouseFeed popup for Open DeclarationMouseFeed popup for Open Declaration

Installation

  • Click Help > Install New Software...
  • Enter http://update.mousefeed.com in the Work with field and press Enter
  • Some plugins should appear
  • Select MouseFeed 1.0.0
  • Click Next (2 times), accept the license and click finish.
  • Restart Eclipse

Note

For die hard keyboard fetishists, MouseFeed offers an interesting option in its preference page to enforce the use of keyboard shortcuts (Preferences > Mousefeed > Action invocation). If you enable this preference, every time you try to start an action with your mouse that has has a keyboard shortcut, the action will not be executed; instead the popup will show you the shortcut. This way you are forced to learn and use the shortcut.

Install Sigasi's VHDL Eclipse plugin in Xilinx EDK /SDK

The new 12.1 release of the Xilinx ISE Suite contains an updated version of Xilinx EDK/SDK. EDK is now build on the Galileo (3.5.1) version of the Eclipse framework. This fills the requirements to install Sigasi's VHDL Eclipse plugin. So it is now possible to install Sigasi's VHDL plugin in Xilinx EDK, next to the Xilinx plugins.

Xilinx SDK splash screenXilinx SDK splash screen

The installation is entirely as explained in the plugin installation instructions. Just make sure you have write permission on the install location of Xilinx EDK. You might have to run Xilinx EDK as adminstrator when you install Sigasi's VHDL plugin.

Default install location on Windows:

c:\Xilinx\12.1\ISE_DS\EDK\eclipse\nt\eclipse

Default install location on Linux:

/opt/Xilinx/12.1/ISE_DS/EDK/eclipse/lin/eclipse

Finally you can easily switch between soft- and hardware development inside one development environment.

Sigasi HDT running in Xilinx EDKSigasi HDT running in Xilinx EDK

Sigasi HDT with the new Xilinx ISE 12 (updated)

Update: Sigasi HDT has been updated to support Xilinx ISE 12 without modifications: release notes

Xilinx just released a new version of Xilinx ISE Suite.

Because the internal directory structure of this new version 12 has changed with respect to version 11, the integration with Sigasi HDT does not work as expected. Version 12 has an extra top-level directory ISE_DS which confuses Sigasi HDT.

It is however possible to configure Sigasi HDT to use ISim version 12.1 with this workaround:

In Preferences > Xilinx, specify:

Windows:

c:\Xilinx\12.1\ISE_DS

instead of just c:\Xilinx\12.1.

Linux:

/opt/Xilinx/12.1/ISE_DS/

instead of just /opt/Xilinx/12.1/.

In the next release of Sigasi HDT, we will make sure the configuration of the Xilinx path is the same for all versions.

Can we have an open source simulator?

In my previous post, I talked about GHDL, and why it is not good enough as an open source parser and simulator. In this post, I talk about possible solutions. I see three options today.

GHDL could become really good and perhaps even great. But in order to achieve this, the GHDL community would need to grow. Perhaps a few students would have to spend a Summer of Code working on GHDL.

Or, we could drop the idea of GHDL and start from scratch. This would be wise if the effort saved by using newer, better tools and languages, will compensate for having to start from scratch.

As a last alternative, one of the existing players could release its own simulator as open source software. This may not be as crazy as is sounds. Xilinx has dropped Mentor Graphic's ModelSim in favor of its own ISim. We can only presume that Mentor's royalties were an important factor in this decision. ISim translates VHDL and Verilog to C, which is then compiled to an executable. This executable in fact simulates the hardware design. Xilinx has much to gain from a larger community of designers: they can sell more FPGAs. They also have much to gain from a diverse EDA landscape, as they would be able to cut back on their own EDA development budgets.

We need an open source, high quality VHDL simulator. It will enable more people and companies to join the community of VHDL and FPGA designers. It will enable new players to enter the EDA market and build innovative tools. If there are more EDA vendors, they can provide more high quality EDA tools at a lower cost and less vendor lock-in.

I don't expect a lot of cheers from the companies that sell their own simulators. But if the EDA sector as a whole wants to remain healthy, it needs to allow new innovators in the market. Having a freely available parser and simulator for the cornerstone hardware description languages would be a good start.

Let me know what you think, in the comments or on Twitter.

--
Philippe

Syndicate content