XC9572XL从拾荒到简单入门 ISE14.7/ISE14.6骨灰软件初体验

文章讲述了作者在废旧电路板上发现一款XC9672XLCPLD-FPGA,通过观察、测量和逆向工程,尝试在Vivado环境下对其编程。过程中涉及到软件版本选择、原理图复刻、工程设置和烧录步骤。
摘要由CSDN通过智能技术生成

废墟里偶然看到一块小测试板:

正反面拍个照:

看到主控芯片为XLINX系列CPLD-FPGA,型号为XC9672XL-VQ44B­…,速度等级-10C,外挂50MHz晶振,5个LED灯,丝印N05B的芯片为LM1117I-3.3V稳压电源。

1、通过观察和万用表测试,查找XC9672XL芯片手册,复刻出原理图,找出JTAG插针位置和外挂晶振引脚:

2、插上FPGA下载器,连接JTAG,然后使用Vivado新建工程,发现没有XC9672XL型号:

XC9672XL为可编程逻辑器件CPLD,内部含有掉电不易失的EEPROM存储结构,其与或阵列结构适于实现大规模组合功能,延时小且可预测。Vivado前身ISE更新到14.7版本就不再更新,仅支持6系列或者部分初代7系列FPGA芯片以及CPLD,而后续Vivado支持7系列FPGA芯片以及新生代ZYNQ芯片。

3、准备下载ISE 14.7,到AMD官网找到安装包,ISE14.7最高支持win10系统,不支持win11。14.7Windows10版本适用于虚拟机安装win10,而下面其他版本写着支持win7及xp系统。

后来终于找到一个ISE 14.6的安装包可以直接支持win10,搬运软件安装教程(注意教程中路径更改很重要,不然软件使用过程中会有问题):

ISE14.7安装(详细说明)

4、使用ISE建立一个完整的工程,参考教程如下:

ISE14.7使用教程(一个完整工程的建立)-CSDN博客

设置板卡信息,Verilog语言,简单编写一个流水灯测试程序,并进行编译:

module IO_Control(
	output reg[4:0] led,//输出5个led灯
	input CLK  //输入50MHz时钟
	//input rst_n
    );
reg[31:0] timer;//定义一个32位计数器 

always@(posedge CLK)
begin
   if(timer==32'd49_999_999)//从0计数到49999999时为1秒,计数器清零
		timer<=32'd0;
	else
		timer<=timer+32'd1;//计数器加1
end

always@(posedge CLK)
begin
   if(timer==32'd9_999_999) //控制led流水灯
		led<=5'b00001;
	else if(timer==32'd19_999_999)
		led<=5'b00010;
	else if(timer==32'd29_999_999)
		led<=5'b00100;
	else if(timer==32'd39_999_999)
		led<=5'b01000;
	else if(timer==32'd49_999_999)
		led<=5'b10000;
end
endmodule

使用仿真器时若出现can’t link to the design错误,参照如下删除collect2.exe文件:

5、点击User Constraints下Floorplan IO-Pre-Synthesis使用.ucf文件进性引脚约束:

6、点击Configure Target Device进性综合,Assign New Configuration File...后发现没有bit文件生成,CPLD系列生成的是jed文件,直接选择.jed文件即可:

7、添加jed文件后右击发现没有Program选项,这时需要更改几个dll文件:

参考ISE 14.7安装教程

8、Cable Reset一下,然后右击Program烧写程序:

9、烧写成功~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值