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

📄 send_to_dsp.v

📁 基于ATEREAL EPM1270T144C5N CPLD 压力传感器数据采集源码 开发软件 Quartus II
💻 V
字号:
module send_to_dsp(cs,dsp_clk,rst,ad_in_lz,ad_in_zx,ad_in_hx,code_in1,code_in2,pwm_cout,data_out);
input       cs;
input       dsp_clk;
input       rst;
input[23:0] ad_in_lz;
input[23:0] ad_in_zx;
input[23:0] ad_in_hx;
input[31:0] code_in1;
input[31:0] code_in2;
input[31:0] pwm_cout;
output[7:0] data_out;
reg[7:0]    data_out;
reg[4:0]    now_st;
reg[4:0]    next_st;

parameter   D1=5'b00000;
parameter   D2=5'b00001;
parameter   D3=5'b00010;
parameter   D4=5'b00011;
parameter   D5=5'b00100;
parameter   D6=5'b00101;
parameter   D7=5'b00110;
parameter   D8=5'b00111;
parameter   D9=5'b01000;
parameter   D10=5'b01001;
parameter   D11=5'b01010;
parameter   D12=5'b01011;
parameter   D13=5'b01100;
parameter   D14=5'b01101;
parameter   D15=5'b01110;
parameter   D16=5'b01111;
parameter   D17=5'b10000;
parameter   D18=5'b10001;
parameter   D19=5'b10010;
parameter   D20=5'b10011;
parameter   D21=5'b10100;

always @(posedge dsp_clk or negedge rst)
begin
if(!rst)
  now_st<=5'b0;
else
  now_st<=next_st;
end
 
always @(cs or now_st)
begin
   case(now_st)
     D1:if(cs==1'b0)
          next_st<=D2;
        else
          next_st<=D1;
     D2:next_st<=D3;
     D3:next_st<=D4;
     D4:next_st<=D5;
     D5:next_st<=D6;
     D6:next_st<=D7;
     D7:next_st<=D8;
     D8:next_st<=D9;
     D9:next_st<=D10;
     D10:next_st<=D11;
     D11:next_st<=D12;
     D12:next_st<=D13;
     D13:next_st<=D14;
     D14:next_st<=D15;
     D15:next_st<=D16;
     D16:next_st<=D17;
     D17:next_st<=D18;
	 D18:next_st<=D19;
	 D19:next_st<=D20;
	 D20:next_st<=D21;
	 D21:next_st<=D1;	
 default:next_st<=D1;
   endcase
end

always @(posedge dsp_clk or negedge rst)
begin
if(!rst)
  data_out<=8'b0;
else if(cs==1'b0)
  case(now_st)
      D1:data_out<=ad_in_hx[23:16];
      D2:data_out<=ad_in_hx[15:8];
      D3:data_out<=ad_in_hx[7:0];
      D4:data_out<=ad_in_zx[23:16];
      D5:data_out<=ad_in_zx[15:8];
      D6:data_out<=ad_in_zx[7:0];
      D7:data_out<=ad_in_lz[23:16];
      D8:data_out<=ad_in_lz[15:8];
      D9:data_out<=ad_in_lz[7:0];
      D10:data_out<=code_in1[31:24];
      D11:data_out<=code_in1[23:16];
      D12:data_out<=code_in1[15:8];
      D13:data_out<=code_in1[7:0];
      D14:data_out<=code_in2[31:24];
      D15:data_out<=code_in2[23:16];
      D16:data_out<=code_in2[15:8];
      D17:data_out<=code_in2[7:0];
	  D18:data_out<=pwm_cout[31:24];
	  D19:data_out<=pwm_cout[23:16];
	  D20:data_out<=pwm_cout[15:8];
	  D21:data_out<=pwm_cout[7:0];
  default:data_out<=8'b0;
 endcase 
else
  data_out<=8'b0;
end
    
endmodule

⌨️ 快捷键说明

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