Beruflich Dokumente
Kultur Dokumente
----------------------------
always- procedural assignment- used to model both sequential and combo model. It
always monitors the signals in its sensitiivty list and runs the commands in its
module whenever the signal changes.
no driver is required, signals inside are to be reg type and can use blocking and
non blocking depending upon the logic.
assign- keyword for continous assignment, needs a driver and has to be a net on
LHS, can have reg or net on RHS, i,e multiple FAN-OUT and they are handled by
resolution table
attritbute - ??
case - used to model case statements end with endcase. full case (all combination
with default) or partial case (no default or not all combinations)
parallel case --> if there is only and only one combo possible and it is not
possible to find another combination.
overlapping or non-parallel case --> if in parallel case another combo is possible
endattribute - ??
endspecify - used to specify the end of specific module - used to declare pin-pin
delays or from input to output.
endtable - used in creation of a UDP starts with table and ends with endtable, like
when writing a truth table to create our own UDP
endtask - end the task (subroutines with/withput enhaving the simulation time)
event - used to trigger a named event, then this event is defined in an another
module named with it. (--> is used to trigger and event)
like always @ (posedge clk)
out-->trigger
module trigger;
asdas
endmodule
forever- it is same as while (1) the loop runs forever, untill stopped from
outside.
fork - sued to model concurrent statements. everything inside it will run with
respect to the current simulation time. unlike
initial block where it sinulation advances in a sequential manner.
module ex;
reg a,b,c;
always @ (s)
fork
#5 a = 1;
#3 b = 0;
join
endmodule
this will result in 3 time units b= 0 and then 5 time units a=1; if it has been
begin-end then the simulation would have been
5 time units a=1 and then 8 time units b = 0; in begin-end the current simulation
time is updated and in fork it is not
function - used to model recurring logic like conversions and calculation. it does
not advance the simulation time.
it cannot call another task but a fucntion. it can take only inputs in its
defination. it returns a single value as output
this value is passed to the respective port or reg. it cannot cintain any delay,
timing.
highz0 - this is the least capactive strength
highz1- this is the least capactive strength
ifnone - it is used in specify block to declare the a condition when all other
possible path delays conditions are not met,
it is a default delay value in such a case
initial - procedural assignment used to run the statemtns only once, it runs only
once and once in the entire simulation
used in testbench to initialze the signals. signals in verilog are updated first.
inout- keyword for bi-dir ports (they are always net type whether internal or
external connection).
input - keyword for input port (always a reg type for external connection and wire
type in internal connection)
join - fork-join used to run commands in parallel fashion with respect to a fixed
simulation time
medium - strength level for the driver, medium capacitance like in case of tri
module - defination start of a module or a h/w block inside it the h/w behaviour is
defined
output - keyword to declare port as output - default wire can be reg also.
internally - wire or reg....externally always wire (net)
real - 32 bit real number like real time-shows the value of current simulation time
in real numbe format
realtime - 32 bit real number like real time-shows the value of current simulation
time in real numbe format
rtran - ??
rtanif0-??
rtranif1-??
scalared-??
specparam - used inside the above module for definign the local parameters in the
above modules
tran-??
tranif0-??
tranif1-??
vectored-??
wand- wired and logic like in case of 7 segment the diodes anode is kept at wand
since its open collector formation.
wor - wired OR