spartan-3e starter kit board 入门

FPGA逻辑分析仪自制指南:从核心原理到软硬件实现 逻辑分析仪是数字电路调试中不可或缺的工具,用于捕获和分析多路数字信号的时序关系。其核心原理在于对多通道信号进行高速同步采样,并将海量数据存储于缓冲区,以便后续进行可视化分析和协议解码。这项技术的价值在于能够以极高的时间分辨率洞察数字系统的内部状态,是验证通信协议、调试硬件时序和排查复杂逻辑问题的关键。在嵌入式开发、FPGA/ASIC设计验证以及电子系统测试等场景中,逻辑分析仪发挥着至关重要的作用。本文聚焦于利用FPGA的可重构性和并行处理能力,实现一个高性价比、灵活可扩展的自制逻辑分析仪方案,深入探讨了其* 阅读详情

本篇博文简要介绍下通过ISE操作spartan-3e starter kit board上的4个滑动开关和8个led灯。

 

一、设计思路

1、板子上的led灯一端已经接低电平了,所以,要点亮的话就要向另一端输出高电平即可。

2、板子上自带的50MHZ晶振以及reset键都是设计模块的输入。以便能够及时响应3中的输入。

3、4个滑动开关中SW2、SW1、SW0作为另一组输入。

4、SW2、SW1、SW0的编码即是要被点亮的led灯。即其=000,则led0点亮、=001,led1点亮。

 

二、从ISE建立project到最终将.bit下载到板子

1、fire->new project

2、芯片的型号以及封装必须选择好

3、

4、右键单击工程管理区,选择new source,选择verilog module,填入fire name

5、设置模块的输入输出口,就是verilog源码中的input与output

6、

7、在客户区输入所要构建的模块的verilog源码

8、源码编辑好后,左键双击过程管理区的check syntax确认有没有语法错误

9、左键双击synthesize-xst完成综合

10、view选择simulation,右键单击工程管理区,选择new source,选择verilog test fixture,输入file name

11、

12、

13、输入测试代码,本例就是在客户区的红线区域。其他例子不一定!

14、右键单击simulate behavioral model,选择properties设置仿真的一些参数。

15、

16、右键单击工程管理区,选择new source,选择implementation constraints file

17、

18、输入约束代码

19、双击implement design,完成实现步骤

20、实现完成之后,通过design summary,查看pinout report。如果,引脚约束与你定义的一致,则正确;

否则,右键依次双击synthesize-xst与implement design,直到引脚约束正确方可进行下一步。

21、双击generate programming file,产生.bit文件

22、双击configure target device,点击ok,代开iMPACT准备下载.bit文件到板子

23、双击boundary scan

24、

25、左键点击initialize chain,检测板子的存在

26、选择要现下载的.bit文件

27、

28、

29、

30、鼠标放在图标上(颜色会变深),点击右键,选择program,如果提示program successed,则说明

已成功下载。

31、操作板子,观察实验结果是否符合设计。

 

三、总结

1、博主的ISE版本是13.3。不同的版本操作可能会有所差异。

2、实验代码:

led代码:

module led(CLK,RST,LED,MODE);    
	 input CLK;
    input RST;
    input [2:0] MODE;
    output [7:0] LED;
	 
	 reg [7:0] LED = 8'b10101010;
	 reg [24:0] cnt_clk; 
	 reg div_clk; 
	 
always @ (posedge CLK or posedge RST)begin
	if(RST)begin
		cnt_clk <= 25'd0;
		div_clk <= 1'b0;
	end
	else begin
		if(cnt_clk == 25'd9999999)begin
			cnt_clk <=25'd0;
			div_clk <= ~div_clk;
		end
		else begin
			cnt_clk <= cnt_clk + 1'b1;
			div_clk <= div_clk;
		end
	end
end

always @ (posedge div_clk or posedge RST)begin
	if(RST)begin
		LED <= 8'b10101010;
	end
	else begin
		case (MODE)
			3'b000 :	LED <= 8'b1;						
			3'b001 :	LED <= 8'b10;
			3'b010 :	LED <= 8'b100;
			3'b011 : LED <= 8'b1000;
			3'b100 : LED <= 8'b10000;
			3'b101 :	LED <= 8'b100000;
			3'b110 : LED <= 8'b1000000;
			3'b111 : LED <= 8'b10000000;
		endcase
	end
end

endmodule

ucf约束文件:

NET "CLK" LOC = "C9" | IOSTANDARD = LVCMOS33;
NET "CLK" PERIOD = 20ns HIGH 40%;
NET "RST" LOC = "K17" | IOSTANDARD = LVTTL | PULLDOWN;
NET "MODE<0>" LOC = "L13" | IOSTANDARD = LVTTL | PULLUP;
NET "MODE<1>" LOC = "L14" | IOSTANDARD = LVTTL | PULLUP;
NET "MODE<2>" LOC = "H18" | IOSTANDARD = LVTTL | PULLUP;
NET "LED<0>" LOC = "F12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4;
NET "LED<1>" LOC = "E12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4;
NET "LED<2>" LOC = "E11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4;
NET "LED<3>" LOC = "F11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4;
NET "LED<4>" LOC = "C11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4;
NET "LED<5>" LOC = "D11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4;
NET "LED<6>" LOC = "E9"  | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4;
NET "LED<7>" LOC = "F9"  | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4;

仿真代码:

module led_test;

	// Inputs
	reg CLK;
	reg RST;
	reg [2:0] MODE;

	// Outputs
	wire [7:0] LED;

	// Instantiate the Unit Under Test (UUT)
	led uut (
		.CLK(CLK), 
		.RST(RST), 
		.LED(LED), 
		.MODE(MODE)
	);

	always #5 CLK = ~CLK;
		
	initial begin
		// Initialize Inputs
		CLK = 0;
		RST = 0;
		MODE = 0;

		// Wait 100 ns for global reset to finish
		#100;
        
		// Add stimulus here
		RST = 0;
		MODE = 3'b001;
		#10000;
		MODE = 3'b010;
		#10000;
		MODE = 3'b100;
		#1000 $stop;

	end
      
endmodule


3、以前学过cc2430的板子,现在开始学FPGA,纯菜鸟一枚呀。不过总体感觉来说,硬件的东西,

那些芯片的资料是很重要的。一块电路板上一般都是一个处理器外加若干外设,外设也和处理器有

连接了,但这都是坐在电路板上了。需要芯片资料来获得一定的信息,便于我们使用。

4、也期待大神们不吝赐教!

 

Xilinx Spartan-3E FPGA计数器程序设计 本文还有配套的精品资源,点击获取 简介:计数器程序是FPGA设计中的基础模块,用于计数或定时。本例程针对Xilinx Spartan-3E FPGA xc3s500e设计了一个基本计数器,包括上升沿触发的加法计数器或可配置的模N计数器。在ISE开发环境下,使用VHDL或Verilog编写代码,通过仿真验证、综合、布局布线和编程下载,将计数器逻辑下载到FPGA中。通过学习此程... 阅读详情

相关推荐

spartan 3E starter kit FPGA开发板 实验二

spartan 3E starter kit FPGA开发板 实验

Xilinx FPGA开发板 Digilent Spartan-3E 学习资料收集整理

一、FPGA相关资料贴 EDK实验 base in spartan-3e 适合mircoblaze初学者  MicroBlaze嵌入式软核是一个被Xilinx公司优化过的可以嵌入在FPGA中的RISC处理器软核,具有运行速度快、占用资源少、可配置性强等优点,广泛应用于通信、军事、高端消费市场等领域。 http://www.eeboard.com/bbs/thread-3740-1-1.h

ZhuXiaoLong‘Blog 5743

spartan 3E starter kit FPGA开发板 实验三

spartan 3E starter kit FPGA开发板 实验三

spartan 3e starter kit平台,使用usb cable和rs232接口的spi flash编程软件

1、引言spartan 3e starter kit是使用较广泛的开发板,spartan 3e系列fpga价格低廉,是基于fpga开发嵌入式系统的重要选择,通常情况下,fpga的bram资源有限,而且需要扩展flash以存储程序代码。因此一个典型的fpga系统包括如下芯片:FPGA芯片、PROM芯片、Parallel Flash芯片、RAM芯片,其中32位数据带宽的parallel flash

suo_guang的专栏 1616

Spartan-3E Starter Kit Board User Guide

Spartan-3E Starter Kit Board User Guide

Spartan-3E_Starter_Kit_Board_User_Guide

Spartan-3E_Starter_Kit_Board_User_Guide

Spartan3硬件乘法器使用详解

原文网址:http://xilinx.eetrend.com/blog/810 自从开始学FPGA起,关于硬件乘法器与软件乘法器的概念就一直有点困惑。明明FPGA已经自带了18*18位的硬件乘法器(大概总结了一下,Spartan6系列的硬件乘法器数量如图1所示,Spartan3的如图2所示),好多书籍却要花费较多经历来讲如何用HDL语言来实现乘法;...

weixin_34119545的博客 2064

spartan 3E starter kit FPGA开发板 实验一

spartan 3E starter kit FPGA开发板 实验

ISE14.7 Spartan3e 呼吸灯

ISE14.7 Spartan3e UCF问题

l1141595266的博客 623

Xilinx spartan 3e starter 开发板原理图

Xilinx spartan 3e starter 开发板原理图

Spartan-3E_FPGA_中文数据手册.pdf

xilinx公司Spartan-3E FPGA中文数据手册

Picoblaze使用范例-LCD显示,基于spartan3e start kit

1 `timescale 1ns / 1ps 2 ////////////////////////////////////////////////////////////////////////////////// 3 // Engineer: Hiram Lee yangli0534@gmail.com 4 // 5 // Create Date: 18:3...

weixin_30407613的博客 255

SPARTAN-3E说明书

SPARTAN-3E说明书第1,2,3,4,5,6,7,8,9,10章 ,对学习verilog有帮助。

VGA接口之显示彩色条

本博文介绍下spartan-3e start kit board上的VGA接口的用法。   一、VGA简介 VGA(Video Graphics Array)是IBM于1987年提出的一个使用模拟信号的电脑显示标准,最早指的是显示器 640X480这种显示模式。本实验程序用的是640X480模式,即每一行有640个像素,整个显示区域一共有480 行。VGA接口是一种D型接口,采用非对称分...

weixin_34306593的博客 251

从零编写linux0.11 - 第二章 内核初始化

编程环境:Ubuntu Kylin 16.04 代码仓库:https://gitee.com/AprilSloan/linux0.11-project linux0.11源码下载(不能直接编译,需进行修改) 1.添加内核 进入内核后也不是马上进入main函数,上一章只是暂时设置gdt,此外还要设置idt和其他的一些初始化操作,这些内容也要使用汇编进行编写,此处采用AT&T格式的汇编。 以下为head.s的内容,为了简单起见,内容还是一个死循环。 .globl startup_32 startup_3

皓空Fly的博客 1266

Flink 作业报错——TaskManager连接不上

Flink 作业报错——TaskManager连接不上

lm223的博客 1901

Spartan-3E Starter Kit 出厂例程修改与编译

emouse原创文章,转载请注明出处,http://www.cnblogs.com/emouse   手头有个Spartan-3E Starter Kit的板子,三年了,一直没功夫搞,昨天实验室停电回到宿舍,只有这个板子在身边,其他板子都在实验室,所以决定用一下,之前用的都是Altera的FPGA和CPLD,虽然在FPGA以及CPLD这块Xilinx和Altera势均力敌,但是学校教的是Alter...

weixin_34403693的博客 236

研究生如何快速发CVPR

研究生如何快速发CVPR,找到科研方向

python_vb的博客 786

FPGA开发全攻略——配置电路

原文链接: FPGA开发全攻略连载之十二:FPGA实战开发技巧(9) FPGA开发全攻略连载之十二:FPGA实战开发技巧(10) FPGA开发全攻略连载之十三:FPGA实战开发技巧(11) 5.5 FPGA相关电路设计知识 FPGA的相关电路主要就是FPGA的配置电路,其余的应用电路只要将外围芯片连接到FPGA的通用I/O管脚上即可。 5.5.1 配置电路 FPGA配置方式灵活...

weixin_30911809的博客 1307

mcgs数据查表功能,用于大量数据对比查找对应数据,减少PLC代码

mcgs脚本实现数据查表功能

qq_24866535的博客 3271

RK3568 开发实战:手动构建 Linux 4.19 内核镜像与设备树优化

本文详细介绍了为RK3568开发板手动编译Linux 4.19内核的完整实战流程。从环境搭建、源码获取、内核配置,到设备树深度定制与优化,再到镜像打包与烧写,旨在帮助开发者脱离官方SDK依赖,实现对嵌入式Linux系统的完全掌控,提升硬件适配与性能优化能力。

weixin_29175469的博客 270

php -%3e和,纠结:高手给个建议!选择SPARTAN-3还是SPARTAN-3E?

Spatan3e系列最高工作频率达333MHz,可用来设计PCI接口;支持SPI配置模式;逻辑门数相对较少,2M以下,相对成本较低;Spatan3e有ODDR2组件,而spatan3不支持。以下为网上资料摘抄:* Spartan-3E family complements the Spartan-3 family – Spartan-3E optimizedfor gate-centric des...

weixin_35144564的博客 659

vue2/3 - element表格组件el-table实现懒加载树型(上下级)数据、默认展开和隐藏层级,支持对表格进行修改|新增|删除,解决完成操作后树节点不刷新问题(提供示例代码,一键复制开箱即用

vue2,vue3,elementui,elementPlus,el-table,Table表格组件,表格懒加载数据,element table表格数中的树形结构懒加载,增加后数据不同步更新问题,el-table树形与el-tree树形结构的一键折叠与展开,elementui中el-tree懒加载数据 默认展开最外层节点,Element-plus Table组件树表结构默认展开一级目录,vue实现element table表格树形结构-使用懒加载时-解决子节点增删改后,不刷新子节点数据问题,解决el-tre

✅ 精选推荐文章 1万+
上一篇: 第七篇 GDI编程
下一篇: 写数据到LCD显示器
lulipeng_cpp
博客等级 码龄15年 169粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值