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
module adder4 ;
input [3:0] a,b;
input c;
output [3:0] s;
output cy;
boundary [0 0 130 500];
port x[0] aluminum width = 1 origin = [0,35];
port y[0] aluminum width = 1 origin = [0,85];
port c polysilicon width = 2 origin = [70,0];
port s[0] aluminum width = 1 origin = [120,65];
add a0 orgin =[0 , 0];
add a1 orgin =[0 ,120];
endmodule
You have done good work by publishing this article here. I found this article too much informative, and also it is beneficial to enhance our knowledge. Grateful to you for sharing an article like this. Low Cost Physical Design Training Institute
ReplyDeleteDo Irish businesses need different strategies for targeting a local versus global audience? digital marketing ireland
ReplyDelete