Преглед на файлове

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

ChStepan преди 1 година
родител
ревизия
3ff83686d0
променени са 2 файла, в които са добавени 133 реда и са изтрити 7 реда
  1. 118 0
      src/constrs/S5243Top.xdc
  2. 15 7
      src/src/FftDataFiltering/RomCtrl.v

Файловите разлики са ограничени, защото са твърде много
+ 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