Verilog语言控制Xilinx FPGA引脚demo
鉴于精力有限,虽然博主本科专业涉及到了一些硬件方面知识,但时间已经久远,所以博客的内容仅限于扫盲用,记录一下过程吧:
博主这边从Xilinx着手了解,一些信息可以从官网获取。Xilinx在2020年被AMD收购。
这款开发板上的FPGA芯片的信息介绍可从官网获取到
https://www.xilinx.com/products/silicon-devices/fpga/artix-7.html#productTable
其主流几款系列的介绍可见如下博客
xilinx 产品系列 - 知乎
什么是SOC芯片? - 知乎
另个一大原厂品牌就是Altera,2015年被英特尔收购。
ARM和FPGA之间的通信(硬件原理图篇)_illusionistyy的博客-CSDN博客_arm fpga
FPGA与DSP/ARM通信方式详解_programmer-guan的博客-CSDN博客_arm fpga 通信
博主又抽时间大概翻了翻数电
不翻还好,翻下后,感概颇多,看到了熟悉的逻辑函数,真值表示法,逻辑表达式,逻辑图,波形图,卡诺图表示法,逻辑函数中的最小项,CMOS构成的非门,与非门、或非门、异或门等功能电路,CMOS漏极开路门,三态输出门电路,组合逻辑电路的分析(输出只与输入有关系),明确逻辑功能,写真值表,写出逻辑表达式,SR锁存器,D锁存器,D触发器、JK触发器、T触发器,SR触发器,了解各触发器的特性表,后面最为重要的时序逻辑电路(除了输入之外,还和上一次状态相关),相关的逻辑方程组,状态表,状态图,时序图的表达,逻辑方程组求解中的一些步骤(输出方程组、激励方程组、状态方程组),然后常用的74HC/HCT374寄存器的逻辑图,一些典型的集成电路,如74LVC161的功能表,包括后面的555电路,这边只能到这种程度了,知道下数字电路实现的方式,以及如何去了解分析它的逻辑功能。毕竟计算机世界是由0和1构成的,还是得知道下如何靠数字电路去实现0和1的功能的。这本书里其实也介绍了verilog语法和FPGA,当年在校时并没有深入去探究,读研和毕业工作后,路也越走越偏,渐渐往软件和算法方向去了,现在基本也接触不到了,还是很可惜的,虽然现在还是挺感兴趣的,无奈时间精力有限。但博主硬件方面大概的原理还是了解的,后续不会生计奔波了,也许会再当兴趣爱好整整!
1.下载安装VIVADO
2.在Quick Start栏选择Create Project
3. 如下界面参见自己所用开发板配置
4.完毕后进入主界面
5.添加一个sources
6.创建一个文件
7.接下来开始编辑test.v
8.简单的实现一个与功能
`timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date: 2022/04/01 21:52:08
// Design Name:
// Module Name: test
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//
//function: a&b
// 0 0 0 ;0 1 0 ;0 0 0; 1 1 1module test(
a,
b,
out
);input a;
input b;
output out;assign out = a & b;endmodule
9.完毕后,点击Run Synthesis
10.完毕后,再次Add sources(仿真文件)
11.这边取名为test_tb
12.打开生成的text_tb文件
13.文件中内容如下:
`timescale 1ns / 1ns
//
// Company:
// Engineer:
//
// Create Date: 2022/04/01 22:18:49
// Design Name:
// Module Name: test_tb
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//module test_tb();reg s_a;reg s_b;wire out;test test_inst0(.a(s_a),.b(s_b),.out(out));initial begins_a=0;s_b=0;#200;s_a=0;s_b=1;#200;s_a=1;s_b=0;#200s_a=1;s_b=1;endendmodule
14.完毕后点击如下按钮进行仿真
15.查看仿真生成的时序图,结果是对的
16.接下来点击Run Implementation,等待处理完毕
17. 再选择时序仿真,可以查看时序波形图
18.点击Open Implemented Design,可看到
19.菜单栏选择I/O Planning
引脚分配如下:
完毕后保存下,可以查看一些相关信息
20.创建Bitstream
21.打开Open Hardware Manager, 连接上FPGA开发板
22.如下将程序下载到板子上去跑跑看
23.观察板子情况,可以看到两个开关朝上拨,即两个变量都为1时,led亮了
如上一个简单的通过verilog语言控制FPGA的demo就结束了,鉴于精力有限,博主后面不会再深入研究,只是扫扫盲。
Verilog语言控制Xilinx FPGA引脚demo相关推荐
- xilinx c语言u16,Xilinx FPGA LVDS应用
最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用.Xilinx FPGA中,主要通过原语实现差分信号的收发:OBUFDS(差分输出BUF),IBUFDS(差分输入BUF). 注意在分 ...
- Xilinx FPGA引脚官网以及导入Excel编辑
在工程中,不可避免地需要分配管脚和经常查阅引脚信息,所以将Xilinx FPGA引脚相关信息整理: xilinx官方,关于fpga管脚的网址如下: https://china.xilinx.com/s ...
- 基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制, 坐标变换,电流环,速度环,位置环,电机反馈接口,SVPWM 都是通过Verilog 语言来实现的
基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制, 坐标变换,电流环,速度环,位置环,电机反馈接口,SVPWM. . . 都是通过Verilog 语言来实现的,具有很高的研 ...
- 通过Verilog 语言来实现基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制
基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制, 坐标变换,电流环,速度环,位置环,电机反馈接口,SVPWM... 都是通过Verilog 语言来实现的,具有很高的研究价 ...
- 基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制 都是通过Verilog 语言来实现的
基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制, 坐标变换,电流环,速度环,位置环,电机反馈接口,SVPWM. . . 都是通过Verilog 语言来实现的,具有很高的研 ...
- 基于FPGA的数字电子琴——数电小系统设计【数字电子技术】(使用Vivado中的verilog语言)含piano代码文件(全)
目录 一.电路功能描述 二.方案设计 1. 总体设计方案 2. 对原理框图或程序流程图做出简单解释 3. 各模块介绍 3.1 音频驱动模块 3.2 LED显示模块 3.3 数码管显示模块 3.4 矩阵 ...
- FPGA学习之verilog语言入门指导
本人985硕士,在此分享下学习过程,verilog通关!本人博客页也分享了很多课程设计和毕业设计,欢迎收藏观看订阅!谢谢支持! 在学习之前,要思考下为什么学习FPGA,老师要求?项目要求?课题组要求? ...
- verilog语言实现FPGA板的交通信号灯
数字电子技术课程设计报告 设计题目: 交通信号灯 目录 一.概述 二.任务书(任务功能介绍) 三.系统设计 1.基本原理 2.系统设计框图 四.各单元设计(Verilog源代码及仿真图) 五.总体电路 ...
- XILINX FPGA和CPLD引脚约束步骤
XILINX FPGA和CPLD管教约束 1.XILINX CPLD引脚配置 打开ISE,这个工程所用的芯片是Coolrunner II CPLD系列的XC2C32A,找到floorplan IO-P ...
最新文章
- Python学习(四)
- Visual Studio中检测内存泄漏的方法(一)
- VTK:ShareCamera分享相机用法实战
- HTML5 Canvas中绘制矩形
- ×××数据库导数据ora-01400错误小计
- KVM虚拟机安装使用教程(Ubantu)
- 5·29 深圳 | 百度大脑生态合作计划及 AI 市场发布会即将登场
- dell2100服务器组装,戴尔poweredge r730服务器配置及系统安装详解教程
- android 动态添加listview,动态向listView Android添加元素
- [WP8.1UI控件编程]SemanticZoom控件实现分组列表
- 编程基本功:以输入法为例,谈谈测试案例的设计
- 谷歌代码规范的中文版
- Java 坐标系相互转换
- 如何升级iOS 16正式版?iOS 16正式版一键刷机教程
- HBulider 制作 手机APP
- 在這個神奇的國度找個正常點兒的DNS都很困難
- JVM和Java体系架构
- 孩子发烧是细菌感染还是病毒感染?教你秒懂血常规!
- 罗克韦尔Rockwell Automation EDI 项目
- 浅析配音的类别以及不同