فهرست منبع

Гит не реагирует на исправление имени файла. Исправляю через 2 комита.

ChStepan 1 سال پیش
والد
کامیت
b90c112537
1فایلهای تغییر یافته به همراه0 افزوده شده و 119 حذف شده
  1. 0 119
      src/src/SPIm/SPIm.v

+ 0 - 119
src/src/SPIm/SPIm.v

@@ -1,119 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////////////////
-// Company:         TAIR
-// Engineer:        Chigrinskiy A.  
-// 
-// Create Date:     18/04/2024 
-// Design Name: 
-// Module Name:     SPIm
-// Project Name:    SB_TMSG44V1_FPGA
-// Target Devices:  Board: SB_TMSG44v1. FPGA: GW1N-LV9PG256C6/I5
-// Tool versions:
-// Description:     This module implements SPI master interface
-//
-// Dependencies:  
-// Revision: 
-// Revision 1.0 - File Created
-// Additional Comments: 
-//
-////////////////////////////////////////////////////////////////////////////////////////////
-module SpiM #(
-    parameter DATA_WIDTH = 24
-)(
-    input Clk_i,
-    input Rst_i,
-    input Val_i,
-    input [DATA_WIDTH-1:0] SpiData_i,
-
-    output Ss_o,
-    output Mosi_o,
-    output Sck_o,
-    output Busy_o
-);
-
-//================================================================================
-//FUNCTIONS
-//================================================================================
-function integer log2;
-input [31:0] value;
-	begin
-		log2 = 0;
-		while (value > 1) begin
-			value   = value >> 1;
-			log2    = log2 + 1;
-		end
-		if	((2**log2)<DATA_WIDTH)	begin
-			log2	=	log2+1;
-		end	
-	end
-endfunction
-
-//================================================================================
-//	REG/WIRE
-//================================================================================
-reg [log2(DATA_WIDTH)-1:0] ssCnt;
-reg [DATA_WIDTH-1:0] mosiReg;
-reg	ssReg;
-
-//================================================================================
-//  ASSIGNMENTS
-//================================================================================
-assign Ss_o = ssReg;
-assign Mosi_o = (!ssReg) ? mosiReg[DATA_WIDTH-1] : 1'b0;
-assign Sck_o = (!ssReg) ? Clk_i : 1'b0;
-assign Busy_o = !ssReg;
-
-//================================================================================
-//	CODING
-//================================================================================
-always @(negedge Clk_i) begin 
-    if (Rst_i) begin 
-        ssCnt <= 7'h0;
-    end
-    else begin
-        if (ssCnt == 0) begin 
-            if (Val_i) begin 
-                ssCnt <= ssCnt + 1;
-            end
-        end
-        else begin 
-            if (ssCnt < DATA_WIDTH) begin 
-                ssCnt <= ssCnt + 1;
-            end
-            else begin 
-                ssCnt <= 7'h0;
-            end
-        end
-    end
-end
-
-always @(negedge Clk_i) begin 
-    if (Rst_i) begin 
-        mosiReg <= 0;
-    end
-    else begin 
-        if (!ssReg) begin 
-            mosiReg <= mosiReg << 1;
-        end
-        else begin
-            if (Val_i) begin
-                mosiReg <= SpiData_i;
-            end
-        end
-    end
-end
-
-always @(negedge Clk_i) begin 
-    if (Rst_i) begin 
-        ssReg <= 1'b1;
-    end
-    else begin 
-        if (ssCnt < DATA_WIDTH) begin 
-            ssReg <= 1'b0;
-        end
-        else begin 
-            ssReg <= 1'b1;
-        end
-    end
-end
-
-endmodule