Added soclet with gpio banks to top
This commit is contained in:
@@ -22,38 +22,36 @@ module top_generic(
|
||||
.clk_out_15(clk_15)
|
||||
);
|
||||
|
||||
reg [11:0] count;
|
||||
localparam integer DIV_MAX = 100_000 - 1; // 1 ms tick at 100 MHz
|
||||
reg [16:0] div_counter = 0; // enough bits for 100k (2^17=131072)
|
||||
reg [31:0] freq;
|
||||
always @(posedge clk_15) begin
|
||||
if (!aresetn) begin
|
||||
div_counter <= 0;
|
||||
count <= 0;
|
||||
end else begin
|
||||
if (div_counter == DIV_MAX) begin
|
||||
div_counter <= 0;
|
||||
if (count == 12'd3999)
|
||||
count <= 0; // wrap at 4000
|
||||
else
|
||||
count <= count + 1'b1; // increment every 1 ms
|
||||
end else begin
|
||||
div_counter <= div_counter + 1'b1;
|
||||
end
|
||||
end
|
||||
freq <= count;
|
||||
end
|
||||
wire [31:0] GPIO_A;
|
||||
wire [31:0] GPIO_B;
|
||||
wire [31:0] GPIO_C;
|
||||
wire [31:0] GPIO_D;
|
||||
|
||||
soclet #(
|
||||
.memfile("../sw/sweep/sweep.hex")
|
||||
) mcu (
|
||||
.i_clk(clk_15),
|
||||
.i_rst(!aresetn),
|
||||
.i_GPI_A(GPIO_A),
|
||||
.i_GPI_B(GPIO_B),
|
||||
.i_GPI_C(GPIO_C),
|
||||
.i_GPI_D(GPIO_D),
|
||||
.o_GPO_A(GPIO_A),
|
||||
.o_GPO_B(GPIO_B),
|
||||
.o_GPO_C(GPIO_C),
|
||||
.o_GPO_D(GPIO_D)
|
||||
);
|
||||
|
||||
|
||||
wire [15:0] sin_q15;
|
||||
wire clk_en;
|
||||
nco_q15 #(
|
||||
.CLK_HZ(15_000_000),
|
||||
.FS_HZ(40_000)
|
||||
.FS_HZ(80_000)
|
||||
) nco (
|
||||
.clk (clk_15),
|
||||
.rst_n (aresetn),
|
||||
.freq_hz(freq),
|
||||
.freq_hz(GPIO_A),
|
||||
.sin_q15(sin_q15),
|
||||
.cos_q15(),
|
||||
.clk_en (clk_en)
|
||||
|
||||
Reference in New Issue
Block a user