The Easiest Way to Create Digital Waveforms in Microsoft Excel

No more manual waveform construction in Excel! Thank you Daniel Jazbec! Thank you Upwork! With Wavecel, you have arrived!

https://www.youtube.com/watch?v=tFHwoKAkbuc


https://github.com/ananthchellappa/excel/blob/master/files/Waves.bas

How I use it : In your PERSONAL.XLSB (Personal Macro Workbook), under Modules, create a new module and put Daniel's code (above file from GitHub) there. 

In the Microsoft Excel Objects > ThisWorkbook module, add :

Option Explicit

Private Sub Workbook_Open()

    Application.OnKey "^%w", "PERSONAL.XLSB!createWave " 'CTRL-ALT-W to create waveform"  

End Sub

You get the idea - if you already have a Workbook_Open subroutine, add this Application.OnKey line and then you're ready to rock with CTRL-ALT-W.

Input

Type

Effect

Selection of cells in a row

Value

Tells the tool the max length of the output

Selection of entire row

Value

If an M (Max, Eg M25) command now exists in the selection, it is used to generate the specified number of cells of output, else only 10, with "err: M" message

W1 (or 2,3)

Command

What width of line to generate. Default : 2

M20 (M followed by number)

Command

Specifies number of output cells to generate when entire row selected

X

Value

Generate bus transition in this cell

'= or '=VALUE

Value

Single quote because Excel doesn’t permit just starting with = since that indicates a formula
EG : =0xAB => fill cell with 0xAB and have the borders

T

Value

Generate transition in this cell (tool figures out high-to-low or vice-versa)

T30 (T followed by number)

Value

Generate transition and set the width of the cell to 30 percent of width of the logic value cells

AT

Command

“All transitions” – after every logic cell, there will be a transition cell

AT40 (AT followed by number)

Command

“All transitions” and transition cells are 40% the width of logic cells

0, 1 or U

Value

Overrides the value of the cell. When starting, tool always assumes first logic value is 0 unless user specifies a 1 or a U (unknown). If a square wave is desired, just have a single command or a single 0 (because tool currently needs at least one command or value). To generate a different waveform, override individual cells downstream

E

Command

If "Explicit" specified, then logic value doesn't change from cell to cell. Rather, it retains previous value and a new value has to be specified explicitly




Comments

Popular Posts