adc_tcl5510.v

来自「ADC TLC5510的测试程序」· Verilog 代码 · 共 69 行

V
69
字号
module ADC_TCL5510(clk,Res,AD_d,ADclk,ADOE,data,data_lock);
  input clk;//采样时钟输入
  input Res;//复位
  input [7:0]AD_d;//8位AD数据
  output ADclk;//到TCL5510的CLK
  output ADOE;//到TCL5510的OE(使能)
  output [7:0]data;//8位数据
  output data_lock;//数据输出锁存信号
  reg ADclk;//到TCL5510的CLK
  reg ADOE;//到TCL5510的OE(使能)
  reg [7:0]data;//8位数据
  reg data_lock;//数据输出锁存信号
  
  reg lock;
  reg [1:0]State; 
  
  parameter S0=2'b00,
            S1=2'b01;

  always@(posedge clk or negedge Res)
    begin
      if(!Res)
        begin
          State<=S0;
          ADOE<=1'b1;
        end
      else
        begin 
        Do_ADC;
        if(lock)
          begin
            data<=AD_d;
          end
        end
    end
    
    task Do_ADC;
      begin
        case(State)
          S0:
          begin
            ADclk<=1'b1;
            lock<=1'b1;
            data_lock<=1'b0;
            ADOE<=1'b0;
            State<=S1;
          end

          S1:
          begin
            ADclk<=1'b0;
            lock<=1'b0;
            data_lock<=1'b1;
            ADOE<=1'b0;
            State<=S0;
          end
      
          default:
          begin
            ADclk<=1'b0;
            lock<=1'b0;
            data_lock<=1'b1;
            ADOE<=1'b1;
            State<=S0;
          end
        endcase
      end
    endtask
endmodule

⌨️ 快捷键说明

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