目录
1,写博客尽可能需要的步骤目录
2,对于ISE中锁相环复位信号的使用
3,信号的延时测试
4,安装检测不到驱动
5,ISE下启动SDK
6,开发板器件型号的选择
1,写博客尽可能需要的步骤目录
这张图截自(耿超。刘萌两位老师的《FPGA之道》)。
这里在时钟信号稳定前,有一段时间输出的信号不稳定,一般复位低电平有效,这里将locked信号引入,重新使用一个复位信号作为其他模块的复位信号,可以保证时序的稳定性。
测试代码:
module pll_test(clk,rst_n,clk_out1,clk_out2,clk_out3,clk_out4,rst_n_w
);
input clk;
input rst_n;
output clk_out1;
output clk_out2;
output clk_out3;
output clk_out4;
wire locked_w;
output rst_n_w;
assign rst_n_w = rst_n && locked_w;
pll_ip pll_test(
.CLK_IN1(clk),
.CLK_OUT1(clk_out1),
.CLK_OUT2(clk_out2),
.CLK_OUT3(clk_out3),
.CLK_OUT4(clk_out4),
.RESET(~rst_n),
.LOCKED(locked_w)
);
endmodule
一般在使用时序逻辑的时候,不可避免的需要对一些信号延时,这个时候我们一般可以使用打拍的方式,单bit信号跨时钟域的处理方式就是打两拍,这里要是使用多拍,就很麻烦,这里进行测试一种很方便的延拍方式。
测试代码:
这样写的好处是可以省去打很多拍的时候的操作不便。
module time_delay_test(
input sys_clk,
input sys_rst_n,
output OUT,
output OUT_delay1,
output OUT_delay2
);
reg [6:0] cnt_delay;
always @ (posedge sys_clk or negedge sys_rst_n)
begin
if(!sys_rst_n)
cnt_delay <= 'd0;
else
if(cnt_delay == 'd100)
cnt_delay <= 'd0;
else
cnt_delay <= cnt_delay + 1'b1;
end
reg [3:0] delay1;
reg [5:0] delay2;
assign OUT = (cnt_delay == 'd100) ? 1'b1 : 1'b0;
assign OUT_delay1 = delay1[3];
assign OUT_delay2 = delay2[5];
always @ (posedge sys_clk or negedge sys_rst_n)
begin
if(!sys_rst_n)
begin
delay1 <= 'd0;
delay2 <= 'd0;
end
else
begin
delay1 <= {delay1[2:0],OUT};
delay2 <= {delay2[4:0],OUT};
end
end
endmodule
可以看到,这里对延时信号1延时了4个时钟周期,对延时信号2延时了6个时钟周期。
这里偶然看到一种写法。(截图自《基于FPGA的数字图像处理原理及应用__牟新刚》),这里将亚稳态处理与延拍进行一次处理。相比较能更好用一些,可以做作为参考。
问题:
GUI --- Auto connect to cable...
INFO:iMPACT - Digilent Plugin: Plugin Version: 2.4.4
INFO:iMPACT - Digilent Plugin: no JTAG device was found.
AutoDetecting cable. Please wait.
*** WARNING ***: When port is set to auto detect mode, cable speed is set to default 6 MHz regardless of explicit arguments supplied for setting the baud rates
PROGRESS_START - Starting Operation.
Connecting to cable (Usb Port - USB21).
Checking cable driver.
Source driver files not found.
The Platform Cable USB is not detected. Please connect a cable.If a cable is connected, please disconnect
and reconnect to the usb port, follow the instructions in the 'Found New Hardware Wizard', then retry
the Cable Setup operation.
Cable connection failed.
Connecting to cable (Parallel Port - LPT1).
Checking cable driver.
Driver windrvr6.sys version = 10.2.1.0. WinDriver v10.21 Jungo (c) 1997 - 2010 Build Date: Aug 31 2010 x86_64 64bit SYS 14:14:44, version = 1021.
Cable connection failed.
Connecting to cable (Parallel Port - LPT2).
Checking cable driver.
Driver windrvr6.sys version = 10.2.1.0. WinDriver v10.21 Jungo (c) 1997 - 2010 Build Date: Aug 31 2010 x86_64 64bit SYS 14:14:44, version = 1021.
Cable connection failed.
Connecting to cable (Parallel Port - LPT3).
Checking cable driver.
Driver windrvr6.sys version = 10.2.1.0. WinDriver v10.21 Jungo (c) 1997 - 2010 Build Date: Aug 31 2010 x86_64 64bit SYS 14:14:44, version = 1021.
Cable connection failed.
Connecting to cable (Parallel Port - LPT4).
Checking cable driver.
Driver windrvr6.sys version = 10.2.1.0. WinDriver v10.21 Jungo (c) 1997 - 2010 Build Date: Aug 31 2010 x86_64 64bit SYS 14:14:44, version = 1021.
Cable connection failed.
PROGRESS_END - End Operation.
Elapsed time = 1 sec.
Cable autodetection failed.
WARNING:iMPACT:923 - Can not find cable, check cable setup !
安装目录在
ISE\14.7\ISE_DS\ISE\bin\nt64\digilent
install_digilent.exe
Xilinx\14.7\ISE_DS\EDK\bin\nt\xsdk.exe
这个是路径,可以自行选择是在32位还是64位下运行,建议以兼容式模式运行然后给管理员权限。应该不会有闪退的问题。
Basys3
xc7a35tcpg236-1
A7核心板
xc7a35tcsg324-1