当前位置: 首页 > news >正文

【FPGA】设计流程——Verilog输入

主线任务:基于赛恩斯FPGA芯片的硬件开发版以及VR的软件的使用及开发流程

一、创建文件

学习和使用赛恩斯的FPGA开发所使用的软件为Vivado 2018.3

第一栏是快速开始目录(第一个是创建新工程,第二个是打开已有工程,第三个是打开示例工程)
第二栏是基本任务
第三栏是学习中心网站,会提供官方的学习资料

点击 Create Project后会弹出一系列选项卡,每个选项卡来完成一个或多个功能的设置与选择
第一页选项卡是对于创建新工程功能的简单介绍,直接点击“Next”进入下一页即可

第二页是输入工程名称Project name,取名时最好有一定的实际意义,这里的mux2是二选一多路器,它是FPGA中最简单的电路模型,Project location是存放工程文件的路径,勾选Create project subdirectory选项,软件就会在指定的Project location位置的文件夹下新建一个和Project name一样的文件夹。

第三页是选择创建的工程类型,选择第一个RTL Project即可。
勾选第一个选项表示不需要添加已有的设计源文件、源代码。

Default Part页面是选择器件型号的,即FPGA开发板上芯片的具体型号

根据购买的开发板选择对应的芯片型号(此处选择xc7a35tfgg484)

下一页是汇总页面,展示了前面的页面中选择和设置的内容,核对无误后点击Finish即可完成创建

接下来需要根据任务需求进行设计输入,设计输入包括很多方式,比如:硬件描述语言(HDL)、原理图、IP等,这里最适合的设计输入方式是HDL。

点击File→Add Sources或者直接在主界面使用 Alt+A 的快捷键即可调出创建设计源文件的选项卡。

第一个选项是添加一个约束(物理相关的信息),第二个是创建或添加一个设计源文件,第三个是创建一个用于仿真的源文件。这里选择第二个选项即可。

命名是最好与所创建的工程名称保持一致,点击OK→Finish会弹出下一个选项卡。

这里需要输入设计的端口信息,但是不常用,直接点击OK→Yes即可。

至此已完成文件的创建。

二、二选一多路器

结构如下图,两个输入一个输出和一个选择端口。
功能是当SEL=0时:OUT=A;当SEL=1时:OUT=B

三、  程序编写

1.准备工作

双击文件名打开代码编写的窗口,先将软件自动生成的程序全部删除

2.创建模块

任意一个模块都是由module表示模块开始,endmodule表示模块结束。

3.模块声明

将模块的名称直接写入代码中,进行模块声明

4.端口声明

在模块声明之后进行端口说明,用括号()括起来,里面写端口列表,每个端口写完之后使用一个英文的逗号分开,括号外面加分号;代表端口列表结束。

注意:verilog代码中所有的字母区分大小写,且所有字符均需使用英文字符

5.端口定义

端口列表写完后,需要对端口的类型进行说明,每个端口定义完用分号;结束

6.描述功能

描述输出端口和输入端口的逻辑关系
assign是连续赋值语句,等号右边的内容对等号左边的内容进行赋值
判断sel是否为0,为0则out=a,不为0则out=b,相当于C语言中的三目运算符

提示:Vivado团建的代码编译器本身的自带有语法检测功能,会用红色波浪线标注出有语法错误的代码,一般出现无法打印的字符就说明代码中含有中文字符

四、代码分析

点击RTL中的Open Elaborated Design,保存所写的代码

点击OK进行代码分析

此时显示的是芯片的封装

点击Schematic即可出现符号图

http://www.dtcms.com/a/517045.html

相关文章:

  • UV工具安装配置使用教程
  • 餐饮SaaS系统:一站式智慧餐饮解决方案,赋能多场景运营
  • 在网盘上怎么做自己的网站阜宁企业网站建设
  • Vue2学习笔记(上)
  • JavaScript 数组方法和属性详解
  • 每日算法刷题Day77:10.22:leetcode 二叉树bfs18道题,用时3h
  • 免费h5网站模版泸州中泸建设集团有限公司网站
  • compilesdk是Android11的compose项目
  • 连云港网站 建设seo刷关键词排名工具
  • 《Java 集合框架全解析!从入门到实战,面试 / 开发都用得上!》
  • 高光谱遥感岩性识别研究进展
  • 刚刚济南发通知南通seo网站诊断
  • 时间服务作业
  • c++ stringstream字符串流的用法
  • 重庆官方网站有哪些南联网站建设哪家好
  • 营销型网站制作费用wordpress 纯静态
  • 探索Objective-C中的对象复制:深入理解copy和mutableCopy
  • Wordpress自建外贸网站网站运营怎么学
  • 最大回撤约束下ETF多因子动态止盈参数校准方案
  • 广东省省考备考(第一百三十天10.22)——科学推理:受力分析(第三节课)
  • Transformer 面试题及详细答案120道(111-120)-- 综合与拓展
  • win网站建设学习网站建设课程
  • 【Android】详细讲解ViewDragHelper的实现原理(不含代码版)
  • 有关学校网站建设策划书个人简历电子版填写免费模板
  • CAS #:1309649-57-7,Biotin-PEG4-azide,生物素-PEG4-叠氮
  • 什么是搜索引擎百度sem优化师
  • 防重复提交的Token机制需求测试点
  • 李宏毅机器学习笔记29
  • 羊驼免疫平台:纳米抗体制备的天然基石与实践挑战深度解析
  • 【YOLO11-obb部署至RK3588】模型训练→转换RKNN→开发板部署