📄 test_cpld_to_dsp.v
字号:
module test_cpld_to_dsp(cs,dsp_clk,rst,ad_in_hx,ad_in_lz,code11_in,code22_in,ad_in_zx,data_out,test_dd,position,limit_da);
input cs;
input dsp_clk;
input rst;
input[24:0] ad_in_hx;
input[23:0] ad_in_zx;
input[23:0] ad_in_lz;
input[31:0] position;
input[31:0] code11_in;
input[31:0] code22_in;
input[7:0] limit_da;
output[7:0] data_out;
output test_dd;
reg test_dd;
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;
parameter D22=5'b10101;
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<=D22;
D22: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<=position[31:24];
D5:data_out<=position[23:16];
D6:data_out<=position[15:8];
D7:data_out<=position[7:0];
D8:data_out<=ad_in_zx[23:16];
D9:data_out<=ad_in_zx[15:8];
D10:data_out<=ad_in_zx[7:0];
D11:data_out<=code11_in[31:24];
D12:data_out<=code11_in[23:16];
D13:data_out<=code11_in[15:8];
D14:data_out<=code11_in[7:0];
D15:data_out<=code22_in[31:24];
D16:data_out<=code22_in[23:16];
D17:data_out<=code22_in[15:8];
D18:data_out<=code22_in[7:0];
D19:data_out<=limit_da;
D20:data_out<=ad_in_lz[23:16];
D21:data_out<=ad_in_lz[15:8];
D22:data_out<=ad_in_lz[7:0];
default:data_out<=8'b0;
endcase
else
data_out<=8'b0;
end
always @(ad_in_hx[24])
begin
test_dd<=ad_in_hx[24];
end
//always @(position[32])
//begin
//test_dr<=position[32];
//end
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -