Pārlūkot izejas kodu

Изменен алгоритм вычитывания коэфициентов фильтров из памяти.

ChStepan 1 gadu atpakaļ
vecāks
revīzija
3ff83686d0
2 mainītis faili ar 133 papildinājumiem un 7 dzēšanām
  1. 118 0
      src/constrs/S5243Top.xdc
  2. 15 7
      src/src/FftDataFiltering/RomCtrl.v

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 118 - 0
src/constrs/S5243Top.xdc


+ 15 - 7
src/src/FftDataFiltering/RomCtrl.v

@@ -47,13 +47,14 @@ reg [8:0] coefAddr;
 
 reg	changeFlag;
 reg	coefDataVal;
+reg	coefDataValReg;
 
 //================================================================================
 //	ASSIGNMENTS
 //================================================================================
 // assign changeFlag = (decimFactor!= DecimFactor_i);
 assign CoefAddr_o = coefAddr;
-assign CoefDataVal_o = coefDataVal;
+assign CoefDataVal_o = coefDataValReg;
 	
 //================================================================================
 //	CODING
@@ -83,7 +84,7 @@ always @(posedge Clk_i) begin
 		if (changeFlag) begin
 			coefDataVal <= 1'b1;
 		end 
-		if (coefAddr==currBaseAddr+64) begin
+		if (coefAddr==currBaseAddr+63) begin
 			coefDataVal <= 1'b0;
 		end
 	end else begin
@@ -91,7 +92,16 @@ always @(posedge Clk_i) begin
 	end 
 end
 
-always @(*) begin
+always @(posedge Clk_i) begin
+	if (!Rst_i) begin
+		coefDataValReg <= coefDataVal;
+	end else begin
+		coefDataValReg <= 0;
+	end 
+end
+
+
+always @(posedge Clk_i) begin
 	if (!Rst_i) begin
 		if (changeFlag) begin
 			case (DecimFactor_i) 
@@ -125,10 +135,8 @@ end
 
 always @(posedge Clk_i) begin
 	if (!Rst_i) begin
-		if (coefDataVal) begin
-			if (coefAddr!=currBaseAddr+65) begin
-				coefAddr<=coefAddr+1;
-			end
+		if (coefDataValReg) begin
+			coefAddr<=coefAddr+1;
 		end else begin
 			coefAddr <= currBaseAddr;
 		end