--- /dev/null
+module AddrMon(
+ input [15:0] addr,
+ input clk,
+ output reg [3:0] digit,
+ output reg [7:0] out,
+ input freeze
+ );
+
+ reg [12:0] clkdv;
+ reg [1:0] dcount;
+
+ reg [15:0] latch = 0;
+
+ wire [3:0] curval =
+ (dcount == 2'b00) ? latch[3:0] :
+ (dcount == 2'b01) ? latch[7:4] :
+ (dcount == 2'b10) ? latch[11:8] :
+ latch[15:12];
+
+ always @ (negedge clk)
+ begin
+ clkdv <= clkdv + 1;
+ if (~freeze)
+ latch <= addr;
+ end
+
+ always @ (posedge clkdv[12])
+ begin
+ dcount <= dcount + 1;
+
+ case(dcount)
+ 2'b00: digit <= 4'b1110;
+ 2'b01: digit <= 4'b1101;
+ 2'b10: digit <= 4'b1011;
+ 2'b11: digit <= 4'b0111;
+ endcase
+
+ case(curval)
+ /* ABCDEFGP */
+ 4'h0: out <= ~8'b11111100;
+ 4'h1: out <= ~8'b01100000;
+ 4'h2: out <= ~8'b11011010;
+ 4'h3: out <= ~8'b11110010;
+ 4'h4: out <= ~8'b01100110;
+ 4'h5: out <= ~8'b10110110;
+ 4'h6: out <= ~8'b10111110;
+ 4'h7: out <= ~8'b11100000;
+ 4'h8: out <= ~8'b11111110;
+ 4'h9: out <= ~8'b11110110;
+ 4'hA: out <= ~8'b11101110;
+ 4'hB: out <= ~8'b00111110;
+ 4'hC: out <= ~8'b10011100;
+ 4'hD: out <= ~8'b01111010;
+ 4'hE: out <= ~8'b10011110;
+ 4'hF: out <= ~8'b10001110;
+ endcase
+ end
+endmodule
--- /dev/null
+NET "xtal" LOC="B8";
+NET "serio" LOC = "p9";
+
+NET "leds<0>" LOC = "j14" ;
+NET "leds<1>" LOC = "j15" ;
+NET "leds<2>" LOC = "k15" ;
+NET "leds<3>" LOC = "k14" ;
+NET "leds<4>" LOC = "e17" ;
+NET "leds<5>" LOC = "p15" ;
+NET "leds<6>" LOC = "f4" ;
+NET "leds<7>" LOC = "r4" ;
+
+NET "switches<7>" LOC="r17";
+NET "switches<6>" LOC="n17";
+NET "switches<5>" LOC="l13";
+NET "switches<4>" LOC="l14";
+NET "switches<3>" LOC="k17";
+NET "switches<2>" LOC="k18";
+NET "switches<1>" LOC="h18";
+NET "switches<0>" LOC="g18";
+
+NET "seven<7>" LOC="L18";
+NET "seven<6>" LOC="F18";
+NET "seven<5>" LOC="D17";
+NET "seven<4>" LOC="D16";
+NET "seven<3>" LOC="G14";
+NET "seven<2>" LOC="J17";
+NET "seven<1>" LOC="H14";
+NET "seven<0>" LOC="C17";
+
+NET "digits<0>" LOC="F17";
+NET "digits<1>" LOC="H17";
+NET "digits<2>" LOC="C18";
+NET "digits<3>" LOC="F15";
+
+NET "buttons<0>" LOC="H13";
+NET "buttons<1>" LOC="E18";
+NET "buttons<2>" LOC="D18";
+NET "buttons<3>" LOC="B18";