Blockly VHDL tutorial

 

This tutorial will learn you how to use Blockly VHDL for making a design in VHDL.
The blocks are used as a template for the VHDL code, where only some variables has to be filled in.

After completion or during the design process the VHDL code can be extracted from the Blockly design by pushing a button on the right screen, the VHDL code will then be displayed at the screen under this button. The code can be copied and pasted in a other third party design tool or it can be saved as a vhdl file on your drive. The blockly design itself can be saved by saving it as xml file, this file can be loaded back again in the design screen.

For ease of use the tutorials can be practiced on the tutorial page (weblink) were only the blocks that are used in the tutorial part are made visible in the menu structure on the left side of the work area.

Another feature is that the design can be simulated with the BlocklyVHDL simulator tool in the browser. The blocklyVHDL simulator tool is not a real VHDL simulator tool but it can be used to simulate blocklyVHDL designs. The difference between a VHDl simulator and this BlocklyVHDl simulator is that a real VHDL simulator takes the VHDL code as the source for its simulation and the BlocklyVHDL simulator takes its source from the the BlocklyVHDL design. To make a simulation run in the browser the simulator tool needs a language that is supported by a browser, in this case Javascript. The idea is to generate a Javascript code that is functional equivalent with the VHDL code, in runnning the Javascript code the VHDL design is then simulated. The trick played is that it uses the same template blocks that generates the VHDL code but now instead is translating it into Javascript. For the simulation some extra blocks were created to setup a testbench for generating the input stimuli and showing the results on the output or internal

signals.

 

For generating the signal diagram in the browser another open source tool is used called WaveDrom. WaveDrom is a JavaScript application using WaveJSON which is a format that describes Digital Timing Diagrams. it is effectifly used to generate signal diagrams that can be used for documentation or presentation or show in a browser by giving in the signal description.

 

 

Ofcourse this can be automated by sending the signal description as a text string to the WaveDrom function, who interpet it and displays the signal diagram.

 

The Javascript code and WaveDrom function is then embedded in a HTML page that has to be saved to the local storage on your PC. After the HTML file is saved it has to be opened manually with a browser, by opening it the Javascript code is autmatically executed, the input stimuli of the testbench is handled and calculated and the result will be shown as a signal diagram in the browser screen.

 

The simulation tool is for now only available for the first tutorial, but will be expanded to the other tutorials in future time by upgrading its coverage of the VHDL features.