Vivado2018.3 连接不上open target 的解决办法

Vivado2018.3连接不上open target的解决办法:
一般情况下是因为Vivado的驱动没有安装好,只需要将驱动安装上即可,路径为Vivado\2018.3\data\xicom\cable_drivers\nt64\digilent\install_digilent.exe
建议在安装的过程中,将vivado关闭以及Jtag连接器先拔掉,安装驱动成功后在重新开始打开vivado进行连接;否则可能会在安装后也不能正常连接。

下面是一个使用 Vivado 2018.3 实现一个 8 位 FFT 运算器的全过程: 1. 创建 Vivado 工程 打开 Vivado 2018.3,点击 "Create Project" 创建一个新的工程,输入工程名和工程路径,选择 RTL 项目类型,选择一个默认的工程目录,然后点击 "Next"。 在 "Add Sources" 步骤中,选择 "Create File",输入文件名和文件路径,选择 Verilog 文件类型,然后点击 "Finish"。在弹出的对话框中,选择 "Add to Project",然后点击 "OK"。 在 "Add Constraints" 步骤中,选择 "Create File",输入文件名和文件路径,选择 XDC 文件类型,然后点击 "Finish"。在弹出的对话框中,选择 "Add to Project",然后点击 "OK"。 在 "Default Part" 步骤中,选择你所使用的 FPGA 型号,然后点击 "Next"。 在 "New Project Summary" 步骤中,确认工程信息,然后点击 "Finish"。 2. 编写 FFT 运算器代码 在 Vivado 中,我们可以使用 IP 核实现 FFT 运算器,也可以手动编写 FFT 运算器的 Verilog 代码。下面是一个手动编写 8 位 FFT 运算器的 Verilog 代码示例: ```verilog module fft_8(input clk, input rst, input signed [7:0] din_real, input signed [7:0] din_imag, output reg signed [7:0] dout_real, output reg signed [7:0] dout_imag); parameter N = 8; // 定义旋转因子 complex signed [7:0] w[N/2]; // 定义蝴蝶运算 task butterfly; input signed [7:0] x_real; input signed [7:0] x_imag; input signed [7:0] y_real; input signed [7:0] y_imag; output reg signed [7:0] out_real; output reg signed [7:0] out_imag; input signed [7:0] wr_real; input signed [7:0] wr_imag; begin out_real = x_real + y_real * wr_real - y_imag * wr_imag; out_imag = x_imag + y_real * wr_imag + y_imag * wr_real; end endtask // 初始化旋转因子 initial begin for (int i = 0; i < N/2; i++) begin w[i] = exp(-2 * $realtime * i * $clog2(N) / N); end end // FFT 运算 always @(posedge clk) begin if (rst) begin dout_real <= 0; dout_imag <= 0; end else begin complex signed [7:0] x[N]; complex signed [7:0] y[N]; // 输入数据重排 for (int i = 0; i < N; i++) begin x[i] = {din_real, din_imag}; end for (int i = 0; i < N; i += 2) begin y[i/2] = x[i]; y[i/2 + N/2] = x[i+1]; end // 蝴蝶运算 for (int i = 0; i < N/2; i++) begin butterfly(y[i].real, y[i].imag, y[i+N/2].real, y[i+N/2].imag, y[i].real, y[i].imag, w[i].real, w[i].imag); end // 输出数据重排 for (int i = 0; i < N; i += 2) begin dout_real <= y[i].real; dout_imag <= y[i].imag; end end end endmodule ``` 以上代码中,我们手动编写了一个 8 位 FFT 运算器,使用了 Verilog 的复杂数类型 `complex signed [7:0]`。在 `initial` 块中,我们初始化了旋转因子 `w`,在 `always` 块中,我们实现了 FFT 运算的主要逻辑,包括输入数据重排、蝴蝶运算和输出数据重排。 3. 添加测试代码 为了测试 FFT 运算器的功能,我们需要添加一些测试代码。下面是一个简单的测试代码示例: ```verilog module fft_8_tb; // 定义时钟和复位信号 reg clk; reg rst; // 定义输入和输出信号 reg signed [7:0] din_real; reg signed [7:0] din_imag; wire signed [7:0] dout_real; wire signed [7:0] dout_imag; // 实例化被测试的模块 fft_8 dut( .clk(clk), .rst(rst), .din_real(din_real), .din_imag(din_imag), .dout_real(dout_real), .dout_imag(dout_imag) ); // 时钟生成器 always #10 clk = ~clk; // 复位信号生成器 initial begin rst = 1; #100; rst = 0; end // 输入数据生成器 initial begin din_real = 8'sb00000001; din_imag = 8'sb00000000; #10; din_real = 8'sb00000000; din_imag = 8'sb00000001; #10; din_real = 8'sb00000001; din_imag = 8'sb00000001; #10; din_real = 8'sb11111111; din_imag = 8'sb11111111; #10; end // 输出数据检查 always @(posedge clk) begin case (dout_real) 8'sb00000001: $display("FFT result is correct!"); default: $display("FFT result is incorrect!"); endcase end endmodule ``` 以上代码中,我们定义了时钟信号 `clk` 和复位信号 `rst`,以及输入信号 `din_real` 和 `din_imag`,以及输出信号 `dout_real` 和 `dout_imag`。我们将被测试的模块 `fft_8` 实例化为 `dut`,并将输入和输出信号连接到 `dut` 的输入输出端口上。 在测试代码中,我们使用了一个简单的时钟生成器和复位信号生成器,以及一个输入数据生成器,生成了一些输入数据用于测试。在输出数据检查部分,我们通过检查 `dout_real` 的值是否等于 `8'sb00000001` 来判断 FFT 运算的结果是否正确。 4. 运行仿真 在 Vivado 中,我们可以使用仿真工具验证我们的设计是否正确。在此之前,我们需要进行一些设置。 首先,我们需要设置仿真工具。在 Vivado 的主界面上,点击 "Open Simulator" 打开仿真工具。然后,选择 "Xsim" 仿真器,并选择 "Create New Simulation Set"。在弹出的对话框中,输入仿真集名称和仿真文件路径,然后点击 "OK"。 接下来,我们需要设置仿真波形。在仿真工具界面上,点击 "Add Waveform" 添加一个新的波形,然后选择我们要仿真的信号,包括时钟信号 `clk`,复位信号 `rst`,输入信号 `din_real` 和 `din_imag`,以及输出信号 `dout_real` 和 `dout_imag`。 最后,我们可以运行仿真。在仿真工具界面上,点击 "Run Simulation" 开始仿真。在仿真过程中,我们可以观察信号的波形,以确定设计是否正确。 5. 生成比特流文件 当我们确认设计正确无误后,我们就可以生成比特流文件,用于烧录到 FPGA 中运行。在 Vivado 中,我们可以使用 "Generate Bitstream" 工具生成比特流文件。 在 Vivado 的主界面上,点击 "Generate Bitstream",然后选择 "Open Implemented Design"。在弹出的对话框中,选择 "Yes",然后点击 "OK"。在比特流生成完成后,可以在 "Project Manager" 界面上的 "Generated Sources" 中找到生成的比特流文件。 6. 烧录到 FPGA 中运行 最后,我们需要将生成的比特流文件烧录到 FPGA 中运行。这个过程可以使用 Vivado 中的烧录工具完成。具体步骤如下: - 连接 FPGA 开发板和计算机,并将开发板设置为烧录模式; - 在 Vivado 的主界面上,选择 "Open Hardware Manager"; - 在 "Hardware Manager" 界面上,点击 "Open Target",选择连接的 FPGA 开发板; - 在 "Hardware Manager" 界面上,点击 "Program Device",选择生成的比特流文件,然后开始烧录; - 等待烧录完成后,可以使用开发板上的 LED 灯等外设验证 FFT 运算器的功能。 以上就是使用 Vivado 2018.3 实现一个 8 位 FFT 运算器的全过程。需要注意的是,实际设计过程中需要根据具体情况进行调整,比如根据实际需求选择不同的 FFT 算法、数据位宽等等。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值