基于FPGA的地址译码实验_实验报告时域测试技术综合实验报告书
实验名称基于FPGA的地址译码实验
班级学号姓名
实验时间:年月日得分:
实验目的
;
;
;
。
实验内容
1、用Verilog HDL设计底层译码电路,通过DSP实现对FPGA寄存器端口进行读操作,并确认读出数据正确;
2、用Verilog HDL设计底层译码电路,通过DSP实现对FPGA寄存器端口进行写操作。
3、对FPGA寄存器进行先写后读操作,在Visual DSP++ 中调试,确认数据正确。
实验步骤
(给出相应代码及调试环境截图)
通过DSP实现对FPGA寄存器端口进行读操作;
读操作对应FPGA中地址译码Verilog HDL 代码:
always @ (posedge adsp_clk)
begin
if( dsp_iord_en_dly == 1'b0 )
case (adsp_addr_decode[7:0])
// ……
8'h9e:
begin
adsp_databus_rd[15:0] <= DECODE_REG [15:0];
end
8'h9c: // 0x2010009c 地址中固定数据位ox5aa5, 用于验证读操作是否正常
begin
adsp_databus_rd[15:0] <= 16'h5aa5;
end
// ……
endcase
end
读操作先对应dsp代码
#define DECODE_REG *(volatile unsigned short *)0x2010009e //define a new address
……
int main()
{
Set_PLL(16,3); //
Init_EBIU();
DECODE_REG=0x55;
while(1);
}
2、通过DSP实现对FPGA寄存器端口进行写操作。
写操作对应FPGA中地址译码Verilog HDL 代码:
reg [15:0] DECODE_REG; //定义寄存器
always @ (posedge adsp_clk or negedge rst_in)
begin
// ……
if(dsp_iowr_en_dly == 1'b0 )
begin
case (adsp_addr_decode[7:0])
// ……
8'h9e: //定义寄存器对应DSP映射地址为 0x2010009e
begin
DECODE_REG[15:0] <= adsp_databus_wr[15:0];
end
// …….
default:
test_reg <= 0;
endcase
end
end
写操作dsp关键代码
#define DECODE_READ_TEST *(volatile unsigned short *)0x2010009c
int
基于FPGA的地址译码实验 实验报告 来自淘豆网m.daumloan.com转载请标明出处.