基于ARM联合ZYNQ的设计小结

1、硬件设计

硬件设计就是使用PS的自带硬核,外接其他可以连接AXI的IP核,构成一个自定义的硬件平台。如果简单理解,可以把这些操作统称为底层。这部分的设计还是比较方便的。vivoda中有丰富的可以利用的IP核来使用。在使用官方的IP核时有一种比较轻松的感觉,因为官方的IP是没有问题的(至少目前是没有遇到过)。但是,对于自定义的AXI的IP设计,则是比较困难的。由于需要仿真,每次测试都需要完整地走完整个流程。有ZYNQ的设计的测试文件也不会编写呀。这使得一次验证的成本变得非常高。前面一个设计我验证了两次就不想再验证了。尽管发现了一个小问题,也不愿意去尝试能否成功。这使得设计的复杂性受到限制。

纯FPGA的编写则是另外的一套体系,直接通过顶层文件挂载就行。这可以在FPGA环境验证通过后在挂在顶层,问题不会很突出。

2、软件设计

软件设计主要是根据提供的系统库中的函数调用来提高设计的可靠性。自定义的函数也是可以的(带参数的函数尝试过,但是失败了,主要对这个编译器的声明还是不是很了解)。设计基本上和C语言差不多。如果只是想用简单C语言来制作硬件的测试的话,这个部分还是比较好理解的。

3、配合设计

两个部分配合使用的话,需要考虑到PS对PL部分的通信,也就是AXI的联系问题。一般采用AXI设计的软件是可以通过地址来读取和写入数据的。还有问题就是硬件需要明确位宽和从地址,方便后面的调用。

4、总结

ZYNQ的设计还是需要学习很多设计的知识的。FPGA和ARM配合的灵活性还是比较高的。对于某个设计,最好分多个小工程依次验证。宁可多做几次,也不要一次加入过多的未知数。否则每次检测错误都需要走一遍,有多个错误时可能顾此失彼,导致不断在调试中而失败。考虑到vivado的效率,每次实验都是一次巨大的时间投入。

基于ARM联合ZYNQ的设计小结的更多相关文章

  1. 基于ARM的SoC设计入门[转]

    原文:基于ARM的SoC设计入门 我们跳过所有对ARM介绍性的描述,直接进入工程师们最关心的问题.要设计一个基于ARM的SoC,我们首先要了解一个基于ARM的SoC的结构.图1是一个典型的SoC的结构 ...

  2. 基于ARM处理器的反汇编器软件简单设计及实现

    写在前面 2012年写的毕业设计,仅供参考 反汇编的目的 缺乏某些必要的说明资料的情况下, 想获得某些软件系统的源代码.设计思想及理念, 以便复制, 改造.移植和发展: 从源码上对软件的可靠性和安全性 ...

  3. 课程设计个人报告——基于ARM实验箱的捕鱼游戏的设计与实现

    课程设计个人报告--基于ARM实验箱的捕鱼游戏的设计与实现 一.个人贡献 参与课设题目讨论及部分过程 资料收集 负责代码调试 捕鱼游戏相应功能的实现 实验环境 Eclipse软件开发环境: ARM实验 ...

  4. 课程设计小组报告——基于ARM实验箱的捕鱼游戏的设计与实现

    课程设计小组报告--基于ARM实验箱的捕鱼游戏的设计与实现 一.任务简介 1.1 任务内容 捕鱼游戏这个项目是一个娱乐性的游戏开发,该游戏可以给人们带来娱乐的同时还可以给人感官上的享受,所以很受人们的 ...

  5. 《基于Arm实验箱的国密算法应用》课程设计 结题报告

    <基于Arm实验箱的国密算法应用>课程设计 结题报告 小组成员姓名:20155206赵飞 20155220吴思其 20155234昝昕明 指导教师:娄嘉鹏 设计方案 题目要求:基于Arm实 ...

  6. 20155234 昝昕明《基于ARM实验箱的国密算法应用》课程设计个人报告

    20155234 昝昕明<基于ARM实验箱的国密算法应用>课程设计个人报告 个人贡献 参与课设题目讨论及完成全过程: 资料收集: SM1算法及和ARM之间通信 负责串口代码调试: 协调完成 ...

  7. 20155235 王玥 《基于Arm实验箱的接口测试和应用》 课程设计报告

    20155235 王玥 <基于Arm实验箱的接口测试和应用> 课程设计报告 一.设计方案及可行性分析 熟悉 Linux 开发环境 多线程应用程序设计 串行端口程序设计 中断实验 二.详细设 ...

  8. 20155338课程设计个人报告——基于ARM实验箱的Android交友软件的设计与实现

    课程设计个人报告--基于ARM实验箱的Android交友软件的设计与实现 个人贡献 实验环境的搭建 代码调试 在电脑上成功运行 研究程序代码撰写小组报告 一.实验环境 1.Eclipse软件开发环境: ...

  9. 基于ABP落地领域驱动设计-00.目录和小结

    <实现领域驱动设计> -- 基于 ABP Framework 实现领域驱动设计实用指南 翻译缘由 自 ABP vNext 1.0 开始学习和使用该框架,被其优雅的设计和实现吸引,适逢 AB ...

  10. 基于ARM的车牌识别技术研究与实现

    在云盘里包含了我本科毕业设计的全部资料和代码.主要涉及下面摘要中的几个部分.虽然系统无法实用,但是适合机器视觉和嵌入式方向的入门.希望能对有志从事相关方向的朋友有所帮助.本人现在在深圳从事机器视觉算法 ...

