-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.v
51 lines (44 loc) · 1.13 KB
/
main.v
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
module main;
// para la ram
parameter AdBus=5, DataBus=5;
wire [AdBus-1:0] Address;
wire CS, WE, OE;
wire [DataBus-1:0] DataMem;
// para el secuenciador y el decodificador de tiempos en el testbench
reg clock, reset;
// para monitorear la carga del programa
integer i;
reg [AdBus-1:0] rAddress;
reg rCS, rWE, rOE;
assign Address=rAddress;
/*assign CS=rCS; assign WE=rWE; */
assign OE=rOE;
RamChip #(.ABus(AdBus), .DBus(DataBus)) RAM1(Address, DataMem, CS, WE, OE);
Cpu #(.ABus(AdBus), .DBus(DataBus)) cpu(clock, reset, Address, DataMem, CS, WE, OE);
/*
initial begin
$display("Time\tAdd\tData");
$monitor("%3t\t%d\t%d", $time, Address, DataMem);
reset=0; clock=0;
#10; // esperar la carga del prog.
rWE=1; rCS=0; rOE=0;
reset=1;
for(i=0; i<30; i=i+1) begin
rAddress=i;
#10;
end
end // este bloque consume 300 ns
*/
/*
initial begin
#301 $monitor("t:%4t\tResetSEQ:%d\ttn:%d", $time, ResetSEQ, t);
end
*/
initial begin
reset=0; clock=0;
#1 reset=1;
#299 reset=0; clock=0;
forever #10 clock=~clock;
end
initial #1000 $finish;
endmodule