Search This Blog

Wednesday 4 December 2013

Interchange data without using third variable in Verilog

We can interchange value with the help of non-blocking statements.

always @ (a or b)
begin
a = 1;
b = 2;
#10;

Difference between Verilog and VHDL


Verilog
VHDL
Verilog isn’t strongly typed language.
VHDL is strongly typed language.
Verilog is case sensitive language.
VHDL is case insensitive language.
Verilog is easy to learn comparatively VHDL.
VHDL is hard to learn comparatively Verilog.

Verilog has simple data types.
VHDL allows creating more complex data types.
Verilog has a lack of library management.
VHDL has a very good library management.

Difference between Function and Task in Verilog


Function
Task
A Function must execute in one simulation time unit.
A Task may execute in non-zero simulation time.
A function can’t contain time-controlling event.
A task can contain time-controlling event.
A function can enable only function, not task.
A task can enable function and task.
A function must have at least one input argument.
A task can have zero or more arguments of any type.
A function returns a single value that is of bit or vector.
A task doesn’t return a value.

Thursday 7 November 2013

Design Round Robin Arbiter using Verilog FSM Coding with Variable Slice Period


Sr. No.
Name of the Pin
Direction
Width
Description
1
Clk
Input
1
Clock Signal
2
Rst
Input
1
Reset Signal
3
Req
Input
4
4 Request Signals
4
Grant
Output
4
4 Grant Signals

Round-robin (RR) is one of the simplest scheduling algorithms for processes in an operating system. As the term is generally used, time slices are assigned to each process in equal portions and in circular order, handling all processes without priority (also known as cyclic executive). Round-robin scheduling is simple, easy to implement, and starvation-free. Round-robin scheduling can also be applied to other scheduling problems, such as data packet scheduling in computer networks. In this Arbiter, we have included one two bit counter. This counter will count no. of clock pulses for grant period of each request signal. In this if in between of counter, the request signal goes low, then grant will be given to other respective request signal and we can save that time slice.

Verilog Code for Vending Machine Using FSM

Sr. No.
Name of the Pin
Direction
Width
Description
1
Nw_pa
Output
1
News Paper Signal
2
Coin
Input
2
Only two Coins,
5 =2’b01
10 =2’b10
0 =2’b00
3
Clk
Input
1
Clock Signal
4
Rst
Input
1
Reset Signal

In this wending machine, it accepts only two coins, 5 point and 10 point. Whenever total of coins equal to 15 points, then nw_pa signal will go high and user will get news paper. It will not return any coin, if total of points exceeds 15 points.