# Different ways of Digital design representation

A digital design can be represented at various levels from three different angles

• Behavioral
• Structural
• Physical

This can be represented by Y chart

Behavioral Representation

• Specifies how a particular should respond to a given set of inputs
• May be specified by
-Boolean Equations
-Tables of input and output values
-Algorithms written in standard HLL like C/C++
-Algoriths written in special HDL like verilog or VHDL or CHISEL

Example:

———————————–An Algorithm level of description of carry(Cy)———————————-
module carry (cy, a,b,c);
input a,b,c;
output cy;
assign cy = (a&b)|(a&c)|(b&c);
endmodule

——————————Boolean behavioral specification for carry (cy)————————————
primitive carry (cy,a b,c);
input a,b,c;
output cy;
table
// a b c : cy
1 1 ? : 1 ;
1 ? 1 : 1 ;
? 1 1 : 1 ;
0 0 ? : 0 ;
0 ? 0 : 0 ;
? 0 0 : 0 ;
endtable
endprimitive

Structural Representation

• Specifies how components are interconnected
• In general, the description is a list of modules and their interconnects
– called Netlist
– can be represented at various levels
• At Structural Level, levels of abstraction are:
– The module (functional) level
– The Gate level
– The switch level
– The circuit level

Example:
——————————————–Structural Representation—————————————–
module carry (cy , a, b, c);
input a, b, c;
output cy;
wire w1,w2,w3;
and g1 (w1, a, b);
and g2 (w2, a, c);
and g3 (w3, b, c);
or g4 (cy, w1,w2,w3);
endodule

Physical Representation

• The lowest level of physical specification
– Photo-mask information required by various processing steps in the fabrication process.
• At the module level, the physical layout for the adder may be defined by a rectangle or polygon, and collection of ports

Example:
———————————————–Physical representation————————————————-
A possible (partial) physical description of 4 bit adder