随机推荐

  1. Centos7安装MySQL5.7和Redis6.0流水账

    安装mysql 使用rpm包安装 yum remove mariadb-libs.x86_64 yum install perl rpm -ivh mysql-community-common-5.7 ...

  2. 【framework】ATMS启动流程

    1 前言 ​ ATMS 即 ActivityTaskManagerService,用于管理 Activity 及其容器(任务.堆栈.显示等).ATMS 在 Android 10 中才出现,由原来的 A ...

  3. Mysql错误消息 语言设置

    今天操作数据库的时候,mysql错误返回语句 ,一直报的是非英语的语言 ,百般纠结 ,简单的还大致能猜出意思 , 复杂了就会实在看不懂的 ,举个简单的如下: [Err] 1064 - Erreur d ...

  4. 微信小程序生态13-微信公众号自定义菜单配置

    序 微信公众号分为订阅号和服务号两种,虽然二者很大的不同,但是这两种公众号的底部却是差不多的:都有菜单栏,而且这些底部菜单也都是自定义配置的. 如CSDN的官方公众号的底部就有精彩栏目.新程序员.CS ...

  5. SIP协议解析

    起始行(start-line) INVITE sip:34020000001320000001@202.102.11.27:35611 SIP/2.0 请求消息的起始行包括三个参数,格式:Reques ...

  6. 解决etcd集群空间占用问题 mvcc: database space exceeded

    一.查看状态 ./etcdctl --write-out=table endpoint status 可以看到空间占用(DB SIZE).本次是清理过了.原本达到了2G(为默认上限) 二.查看当前版本 ...

  7. 如何避免Git合并远程分支时出现可读性差的日志

    问题及现象 当某一分支(假设为main)的本地仓库和远程仓库都基于同一个提交进行了修改,并分别创建了新的提交时,在本地执行git push origin main会提示先要执行git pull合并远程 ...

  8. 变量,六大数据类型之字符串、列表、元祖----day02

    1.变量:可以改变的量,实际具体指的是内存中的一块存储空间 (1)变量的概念 (2)变量的声明 (3)变量的命名 (4)变量的交换 *常量就是不可改变的量,python当中没有明确定义常量的关键字,所 ...

  9. 正则函数及面向对象开发初识---day19

    1.正则函数 # ### 正则函数 import re #search 通过正则匹配出第一个对象返回,通过group取出对象中的值 strvar = "1+2 3*4" obj = ...

  10. vscode中跑go test时打印详细信息配置

    1.文件>首选项>设置>搜索Test Flags 2.选择在settings.json中编辑 3.添加以下内容 "go.testFlags":[ "-v ...