CoreTop.bit: CoreTop.ut CoreTop.ncd
bitgen -f CoreTop.ut CoreTop.ncd
+netgen/par/CoreTop_timesim.v: CoreTop.twr CoreTop.ncd
+ netgen -ise FPGABoy.ise -s 5 -pcf CoreTop.pcf -sdf_anno true -sdf_path "netgen/par" -insert_glbl true -insert_pp_buffers false -w -dir netgen/par -ofmt verilog -sim CoreTop.ncd CoreTop_timesim.v
+
+netgen/par/.CoreTop_timesim.v_work: netgen/par/CoreTop_timesim.v
+ vlogcomp netgen/par/CoreTop_timesim.v
+ vlogcomp /home/joshua/projects/fpga/ise/Xilinx101/verilog/src/glbl.v
+
+CoreTop_isim_par.exe: netgen/par/.CoreTop_timesim.v_work
+ fuse -lib simprims_ver -lib unisims_ver -lib unimacro_ver -lib xilinxcorelib_ver -o CoreTop_isim_par.exe netgen/par/CoreTop_timesim.v -top CoreTop -top glbl
+
+parsim: CoreTop_isim_par.exe
+
%.o: %.asm
rgbasm -o$@ $<
CoreTop_%.svf: CoreTop_%.bit impact.cmd
sed -e s/XXX/$(subst .bit,,$<)/ < impact.cmd > tmp.cmd
impact -batch tmp.cmd
+
+parsim: CoreTop
+
\ No newline at end of file
CPUDCM dcm (.CLKIN_IN(xtal), .CLKFX_OUT(clk));
wire cclk;
- IBUFG ibuf (.O(cclk), .I(switches[0]));
+// IBUFG ibuf (.O(cclk), .I(switches[0] & clk));
+ assign cclk = clk;
wire [15:0] addr;
wire [7:0] data;
wire irq, tmrirq;
wire [7:0] jaddr;
wire [1:0] state;
-
+
GBZ80Core core(
- .clk(cclk),
+ .clk(clk),
.busaddress(addr),
.busdata(data),
.buswr(wr),
.out(seven),
.freeze(buttons[0]),
.periods(
- (state == 2'b00) ? 4'b1000 :
- (state == 2'b01) ? 4'b0100 :
- (state == 2'b10) ? 4'b0010 :
- 4'b0001) );
+ (state == 2'b00) ? 4'b0010 :
+ (state == 2'b01) ? 4'b0001 :
+ (state == 2'b10) ? 4'b1000 :
+ 4'b0100) );
Switches sw(
.address(addr),
wire [7:0] leds;
wire [7:0] switches;
- always #10 clk <= ~clk;
+ always #62 clk <= ~clk;
GBZ80Core core(
.clk(clk),
.busaddress(addr),