⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 read.v

📁 Verilog实现的DDS正弦信号发生器和测频测相模块
💻 V
字号:
module Read
(
Reset,
StoreFlag,
MeasureStart,
SourceDataOne,
SourceDataTwo,
SourceDataThree,
SourceDataFour,
ReadClock,
OutBit,
ReadyFlag,
IndicatorLight
);
input Reset;
input StoreFlag;
input MeasureStart;
input [31:0] SourceDataOne;
input [31:0] SourceDataTwo;
input [31:0] SourceDataThree;
input [31:0] SourceDataFour;
input ReadClock;
output OutBit;
output ReadyFlag;
output IndicatorLight;

reg rIndicatorLight;
assign IndicatorLight = rIndicatorLight;

reg rReadyFlag;
assign ReadyFlag = rReadyFlag;

reg [127:0] SourceData;
reg [6:0] Counter;
reg tempbit;
assign OutBit = tempbit;

//reg rClear;
//assign Clear = rClear;

always @ (posedge Reset or posedge ReadClock)
begin
  if (1 == Reset)
  begin 
    tempbit <= 0;
    Counter <= 7'd0;
  end
  else
  begin
    tempbit <= SourceData[127 - Counter];
    Counter <= Counter + 7'd1;
  end
end


//always @ (posedge Reset or posedge StoreFlag or posedge ReadClock)
always @ (posedge Reset or posedge MeasureStart or posedge StoreFlag)
begin
  if (1 == Reset)
  begin 
    rReadyFlag <= 0;
    rIndicatorLight <= 1;
    SourceData <= 128'd0;
	//rClear <= 0;
    //tempbit <= 0;
    //Counter <= 7'd0;
  end
  else if (1 == MeasureStart)
  begin
    rReadyFlag <= 0;
    rIndicatorLight <= 1;
    SourceData <= 128'd0;
  end
  else //if (1 == StoreFlag)
  begin 
    SourceData[31:0] <= SourceDataOne;
    SourceData[63:32] <= SourceDataTwo;
    SourceData[95:64] <= SourceDataThree;
    SourceData[127:96] <= SourceDataFour; 
    rReadyFlag <= 1;
    rIndicatorLight <= 0;
    //rClear <= 0;
  end
//  else if (0 == StoreFlag)
//  begin
//    rReadyFlag <= 0;
//    rIndicatorLight <= 1;
//  end
  
//  else //if (1 == ReadClock)
//  begin
//    //tempbit = SourceData[127 - Counter];
////    tempbit = SourceData[127];
////    SourceData = SourceData<<1;
////    Counter = Counter + 7'd1;
//    
//    if (7'd127 == Counter)
//    begin
//      rClear <= 1;
//      rReadyFlag <= 0;
//      rIndicatorLight <= 1;
//    end 
//  end
end

endmodule 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -