复旦微ZYNQ7020全国产替代方案设计
现在国产化进度赶人,进口的芯片只做了个功能验证,马上就要换上国产的。国内现在已经做出来zynq的只有复旦微一家,已经在研制的有上海安路,还有成都华微(不排除深圳国威也在做,毕竟这个市场潜力很大)。
使用场景在哪里
首先明确一点,Zynq这类ARM+FPGA的异构SOC芯片绝不适用于低成本方案 ,为什么?
使用这类芯片几乎都需要配套DDR3,一片DDR3的价格大概在一百元,这还是进口的价格,国产的更贵;
只要使用DDR,就至少需要八层电路板,投一次板多少钱?2千元以上;
如果使用复旦微家的FMQL,就会捆绑销售他家的nor flash,因为别家的和他不兼容。而且这个nor flash还是军温级的,一片1千元以上(进口的仅需三十元)。
那么使用这种芯片优势在哪呢?
ARM编译很快,FPGA编译很慢,前期一些指标急于验证的话可以使用ARM来快速验证;
ARM适合做协议层和业务层数据解析和一些逻辑控制,因为这些东西通常需要反复修改,使用ARM非常方便。可移植性也很好,意味着可以直接从旧项目上copy代码;
FPGA适合做算法和对时序有严格要求的控制,或者数据采集这种高吞吐率的工作。这种程序后期基本不需要大动;
由于是芯片级别的结合,因此ARM和FPGA之间的通信变得非常简单,直接用AXI总线就可以了,相比传统方案的电路板上走线简直是多快好省。
芯片架构有区别
不同于Xilinx的双核Cortex-A9 + FPGA,复旦微家的设计是四核CortexA7 + FPGA。FPGA方面的架构和资源是一样的,几乎可以平行替代;ARM方面,两者都属于Armv7架构,两匹骡和四头驴的区别吧,都不算太强悍。Zynq推出的时间毕竟比较长了,在当时A9算是比较新的架构,可是复旦微的FMQL后来居上,不但未出其右,甚至还差了那么一点意思(成都华威的据说是四核A53,性能更强悍,比较期待)。
ARM体系架构图
至于为什么不采用和Xilinx家双核A9的架构,我猜测可能是知识产权的问题,毕竟当时Zynq是 Xilinx 和 ARM 两家共同研发的,复旦微要加ARM核必然需要ARM公司的授权,这个坎是绕不过的。
Zynq 芯片架构图
ARM这块采用的架构不同,这也就带来了软件移植上的问题,Zynq使用定制的eclipse(叫做SDK)开发Arm软件,和vivado配合整个生态链比较闭环,开发人员也不需要关注太多底层的东西,例如bsp文件是如何生成的,内存是如何分配的等等。但是FMQL没有开发自家的IDE,因此使用的是IAR这个开发环境,再配合上低配版vivado软件——Procise。
XM_FDW_ZYNQ7020是一款基于FMQL20S400 的全国产化核心 模 块 。 该核心 模 块 将FMQL20S400 (兼容FMQL10S400)的最小系统集成在了一个 50*70mm 的核心板上,可以作为一个核心模块,进行功能性扩展,特别是用在控制领域,可以发挥其独特的优势。该款核心板的主芯片兼容XC7Z020或XC7Z010 系列 FPGA。核心板上布了 DDR3 SDRAM、EMMC、SPI FLASH、以太网 PHY 芯片等。通过两个板对板连接器实现 PL 端IO 的扩展。
FMQL20S400 是全可编程融合芯片,在单芯片内集成了具有丰富特点的四核处理器(PS)和可编程逻辑(PL),基于先进的 28nm 工艺,配合相应的开发软件,实现一体化软硬件平台,方便开发,节约生产成本。该核心模块主要用于工控信号处理、工控图像处理等场景。
原理框图
实物图
技术指标
板载 FPGA 实时处理器:
FPGA 型号:FMQL20S400;
处理系统(PS):四核处理器、最高主频 1GHz;
逻辑资源:28K,块 RAM 2.1Mb,DSP 单元 80;
封装尺寸:FCBGA400,17*17mm,完全兼容 ZYNQ7010;
动态缓存指标:
缓存数量:2 片 DDR3 SDRAM 颗粒;
芯片型号:SCB13H4G160AF;
缓存带宽:32 位数据总线,工作时钟不低于 500MHz;
缓存容量:≥2GByte;
非易失性存储:
QSPI FLASH:JFM25Q256,容量 256Mbit;
EMMC: FEMDRW008G,容量 8GByte;
以太网接口:
芯片型号:YT8531H;;
支持 10M/100M/1000M 自适应以太网;
其他接口性能:
晶振:PL 端支持 1 路 50MHz 时钟,PS 端支持 1 路 33.33Mhz时钟;
板对板连接器:2 个 120Pin 位于 Bottom 层;
物理与电气特征
板卡尺寸:50 x 70mm
板卡供电:1A max@+12V(±5%)
散热方式:自然风冷散热或金属导冷散热
环境特征
工作温度:-40°~﹢85°C;
存储温度:-55°~﹢125°C;
工作湿度:5%~95%,非凝结
软件支持
板级软件开发包(BSP):
支持裸跑和 Linux 操作系统;
支持底层接口驱动;支持外围接口扩展;
可根据需求提供定制化算法与系统集成
信迈提供国产ZYNQ的定制化解决方案。
相关文章:

