Friday, September 7, 2007

Tuesday, August 21, 2007

Installing Mitrion™ SDK

This blog is on my experience installing version 1.3.1 of
Mitrion PE Software Development Kit.

PE is for Personal Edition.

Mitrion PE is available as a "free download".
It contains the compiler, but it can only simulate applications on non-FPGA computers.
It will not produce VHDL files, nor it will produce bit files for Xilinx FPGAs.

Here is the comparison table for the 3 products (only the first one is free of charge):




Getting the software:
1. Go to http://www.mitrion.com
2. Make 6 clicks on various links.
3. "REVIEW THE FOLLOWING TERMS AND CONDITIONS CAREFULLY..." (5350 words).
4. Click "I Accept."
5. Fill out the personal information form.
6. Start downloading (~170MB)

While downloading I noticed an email with a serial number for the software.

I untar. Change directory. And run "sudo ./install" (it does need root).


Installing... Done!


Ok. Now what do I do?

There is no README file.

Reading INSTALL.MAC.txt ...
It says something about checking the version of your Java...
Must have XCode... Oh good. I did install that a long time ago...

Ah! There it is: I must run "install-ide". This time as non-root.

Ok.
Installing Mitrion-IDE in the Applications folder...
Congratulations, installation was successfull.
That's a typo.


Ok. Now what?

I guess I should go to my "Applications folder".

Yep. There it is: In a folder. The Mitron-IDE application with a cool icon:
(Does anyone know what's the difference between IDE and SDK?)


For some reason I thought the icon would be their luminescent pale woman mascot:


Double clicking...


I am asked to choose where to allocate a "workspace":


And the IDE loads!


The first thing that I notice is that the fonts are too small.
Fortunately, in 8 clicks (using the "type filter text" shortcut) I was able to get to the section where you can start resizing fonts in different areas of the IDE (about 4 clicks per area).

I never bothered to do that becouse there are about 25 areas where the font can be changed. Just counting them was painful.


Ok. Let's try to compile some Mitrion code!

I "File->Open File..." their example from ~/Mitrion/demo/fibonacci.mitc


I click on the button that starts the build process and...

Nothing happens.

I mean nothing. No feedback at all.

It only blinks when I click on it.


Isn't the purpose of IDEs to get me developing faster?
Well, in command line it would be much more faster and more intuitive.


It has been an hour and I just can get to the part that does the actual work!
I see that it's a feature rich tool (only the font resize has 25 sub-features).
The company probably had a small team of full time developers working on it for at least 1 month.

But this does not help me. I only looks impressive but it does not work.



I finally figured out that in order to build fibonacci.mitc I had to create a "New Project" and "link" my file in there. (7 clicks + typing, to create a new project; 12 clicks + typing, to link the file.)




Now clicking on build gave me a progress bar.

Sits on 0% for about 7 seconds...

Yes, it's finally DOING something...



No! :(

Now, it asks me for the Licence Key.

Perfect timing.


Ok.

I'm going to go search for it.
I hit Cancel.

That was a mistake...


Here comes the first bug:

After clicking cancel and trying to Build again the SDK goes back to the old behavior:
Click on the Build button -> Blink -> Nothing Happens

No feedback at all.


Maybe now I should try restarting.

Ok.

Closing Mitrion IDE.

Opening it again.

My Fibonacci file is already there - that's nice.



Build. 0% progress. License key prompt.

I paste my license key.

Oh.

Now the 5372 word license agreement comes up again.

After about 30% of the text is says:


Your use of this software is governed by the above mitrion software
development kit evaluation license. However, the following notices are
provided as required by the applicable license agreement between
Mitrionics and the third parties who have provided the following code
and documentation:

Then it contains:
  1. The Apache Software License, Version 1.1
  2. GNU GENERAL PUBLIC LICENSE Version 2

Going back to the first part, that actually "governs" my use of the SDK, I found a pretty funny part:
9) Force Majeure. Any party shall be excused from performing
hereunder to the extent that it is prevented from performing as a result
of any act or event which occurs and is beyond its reasonable control,
including, without limitation, acts of God, war, acts of terrorism,
weather, utility or telecommunications outages, unrest or riot, strikes
any action of a governmental entity; etc. provided that the party
experiencing the force majeure provides the other with prompt written
notice thereof and uses reasonable efforts to remedy effects of such
matter.
What does that mean?


I click Accept:



Ok.

Now it Builds and Runs.

At the end, it shows a nice "Data Dependency Graph" where I can pan around, zoom, and rearrange things.

Impressive!

Could be useful too.




The Fibonaccis are running down the edges.

Here goes the 8:



Here goes the 13:





I hope I will not have to use this GUI.
It is so good to know that this software comes with command line tools.

Hopefully I will be able to spawn the Data Dependency Graphs from command line too.