使用Vivado开发工具编写一个计算器

内容:

省流版:使用Vivado的sdk用c语言编程,芯片是xilinx的xc7z020,数码管模块。

在通过使用Vivado开发工具,以FPGA为基础,结合数码管显示模块和SDK编程实现一个简单的计算器。主要包括电路设计、硬件调试和软件编程三个部分。

首先,在Vivado中进行电路设计部分,我们需要创建一个基于FPGA的项目。确定所需的输入和输出接口,并添加数码管显示模块来显示计算结果。根据计算器的功能,我们需要设计合适的运算电路,并将输入和输出信号与数码管模块连接起来。

接着,进行硬件调试部分。在Vivado中生成比特流文件后,将其烧录到目标FPGA板上。通过连接适当的开发板线缆和外设,确保电路能够正确地响应输入并在数码管上显示正确的计算结果。如果出现问题,可以使用Vivado提供的调试工具进行故障排查和修复。

最后,进行软件编程部分。利用SDK工具,编写相应的程序代码,实现计算器的各种功能。使用适当的编程语言(如C或者C++),根据用户的输入执行加减乘除操作,并将结果显示在数码管上。可以考虑添加其他功能,例如清零、取反、小数运算等。

小白友好

新建工程

创建工程

更改文件名字和文件的保存路径

选择项目类型

选择源文件的语言类型和添加约束文件,这里选择空后面会自动生成

选择xilinx主板芯片

创建工程完成

创建块设计

Ip块的名字

点击(一个小“十”形状)键,添加IP,搜素里ZYNQY芯片

双击芯片

取消不需要的选项

我们需要用GPIO的EMIO的引脚数,查看原理图后面会有

DDR的芯片选择对应的

右键GPIO 点击Make External

点击Run Block Automation

点击

检查电路连接是否准确

点击Sources

右键点击Generate Output Products和Create HDL Wrapper

最终变化成

点击Run Implementation

这是在综合编译中

结果

点击Window 点击I/O Ports

引脚电压为3.3V,

对照原理图

主板原理图J15A

板子上找

数码管模块需要10个引脚并分别对应

生成约束文件.xdc

关闭硬件Design

生成比特流文件

点击File->Export-> Export Hardware

包括比特流文件

点击File->Launch SDK

点击File->New->Application Project

软件编程:

工程名字

右键点击src 生成c语言的源文件

C语言源文件的名字

右键点击空白处show line numbers

文件System.mss中有关于GPIO的例子

软件设计原理图

Main函数

显示模块display()

程序:

#define SEG_STB 56
#define SEG_CLK 57
#define SEG_DIO 58
int main()
{
	ConfigPtr =XGpioPs_LookupConfig(XPAR_XGPIOPS_0_DEVICE_ID);
	XGpioPs_CfgInitialize(&GPIO,ConfigPtr, ConfigPtr->BaseAddr);

	//给GPIO设置方向(1为输出,0为输入)
	XGpioPs_SetDirectionPin(&GPIO, SEG_STB, 1);
	XGpioPs_SetDirectionPin(&GPIO, SEG_CLK, 1);

	//将GPIO设置输出端使能

	XGpioPs_SetOutputEnablePin(&GPIO, SEG_STB, 1);
	XGpioPs_SetOutputEnablePin(&GPIO, SEG_CLK, 1);

	display();
}

结果

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值