Professional Documents
Culture Documents
z
Thc hnh nng cao
B CNG THNG
TR N
N-
T U T
N T
T
Tng quan v
N NN
O
i
DL v thit k Sequential Logic Using
UDP dng Verilog
Ging vi n h ng dn
: Th.s h c
:
o ng
Nh m 14:
1. ip Th Nh n
2.Nguyn Ngc Tun
3.Nguyn Th Nhung
4.L Minh a
L p : DT17AHN
Kh 2008-2011
H
Nhm 14
P N
TN
Mc Lc:
1: ................................................................................................................... 6
QU N V
DL ........................................................................................ 6
1.1. M u .................................................................................... 6
1.2. Khi nim ................................................................................. 6
1.3. Nhng u im c phng php thit k h thng s bng ngn ng m t phn
cng HDL...7
1.4. Gi i thiu ngn ng m t phn cng VHDL ..................................... 8.9
U V VER LO ................................................................................ 12
..................................................................... 12
II. CHC NNG CC T VNG TRONG VERILOG ............................. 12
I. Tng qu n v verilog
...................................................................... 17
Nhm 14
P N 3
MT S V D33
I. Cu trc mt chng trnh dng ngn ng Verilog: ................................................ 33
1. V d 1: .................................................................................................................... 33
. Chng trnh tnh NOR cc bit c bin vo ........................................................... 33
b. M phng ................................................................................................................. 33
2. V d 2: .................................................................................................................... 34
. Chng trnh cng h i bin bn bit ......................................................................... 34
b. M phng ................................................................................................................. 34
3. V d 3: .................................................................................................................... 35
. Chng trnh gii m 2 s ng 4 ................................................................................. 35
b.m phng...............36
.4.vi d 437
a. dn k nh 4 s ng 2..........37
b.m phng..38
Nhm 14
P N 447
i T p: ..................................................................................... 47
T
T
SEQUENT L LO
US N UDP DN
VERILOG. ..47,48,49
Kt lun ........................................................................................................................ 50
Ti liu th m kho: ...................................................................................................... 51
Nhm 14
P N
TN
QU N V
DL
1.1. M u
Ngy ny ngnh cng ngh ch to phn cng lun c nhng t
ph khng ngng. T cc mch in n gin n cc mch s, mch
tch hp, kin trc mch tr n n ngy mt phc tp hn. Nh nhng u
im hn hn so v i cc phng php phn tch, m hnh ho, thit k
mch s kiu truyn thng m phng php s dng cc ngn ng m
phng phn cng( HDL-H rd w re Description L ngu ges ) ng tr
thnh mt phng php thit k cc h thng in t s ph bin tr n
ton th gi i. Trong khun kh phm vi c bi bo ny chng ti xin
gi i thiu mt loi ngn ng m phng phn cng l VHDL (Very
high speed intergr ted circuit H rdw re Description L ngu ge), loi
ngn ng ch yu c s dng m phng phn cng trong cng
ngh CPLD, FPGA, ASIC
1.2
hi nim
Nhm 14
- Bao gm nhng k hiu biu din thi gian v s1ng thi (time and
concurrence)
1.4.
Nhm 14
Nhm 14
DL trong verilog
/**
* A behavioural model of a pipelined MAC unit. The two 4-bit
inputs are
* multiplied in an 8-bit multiplier, with the result added to a 10-bit
* accumulator. The number of pipe stages is set by the 'stages'
parameter,
* which defaults to 1.
*
* RST Synchronous reset
* C Clock
* A[3:0] Data Input
* B[3:0] Data Input
* Q[9:0] Accumulator output
*/
module MAC1
(input RST, CLK,
input [3:0] A, B,
output [9:0] Q);
parameter stages = 1;
reg [7:0]
Nhm 14
mul;
10
reg [9:0]
integer
sum[stages-1:0];
i;
Nhm 14
11
P N 2
TM
I. TN
U V VER LO
QU N V VER LO
Nhm 14
12
II.
NN
T VN
TRON
VER LO
Nhm 14
13
7. T khaVerilog:
N TRON
VER LO
GATE (drive_strength)#(delays)
T n t kh cng _t n (output, input_1, input_2, , input_N);
Delay: #( l n, xung) hoc #l n_vxung hoc #( l n_vxung)
Nhm 14
14
1.2. V d:
T n t kh
2.2. V d:
D L
I. t gi tr:
15
Nhm 14
16
Nhm 14
17
III. Time:
Nhm 14
18
V. TON T
I. Ton t s hc:
Nhm 14
19
V. Ton t bin i:
Nhm 14
20
Ton t
[]
Tn
V .TON
21
Nhm 14
22
Input c, b;
Chk_bc = b^ c;
Endfunction
IV. Wire, reg, v tham s:
23
Cc ch nh li n tip c dng gn mt gi tr l n tr n mt
wire trong mt module. l cc ch nh thng thng b n ngoi
khi lw ys hoc khi initi l. Cc ch nh li n tip c thc hin
v i mt lnh gn ( ssign) r rng hoc bng s ch nh mt gi tr
n mt wire trong lc kh i bo. Ch rng, cc lnh ch nh li n
tip th tn ti v c chy li n tc trong sut qu trnh m
phng. Th t cc lnh gn khng qu n trng. Mi th y i b n
phi c bt c ng vo s lp tc th y i b n tri c cc ng r .
1. C php:
Wire bin wire = gi tr;
Assign bin wire = biu thc;
2. V d
Wire [ 1:0 ] = 2b 01;
Assign b = c &d;
Assign d = x | y;
III. Module instantiations:
2. V d
// nh ngh module
module and4(a,b,c);
input [3:0]a,b;
Nhm 14
24
output [3:0]c;
assign c = a&b;
endmodule
// module instantiations
wire [3:0] in1, in2;
wire [3:0] o1, o2;
// t v tr
and4 C1(in1, in2,o1);
// tn
and4 C2(.c(o2), .a(in1), .b(in2));
V
U N MU
V ( E
V OR L)
25
intra_assignment delay:
bin = #t biu thc.
III. Ch nh khi:
Nhm 14
26
V. Vng lp for:
Vng lp while thc hin nhiu ln mt lnh hoc khi lnh cho
n khi biu thc trong lnh while nh gi l s i.
1. C php:
While (biu thc)
Begin
cc lnh
End
VII. Khi lnh if else if else:
Nhm 14
27
end
VIII. Case:
default:
begin
cc lnh
end
endcase
X.
LW YS V
NT
I. Khi always:
Nhm 14
28
29
#50 = 2b10;
End
X. HM
NN
LN
Nhm 14
30
Nhm 14
31
Nhm 14
32
PHN 3: MT S V D
1.V D 1
a.Chng trnh tnh NOR cc bt ca bin vo
module vdcong(in,out);
input[3:0] in;
output out;
assign out= ~|in;
endmodule
b. M phng
Nhm 14
33
2.v d
.chung trnh cng 2 bin 4 bt
.M
Nhm 14
P N
34
3. v d 3
a. Chung trnh gii m 2 sang 4
Nhm 14
35
.m phng
Nhm 14
36
4. v d 4
a.B dn knh 2 sang 1
Nhm 14
37
. m phng
Nhm 14
38
5.v d 5
.chng trnh chuyn i BCD s ng 7 on
Nhm 14
39
Nhm 14
40
b.m phng
6.v d 6
a. Chng trnh gimt 0 xung 9, hin th ra led 7 on
Nhm 14
41
Nhm 14
42
. m phng
Nhm 14
43
7. v d 7
a. chng trng tng t 0 n 9 hin th ra led 7 on
Nhm 14
44
Nhm 14
45
.m phng
Nhm 14
46
//CC PHN
//
P P T
T DN
T
P N
P P S U
D LACTH
1 primitive latch_udp(q, clock, data) ;
2 output q; reg q ;
3 input clock, data;
Table
4 // clock data
q
q+
0
1
: ? : 1 ;
0
0
: ? : 0 ;
1
?
: ? : - ; // - = no change
5 endtable
6 endprimitive
D Flip Flop
1 //---------------------------------------------------2 // Design Name : dff_udp
3 // File Name
: dff_udp.v
4 // Function
: D Flip Flop
5 // Coder
: Deepak Kumar Tala
6 //---------------------------------------------------7 primitive dff_udp (q,clk,d);
8
input clk,d;
Nhm 14
47
9
output q;
10
reg q;
11
table
12
// clk d
13
r 0
14
r 1
15
f ?
16
? *
17
endtable
18 endprimitive
:
:
:
:
:
q
?
?
?
?
:
:
:
:
:
q+
0 ;
1 ;
- ;
- ;
SR Flip Flop
1 primitive srff_udp (q,s,r);
2 output q;
3 input s,r;
4
5 reg q;
6
7 initial q = 1'b1;
8
9 table
10
// s r q q+
11
1 0 : ? : 1 ;
12
f 0 : 1 : - ;
13
0 r : ? : 0 ;
14
0 f : 0 : - ;
15
1 1 : ? : 0 ;
16 endtable
17
18 endprimitive
Nhm 14
48
JK Flip Flop
1 //---------------------------------------------------2 // Design Name : jkff_udp
3 // File Name
: jkff_udp.v
4 // Function
: JK Flip Flop Using UDP
5 // Coder
: Deepak Kumar Tala
6 //---------------------------------------------------7 primitive jkff_udp (q,clk,j,k);
8 input clk,j,k;
9 output q;
10 reg q;
11 table
12
// clk j k : q : q+
13
r 0 0 : ? : - ;
14
r 0 1 : ? : 0 ;
15
r 1 0 : ? : 1 ;
16
r 1 1 : 0 : 1 ;
17
r 1 1 : 1 : 0 ;
18
f ? ? : ? : - ;
19
? * ? : ? : - ;
20
? ? * : ? : - ;
21 endtable
22 endprimitive
Nhm 14
49
t lu n
Vic ging dy phng php thit k s dng Verilog l rt cn thit i v i
sinh vi n in t vin thng - cng ngh thng tin. i v i sinh vi n th vic
trin kh i nghi n cu v ng dng c Verilog trnh by tr n qu thc
rt c ngh . Hiu qu c vn khng phi ch l nm bt c nhng
tin b m i c kho hc n i chung, cng ngh ch to phn cng n i ri ng
m chnh Verilog s l mt phng thc h tr ging dy tht hu hiu, n
s gip cho cc mn hc vi x l, kin trc my tnh, tr n n b t tru tng
hn. Hin n y Verilog v ng c s dng rt ph bin trong cc
phng thc hnh th nghim in t-Vin thng cc trng i hc tr n
th gi i, v ng c nhiu cng ty in t - vin thng - tin hc s dng
thit k, pht trin cc sn phm c mnh.. Cc mn hc phng php
thit k s dng Verilog s tr ng b cho sinh vi n mt phng php thit k
cc h thng s ti n tin t sinh vi n c th phn tch v thit k c cc
thit b, h thng in t s ng dng trong ngnh in t - vin thng c
hiu qu c o. Do thi lm bi tp c hn v nhng hn ch khng trnh khi
c vic hiu bit cc vn d tr n l thuyt l chnh n n bi tp c
nh m em chc chn khng trnh khi nhng thiu s t. Chung em rt mong
c c nhng kin nh gi, g p c cc thy v cc bn bi tp c
chng em th m hon thin.
S u thi gi n lm bi tp. Chng em rt r c rt nhiu kinh
nghim cho bn thn, cng l nh vo s ch dy nhit tnh c cc thy
c v s gip c cc bn.
Chng em xin chn thnh cm n !
i
Nhm 14
Nhm 14
50
Nhm 14
51