HOME       UP       PREV       FURTHER NOTES       NEXT (Behavioural - `Non-Synthesisable' RTL)  

SRTL abstract syntax

Abstract syntax for a synthesisable RTL (Verilog/VHDL) without provision for delays:


datatype ex_t =
    Num of int
  | Net of string
  | Inv of ex_t
  | Query of ex_t * ex_t * ex_t
  | Diadic of diop_t * ex_t * ex_t
  | Subscript of ex_t * ex_t
Imperative commands (might also include a 'case' statement) but no loops.
datatype cmd_t =
    Assign of ex_t * ex_t
  | If1 of ex_t * cmd_t
  | If2 of ex_t * cmd_t * cmd_t
  | Block of cmd_t list
Our top level will be an unordered list of the following sentences:
datatype s_t =
   Sequential of edge_t * ex_t * cmd_t
|  Combinational of ex_t * ex_t

21: (C) 2008-11, DJ Greaves, University of Cambridge, Computer Laboratory.