Subversion Repositories pentevo

Rev

Rev 896 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 lvd 1
   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
2
 I | I | I | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | I | I | I | - number of cycles left in block
3
   |   |   | 4 | 4 | 4 | 4 | 3 | 2 | 1 | 0 | 4 | 3 | 2 | 1 | 0 | 0 | 0 | 0 |   |   |   | - number of video cycles left in block
4
   |   |  r|  r|  r|  r|  r|  -|  -|  -|  -|   |   |   |   |   |   |   |   |   |   |   | - cpu requests
5
   |   |   | z | z | z | z | v | v | v | v | z | v | v | v | v |   |   |   |   |   |   | - cycle type
6
   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
7
   |   |   | 3 | 2 | 2 | 1 | 0 | 0 | 0 | 0 | 4 | 3 | 2 | 1 | 0 | 0 | 0 | 0 |   |   |   | - number of video cycles left in block
8
   |   |   |   |  r|   |   |   |   |  r|  r|   |   |   |   |   |   |   |   |   |   |   | - cpu requests
9
   |   |   | v | v | z | v | v |   |   | z | z | v | v | v | v |   |   |   |   |   |   | - cycle type
10
   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
11
   |   |   | 4 | 4 | 3 | 3 | 3 | 2 | 1 | 0 | 4 | 4 | 3 | 3 | 3 | 2 | 1 | 0 |   |   |   |
12
   |   |  r|  r|   |  r|  r|   |  r|  -|  -|  r|   |  r|  r|   |  r|  -|  -|  r|   |   |
13
   |   |   | z | z | v | z | z | v | v | v | z | z | v | z | z | v | v | v | z | z |   |
14
   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
15
   |   |   | S | S | S | S | S | S | S | S | S | S | S | S | S | S | S | S |   |   |   | - stall cycles (BW=1)
16
   |   |  r|  -|  -|  -|  -|  -|  -|  -|  -|  -|  -|  -|  -|  -|  -|  -|  -|   |   |   |
17
   |   |   | v | v | v | v | v | v | v | v | v | v | v | v | v | v | v | v | z |   |   |
18
   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
19
 
20
rules:
21
 
22
if nexttype=idle and cpureq then next=cpu
23
if nexttype=idle and no cpureq then next=rfsh
24
 
25
if nexttype=stall then next=video
26
 
27
if nexttype=block then // block is when BW<1, else stall
28
begin
29
	if cpureq then
30
	begin
31
		if blk_rem==0 or blk_rem!=vid_rem then next=cpu else next=video
32
	end
33
	else // no cpureq
34
	begin
35
		if vid_rem!=0 then next=video else next=rfsh
36
	end
37
end
38
 
39
 
40
// trace blk_rem and vid_rem
41
 
42
if currtype==idle or (currtype==block and blk_rem==0)
43
begin
44
	if go then nexttype=block, blk_nrem=7
45
	else nexttype=idle, blk_nrem=0
46
 
47
	if
48
 
49
end
50
else // currtype==block and blk_rem!=0
51
begin
52
	blk_nrem=blk_rem-1
53
end
54
 
55
always @(posedge clk) blk_rem<=blk_nrem;
56
 
57