复旦微ZYNQ7020全国产替代方案设计
现在国产化进度赶人,进口的芯片只做了个功能验证,马上就要换上国产的。国内现在已经做出来zynq的只有复旦微一家,已经在研制的有上海安路,还有成都华微(不排除深圳国威也在做,毕竟这个市场潜力很大…...

蓝桥杯真题——自动售水机
2012年第四届全国电子专业人才设计与技能大赛“自动售水机”设计任务书1. 系统框图接下来我们将任务分块: 1. 按键控制单元 设定按键 S7 为出水控制按键,当 S7 按下后,售水机持续出水(继电器接通,指示 灯 L10 点亮&…...

软件质量保证与测试 课程设计 测试报告 缺陷报告撰写方法
测 试 报 告 2020年 6月 1日 测试项目 程序员 测试人 测试阶段: □集成 √系统 □ 测试日志编号清单 1,2,3,4,5,6,7,8,9,10 遗留错误说明:(测试后仍然遗留下来未解决的错误及其说明) 1.系统界面不够友好&…...

vue2和vue3中路由的区别和写法?
前言:Vue 2 和 Vue 3 中路由的主要区别在于使用的路由库不同。在 Vue 2 中,通常使用 Vue Router 作为路由库;而在 Vue 3 中,Vue Router 仍然是官方推荐的路由库,但也可以选择使用新的路由库 - Vue Router Next。下面分…...

【数据结构】第四站:单链表力扣题(一)
目录 一、移除链表元素 二、链表的中间结点 三、链表中倒数第k个结点 四、反转链表 五、合并两个有序链表 六、分割链表 一、移除链表元素 题目描述:力扣 法一:直接循环依次判断 对于这个题目,我们最容易想到的一种思路就是,…...

SAP BPC简介
BPC是SAP在financial application领域主推的产品,由于从原有产品线发展而来,产品本身有两个版本,分别是基于MS OLAP平台和Netweaver OLAP平台。 整个系统分为.net前台和abap后台。由于abap端的数据结构与.net数据结构的差异,所以没…...

Linux网络概述
写咋前面 今天,我们需要初步的认识一下Linux中网络的基本原理,只有大家对这个有一个初步的认识,后面我们学习起来才会更加的简单容易.计算机语言知识那么多,但是Linux不是.面试时,面试官总是会有问题难住你,我们后面需要看看书,这一点非常重要.我们现在谈的是脉络,.是框架.这些…...

Mybatis --- 获取参数值和查询功能
一、MyBatis的增删改查 1.1、新增 <!--int insertUser();--> <insert id"insertUser">insert into t_user values(null,admin,123456,23,男) </insert> 1.2、删除 <!--int deleteUser();--> <delete id"deleteUser">dele…...

【C++】C++入门,你必须要知道的知识
1.C关键字 🔥前言: C是在C的基础之上,容纳进去了面向对象编程思想,并增加了许多有用的库,以及编程范式等。熟悉C语言之后,对C学习有一定的帮助。今天的主要目标: 1️⃣ 补充C语言语法的不足&…...

spring(七):事务操作
spring(七):事务操作前言一、什么是事务二、事务四个特性(ACID)三、事务操作(搭建事务操作环境)四、事务操作(Spring 事务管理介绍)五、事务操作(注解声明式事…...

Word怎么转换成PDF文件格式?思路提供
PDF是一种通用的文件格式,它可以在不同操作系统和设备上保持一致的显示效果。在日常工作或学习中,我们常常需要将Word文档转换为PDF格式,以便更好地进行分享、存档或打印,毕竟Word文档则往往会因为不同版本的软件或者字体等原因而…...

HCIE-Cloud Computing LAB备考第二步:逐题攻破--第五题:规划--根据网络平面规划表,完成ensp中接入交换机SW1/2的配置
我是第五题规划题目的要求之一,需要从这里跳转过来,没看过题目的彭友,可以先跳转过去哈 解题:根据网络平面规划表,在两台交换机上对应的端口表填写服务器的网口号,完成ensp中接入交换机SW1/2的配置 答案 完成交换机端口表 第一:心中划分好“服务器接口表”,考试不需…...

【无标题】Perforce研讨会回顾 | Helix Core在芯片行业的应用实例:芯片项目的版本控制、持续集成及自动化
2023年2月28日,龙智联合全球领先的数字资产管理和DevSecOps工具厂商Perforce共同举办Perforce on Tour网络研讨会——“赋能‘大’研发,助力‘快’交付”。 研讨会上,在芯片行业有15年经验的Perforce Helix Core深度用户——何刚了带来精彩演…...

AdamW 优化器
Adam 优化器于 2014 年推出,其思想:既然知道某些参数移动得更快、更远,则每个参数不需要遵循相同的学习率,因为最近梯度的平方代表每一个权重可以得到多少信号,可以除以这个,确保即使是最迟钝的权重也有机会…...

手把手教你基于HTML、CSS搭建我的相册(上)
The sand accumulates to form a pagoda写在前面HTML是什么?CSS是什么?demo搭建写在最后写在前面 其实有过一些粉丝咨询前端该从什么开始学,那当然是我们的前端基础三件套开始学起,HTML、CSS、javaScript,前端的大部分…...

基于Redis实现的延时队列
基于Redis实现的延时队列 针对于Redis实现延时队列有两种实现方式: 使用zset实现实现的延时队列 借助redis zset来实现延时队列,具体的实现代码很简单,就是从zset中取出score小于当前时间戳的数据 import cn.hutool.json.JSONUtil; impor…...

(3.16——3.19)本周后半段总结
周四(3.16) 1.封装了TitleTip组件,并写了博客记录 http://t.csdn.cn/DAY4chttp://t.csdn.cn/DAY4c2.菜单跳转配置完毕,进行了一些页面的细节样式修改 3.基本写完了ServerSideEncryption页面,十一点多剩最后一点交互的…...

C++ 基础: cin和getline() 有啥区别?
所谓温故而知新,所以时不时会回头来看看我们最最基础的知识。 获取标准键盘输入的方法有多种。以C语言来说,最常用的就是cin 和geline() 。那么它们之间有什么区别呢,我们总结一下。 一、cin和geline的异同点 在 C 中,cin 和 ge…...

在使用fastjson中遇到的问题
一、在使用fastjson中遇到的问题 导论:最近在写一个JavaFx项目的时候使用到了fastjson作为处理json数据的依赖。在其它非JavaFx项目中也使用到了相同版本的fastjson,但是可以正常运行,而在JavaFx项目中却报异常,刚开始以为是我的依…...

C++造轮子飙车现场之无锁、有锁环形队列实现
先看带锁的实现。 带锁版本 circular_queue.h // 头文件防卫 #ifndef CIRCULAR_QUEUE_H #define CIRCULAR_QUEUE_H#include <mutex> // 互斥量 #include <condition_variable> // 条件变量template <typename T> class CircularQueue { public:// 构造函数…...

Spring Profiles and @Profile
1. Overview In this tutorial, we’ll focus on introducing Profiles in Spring. Profiles are a core feature of the framework — allowing us to map our beans to different profiles — for example, dev, test, and prod. We can then activate different profiles…...

数据分析-数据探索
文章目录前言主要内容总结更多宝藏前言 😎🥳😎🤠😮🤖🙈💭🍳🍱 随着大数据和人工智能技术的不断发展,数据分析已经成为了一种非常重要的技能和工…...

7个最受欢迎的Python库,大大提高开发效率
当第三方库可以帮我们完成需求时,就不要重复造轮子了 整理了GitHub上7个最受好评的Python库,将在你的开发之旅中提供帮助 PySnooper 很多时候时间都花在了Debug上,大多数人呢会在出错位置的附近使用print,打印某些变量的值 这个…...

Intellij IDEA 中调试 maven 插件
Intellij IDEA 中调试 maven 插件话痨一下步骤1. classfinal-demo 项目部分2. ClassFinal 部分参考资料话痨一下 目前有两个项目: ClassFinal 是一款java class文件安全加密工具。classfinal-demo 是我建的一个Demo,用来测试ClassFinal的加密效果。 目…...

Java全栈知识(1)缓存池
我们先看这么一道题 Integer x new Integer(123); Integer y new Integer(123); System.out.println(x y); // false Integer z 123; Integer k 123; System.out.println(z k); // true Integer a 200; Integer b 200; System.out.println(z k); //false 我们…...

网络安全的特性
0x00 前言 网络安全的特性包括,机密性,完整性,可用性,真实性和不可否认性。详细的内容可以参考如下的内容。 Xmind资源请下载~ 0x01 机密性 机密性(Confidentiality) 意味着阻止未经授权的实体&#x…...

YOLOv8 多目标跟踪
文章大纲 简介环境搭建代码样例跟踪原理代码分析原始老版实现新版本封装代码实现追踪与计数奇奇怪怪错误汇总lap 安装过程报错推理过程报错参考文献与学习路径简介 使用yolov8 做多目标跟踪 文档地址: https://docs.ultralytics.com/modes/track/https://github.com/ultralyt…...

Gitee搭建个人博客(Beautiful Jekyll)
目录一、引言二、博客模板选型 - Jekyll三、安装Jekyll环境3.1 安装Ruby3.2 安装Jekyll3.3 下载Jekyll主题四、搭建我的Gitee博客4.1 选择主题 - Beautiful Jekyll4.2 创建Gitee账号同名代码库4.3 写博客4.4 开通Gitee Pages服务五、对Beautifu Jekyll的相关优化一、引言 之前…...

图形视图框架 事件处理(item)
在图形界面框架中的事件都是先由视图进行接收,然后传递给场景,再由场景传递给图形项。通过键盘处理的话,需要设置焦点,在QGraphicsScene中使用setFoucesItem()函数可以设置焦点,或者图形项使用s…...

PTA第六章作业详解
🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:夏目的作业 💬总结:希望你看完之后&am…...