ISE FPGA 图像处理大杂烩(记录,经验)

本文档详细介绍了Virtex5 FPGA开发过程,包括驱动安装步骤,解决驱动识别问题,JTAG接口的连接与功能解释,以及基本的工程创建、约束设置、仿真和烧写流程。在驱动安装中,通过卸载设备并重新安装驱动解决了识别问题。JTAG接口用于芯片内部测试,文章解释了其引脚定义和工作原理。在工程实践中,创建了LED闪烁的Verilog代码,并进行了综合分析和时序约束设定,最终成功下载到FPGA中。
摘要由CSDN通过智能技术生成

目录

1.驱动

2.连接jtag

3.基本使用流程(工程,约束,仿真,烧写)

1.驱动

首先把板子搞好,拿到了一个virtex5系列的xc5vlx110t,将jtag连接线接到电脑端口上,发现驱动无法识别

右键点击Xilinx Embedded Platform USB Fimware Loader,选择卸载设备,驱动程序一并卸载。

然后在ISE安装目录下找到install_digilent.exe和install_drivers.exe,管理员运行,install_drivers.exe运行后,可能会等一段时间。

如果还是不行,就换电脑的另一个接口

最后会出现

驱动成功。

2.连接jtag

JTAG接口(Joint Test Action Group,联合测试工作组),是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP,FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。

JTAG引脚定义

具有JTAG口的芯片都有如下JTAG引脚定义:

TCK——测试时钟输入;

TDI——测试数据输入,数据通过TDI输入JTAG口;

TDO——测试数据输出,数据通过TDO从JTAG口输出;

TMS——测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式。

可选引脚TRST——测试复位,输入引脚,低电平有效。

含有JTAG口的芯片种类较多,如CPU、DSP、CPLD等。

JTAG内部有一个状态机,称为TAP控制器。TAP控制器的状态机通过TCK和TMS进行状态的改变,实现数据和指令的输入。

JTAG芯片的边界扫描寄存器

JTAG标准定义了一个串行的移位寄存器。寄存器的每一个单元分配给IC芯片的相应引脚,每一个独立的单元称为BSC(Boundary-Scan Cell)边界扫描单元。这个串联的BSC在IC内部构成JTAG回路,所有的BSR(Boundary-Scan Register)边界扫描寄存器通过JTAG测试激活,平时这些引脚保持正常的IC功能。

3.基本使用流程(工程,约束,仿真,烧写)

参考: http://t.csdn.cn/vtugm

基于Virtex5的,其它的差不多。

直接next,不添加input和output

 

 一样地,定义一个1秒钟变化一次的led小灯

module ISE_LED(
input sysclk,
input rst,
output led
    );

reg [28:0] time_cnt;
reg led_reg;

always @ (posedge sysclk or negedge rst)
	begin
		if(!rst)
		time_cnt<=0;
		else if (time_cnt=='d50000000)
		time_cnt<=0;
		else
		time_cnt<=time_cnt+1'b1;
	end

always @ (posedge sysclk or negedge rst)
	begin
		if(!rst)
		led_reg<=0;
		else if(time_cnt=='d50000000)
		led_reg<=~led_reg;
		else
		led_reg<=led_reg;
	end
assign led=led_reg;
endmodule

点击XST可以进行综合分析,从而判断代码是否出错。
有错是正常的,没有一个人敢保证不用编译器检查,第一遍写代码就完全正确。

在ISE中,时序约束文件,被称之为UCF。其实就是user contraints file的简称。
一般来说,对于一些简单的工程,我们仅仅需要约束时钟就可以了。

在图中,第一栏TIMESPEC(Timing Specificaition,时钟说明)名称为TS_sysclk,表示创建一个时钟约束标识符“TS_sysclk”;第二栏“Clock net name”(时钟管脚名)自动设为“sysclk”,第三栏指定“TIME”(时钟周期)为20ns,“initial clockedge”(最初的时钟沿)为上升沿,“rising duty cycle”(上升沿的占空比为50%),设置完后,点击[ok]即可。
这里要说明下,其实TS_sysclk就是和timequest一样,只是一个名字而已,实际上,重要的是关联的目标sysclk。

手动分配管脚

 这里,我们看电路图分配。

点击蓝色方框生成约束

然后点击implement design发现出错,发现是时钟约束错误,不是AN17,是AH17,改后正确。

下载程序,点击generate programming file生成bit流文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值