emu: add reset
This commit is contained in:
parent
999d905e99
commit
2cb2efbb07
|
@ -1,6 +1,5 @@
|
|||
#include <nvboard.h>
|
||||
#include <Vtop.h>
|
||||
#include <vga.h>
|
||||
|
||||
static TOP_NAME dut;
|
||||
|
||||
|
@ -9,12 +8,24 @@ void nvboard_quit();
|
|||
void nvboard_update();
|
||||
void nvboard_bind_all_pins(Vtop* top);
|
||||
|
||||
int main() {
|
||||
static void single_cycle() {
|
||||
dut.clk = 0; dut.eval();
|
||||
dut.clk = 1; dut.eval();
|
||||
}
|
||||
|
||||
static void reset(int n) {
|
||||
dut.rst = 1;
|
||||
while (n -- > 0) single_cycle();
|
||||
dut.rst = 0;
|
||||
}
|
||||
|
||||
int main() {
|
||||
nvboard_bind_all_pins(&dut);
|
||||
nvboard_init();
|
||||
|
||||
while(1){
|
||||
reset(10);
|
||||
|
||||
while(1) {
|
||||
nvboard_update();
|
||||
dut.clk = !dut.clk;
|
||||
dut.eval();
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
module top (
|
||||
input clk,
|
||||
input rst,
|
||||
input [7:0] sw,
|
||||
input ps2_clk,
|
||||
input ps2_data,
|
||||
|
@ -35,7 +36,7 @@ wire [23:0] vga_data;
|
|||
|
||||
vga_ctrl my_vga_ctrl(
|
||||
.pclk(clk),
|
||||
.reset(1'b0),
|
||||
.reset(rst),
|
||||
.vga_data(vga_data),
|
||||
.h_addr(h_addr),
|
||||
.v_addr(v_addr),
|
||||
|
@ -49,14 +50,14 @@ vga_ctrl my_vga_ctrl(
|
|||
|
||||
ps2_keyboard my_keyboard(
|
||||
.clk(clk),
|
||||
.resetn(1),
|
||||
.resetn(~rst),
|
||||
.ps2_clk(ps2_clk),
|
||||
.ps2_data(ps2_data)
|
||||
);
|
||||
|
||||
seg mu_seg(
|
||||
.clk(clk),
|
||||
.rst(0),
|
||||
.rst(rst),
|
||||
.o_seg0(seg0),
|
||||
.o_seg1(seg1),
|
||||
.o_seg2(seg2),
|
||||
|
|
Loading…
Reference in New Issue