fpga系列 硬件: XC9572XL核心板焊接与编程

1.介绍

  • 从零开始焊接一个FPGA电路板,并实现基础的LED编程。中间踩坑较多(购买器件,比较器件价格,买错买漏器件和等待器件邮寄到,花费时间较多。且中间准备自己焊接JTAG烧录器,但是大概率是晶振焊接有问题,所以当前文章中使用的网上购买的JTAG)。实现的效果如下。
    在这里插入图片描述
    在这里插入图片描述

2.XC9572XL芯片介绍

2.1 订购信息

在这里插入图片描述

2.2 说明书

3.XC9572XL核心板

3.1 开源电路

在这里插入图片描述

4.核心板编程

4.1 开发环境

4.2 编程

  • file->new project->输入名称"led"->下一步到设置界面:

在这里插入图片描述

  • NEXT 后输出总结信息:
Project:
    Project Name: led
    Project Path: C:\Users\auditor\Desktop\GOOD_PROJECT\led
    Working Directory: C:\Users\auditor\Desktop\GOOD_PROJECT\led
    Description: 
    Top Level Source Type: HDL

Device:
    Device Family: XC9500XL CPLDs
    Device:        xc9572xl
    Package:       PC44
    Speed:         -5

    Top-Level Source Type: HDL
    Synthesis Tool: XST (VHDL/Verilog)
    Simulator: ISim (VHDL/Verilog)
    Preferred Language: Verilog
    Property Specification in Project File: Store all values
    Manual Compile Order: false
    VHDL Source Analysis Standard: VHDL-93

    Message Filtering: disabled
  • 新建源文件-》选择verlog module并输入名称-》然后next到finish

在这里插入图片描述

  • 编写代码
module led1(
input wire key1,
input wire key2,
output wire led,
);
	assign out = key1&key2;
endmodule
  • 点击"implement Design",然后点击“View RTL Schematic”查看电路

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3 引脚配置

在这里插入图片描述

// 这里的pin序号是乱写的,后边“效果”部分会进行修改
net "key1" loc = p1;
net "key2" loc = p2;
net "led" loc = p3;

在这里插入图片描述

4.4 引脚配置方式二

在这里插入图片描述
在这里插入图片描述

5.仿真

在这里插入图片描述

在这里插入图片描述

`timescale 1ns / 1ps


// Company: 
// Engineer:
//
// Create Date:   12:24:47 05/20/2024
// Design Name:   led1
// Module Name:   C:/Users/auditor/Desktop/GOOD_PROJECT/led/led_tb.v
// Project Name:  led
// Target Device:  
// Tool versions:  
// Description: 
//
// Verilog Test Fixture created by ISE for module: led1
//
// Dependencies:
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 


module led_tb;

	// Inputs
	reg key1;
	reg key2;

	// Outputs
	wire led;

	// Instantiate the Unit Under Test (UUT)
	led1 uut (
		.key1(key1), 
		.key2(key2), 
		.led(led)
	);

	initial begin
		// Initialize Inputs
		key1 = 0;
		key2 = 0;

		// Wait 100 ns for global reset to finish
		#100;
		
		key1 = 1;
		key2 = 0;
		#100;
		key1 = 0;
		key2 = 1;
		#100;
		key1 = 1;
		key2 = 1;
		#100;
        
		// Add stimulus here

	end
      
endmodule

在这里插入图片描述

  • 参考 ise Simulator:861 - Failed to link the design
  • 找到“安装目录\Xilinx\14.x\ISE_DS\ISE\gnu\MinGW\5.0.0\nt\libexec\gcc\mingw32\3.4.2\collect2.exe”并将其删除,重新运行仿真器,问题得到解决!!

5.1 仿真结果

在这里插入图片描述

6.Platform Cable USB接线

在这里插入图片描述
在这里插入图片描述

7.烧录

在这里插入图片描述

  • 在iMPACT软件中双击Boundary Scan
    在这里插入图片描述

  • 空白处右键,并点击Initialize Chain初始化下载链路
    在这里插入图片描述

  • 打开jed文件
    在这里插入图片描述
    在这里插入图片描述

  • output -> cable reset
    在这里插入图片描述

  • 右键编程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

8.效果一

在这里插入图片描述

对应于上边代码的pin配置

在这里插入图片描述

9.效果二

在这里插入图片描述

代码

module blink_led(
    input clk,      // 输入时钟信号
    input rst,      // 复位信号
    output reg led  // 输出LED控制信号
);

    reg [23:0] counter;  // 24位计数器

    always @(posedge clk or posedge rst) begin
        if (rst) begin
            counter <= 0;
            led <= 0;
        end else begin
            counter <= counter + 1;
            if (counter == 4_000_000) begin // 假设时钟频率为24MHz,1秒计数达到24000000
                counter <= 0;
                led <= ~led; // 切换LED状态
            end
        end
    end

endmodule

pin配置

在这里插入图片描述

10.开发过程踩坑记录

买错了元器件

元件类型封装数量------
93LC56BT-I/OT存储器ICSOT23-61
4MHZ OSC振荡器SMD 4P1
C4201WVA插件接口2*7pin1
FT2232HL1
XC9572XL-7VQG44CCPLDQFP441
10miuf电容08051
1k电阻08051
22pf电容06031
104电容06031
104电容08051
105电容08051
R1R2电阻06031
12k 1%电阻06031
51电阻08051
3.9k电阻08051
4.7k电阻06031
4.7k电阻08051
10k电阻06031
2k2电阻06031
5k1电阻06031
Red LEDLED08051
Type C连接器2P1
3.3 LDO稳压器1
LL4148二极管SOD-801
12MHZ OSC振荡器SMD 4P1怎么测量晶振的好坏
USBLC6 4SC6Y保护装置SOT-23-6L1
74LVC1T45W6-76
AO3400A场效应管SOT1
PESD5V0S1BA,115二极管SOD-3237ESD(ectro-Static discharge,“静电释放”)的保护
FSMD010-24-0805-R保险丝12061
74HC14D逻辑芯片SOP141
MF-NSMF075-2保险丝12061

https://www.aiema.com/part/datasheet/xc957210pcg44c-fn142624866

连错线 ise impact boundary scan identify success 后没有芯片

在这里插入图片描述

  • 40
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值