Documentation/fmc/FMC-and-SDB.txt

2024-06-22 07:38
文章标签 txt documentation fmc sdb

本文主要是介绍Documentation/fmc/FMC-and-SDB.txt,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如果想评论或更新本文的内容,请直接联系原文档的维护者。


如果你使用英文交流有困难的话,也可以向中文版维护者求助。


如果本翻译更新不及时或者翻译存在问题,请联系中文版维护者。


中文版维护者: 陶莹莉  tyl18768122426@163.com


中文版翻译者:  陶莹莉  tyl18768122426@163.com


中文版校译者:  陶莹莉  tyl18768122426@163.com


FMC (FPGA Mezzanine Card) is the standard we use for our I/O devices,
in the context of White Rabbit and related hardware.


FMC(FPGA夹层卡)是我们使用I/O设备的标准,在White Rabbit以及相关硬件的上下文环境下。


In our I/O environments we need to write drivers for each mezzanine
card, and such drivers must work regardless of the carrier being used.
To achieve this, we abstract the FMC interface.


在我们的I/O环境,我们需要为每个夹层卡编写驱动程序,这些驱动程序必须工作无论是否正在被使用。
为了实现这一目标,我们将FMC接口抽象。


We have a carrier for PCI-E called SPEC and one for VME called SVEC,
but more are planned.  Also, we support stand-alone devices (usually
plugged on a SPEC card), controlled through Etherbone, developed by GSI.


我们有一个称为SPEC的PCI-E载体和VME的一个被称为SVEC但更多的正在规划中。此外,我们支持单机设备
(通常是插入一个SPEC卡),通过GSI开发的Etherbone控制。


Code and documentation for the FMC bus was born as part of the spec-sw
project, but now it lives in its own project. Other projects, i.e.
software support for the various carriers, should include this as a
submodule.


FMC总线的代码和文档是作为spec-sw项目的一部分诞生的,但现在生存自己的项目中。其他项目,即
软件支持的各种载体,作为一个子模块应包括这个。


The most up to date version of code and documentation is always
available from the repository you can clone from:


        git://ohwr.org/fmc-projects/fmc-bus.git (read-only)
        git@ohwr.org:fmc-projects/fmc-bus.git (read-write for developers)


最新版本的代码和文档是始终可用的,从知识库你可以克隆以下:
 git://ohwr.org/fmc-projects/fmc-bus.git (只读)
        git@ohwr.org:fmc-projects/fmc-bus.git (开发者可读和写)

Selected versions of the documentation, as well as complete tar
archives for selected revisions are placed to the Files section of the
project: `http://www.ohwr.org/projects/fmc-bus/files'


选择文档的版本,以及供选择的档案版本文件都放在部分项目中
: `http://www.ohwr.org/projects/fmc-bus/files'


What is FMC
***********
什么是FMC
***********


FMC, as said, stands for "FPGA Mezzanine Card". It is a standard
developed by the VME consortium called VITA (VMEbus International Trade
Association and ratified by ANSI, the American National Standard
Institute.  The official documentation is called "ANSI-VITA 57.1".


FMC,据说全称是“FPGA夹层卡”。这是一个由VME财团称为VITA(VMEbus国际贸易开发
协会和美国国家标准(ANSI)研究所批准。)的标准,官方文档被称为“ANSI-VITA57.1”。


The FMC card is an almost square PCB, around 70x75 millimeters, that is
called mezzanine in this document.  It usually lives plugged into
another PCB for power supply and control; such bigger circuit board is
called carrier from now on, and a single carrier may host more than one
mezzanine.


FMC卡几乎是个方形的印刷电路板,70x75毫米左右,在本文档中称为夹层。它通常插入
另一个PCB的电源和控制器,从现在开始,这种更大的电路板被称为载波,单载波可托管多个
夹层。


In the typical application the mezzanine is mostly analog while the
carrier is mostly digital, and hosts an FPGA that must be configured to
match the specific mezzanine and the desired application. Thus, you may
need to load different FPGA images to drive different instances of the
same mezzanine.


夹层的典型应用大多是模拟当载体主要是数字并且寄主的FPGA的配置必须和特定的夹层
和所需的应用匹配。因此,你可能需要加载不同的FPGA图像来驱动同一夹层的不同实例。


FMC, as such, is not a bus in the usual meaning of the term, because
most carriers have only one connector, and carriers with several
connectors have completely separate electrical connections to them.
This package, however, implements a bus as a software abstraction.


FMC诸如此类,在通常意义上不是总线,因为大多数载体只有一个连接器,有几个
连接器的载体具有完全独立的电器连接到他们。然而,这个包,实现了总线作为一种软件抽象。


What is SDB
***********


什么是SDB
***********
SDB (Self Describing Bus) is a set of data structures that we use for
enumerating the internal structure of an FPGA image. We also use it as
a filesystem inside the FMC EEPROM.


SDB(总线自我描述)是一组我们用来列举FPGA的内部结构成像的数据结构。
我们还用它作为在FMC只读存储器的文件系统。


SDB is not mandatory for use of this FMC kernel bus, but if you have SDB
this package can make good use of it.  SDB itself is developed in the
fpga-config-space OHWR project. The link to the repository is
`git://ohwr.org/hdl-core-lib/fpga-config-space.git' and what is used in
this project lives in the sdbfs subdirectory in there.


SDB不强制使用这种FMC内核总线,但如果你有SDB这个软件包,你可以好好利用它。
SDB本身是建立在FPGA的配置空间上。链接库是` git://ohwr.org/hdl-core-lib/fpga-config-space.git”,
在这个项目中使用的是存在在sdbfs目录中的。


SDB support for FMC is described in *note FMC Identification:: and
*note SDB Support::


FMC的SDB支持在*注意 FMC识别::和*注意SDB的支持::中描述


SDB Support
***********


SDB的支持
***********


The fmc.ko bus driver exports a few functions to help drivers taking
advantage of the SDB information that may be present in your own FPGA
memory image.


fmc.ko的总线驱使一些功能来帮助利用SDB信息,这可能在你当前的FPGA存储图像中。


The module exports the following functions, in the special header
<linux/fmc-sdb.h>. The linux/ prefix in the name is there because we
plan to submit it upstream in the future, and don't want to force
changes on our drivers if that happens.


该模块输出以下功能,在特殊的头文件< Linux / FMC SDB。”。名称中的linux/ prefix
是因为我们计划在未来向上提交,如果那事发生,不想迫使我们的驱动发生变化。


         int fmc_scan_sdb_tree(struct fmc_device *fmc, unsigned long address);
         void fmc_show_sdb_tree(struct fmc_device *fmc);
         signed long fmc_find_sdb_device(struct sdb_array *tree, uint64_t vendor,
                                         uint32_t device, unsigned long *sz);
         int fmc_free_sdb_tree(struct fmc_device *fmc);
 
int fmc_scan_sdb_tree(struct fmc_device *fmc, unsigned long address);
         void fmc_show_sdb_tree(struct fmc_device *fmc);
         signed long fmc_find_sdb_device(struct sdb_array *tree, uint64_t vendor,
                                         uint32_t device, unsigned long *sz);
         int fmc_free_sdb_tree(struct fmc_device *fmc);

这篇关于Documentation/fmc/FMC-and-SDB.txt的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1083680

相关文章

Java实现TXT文件导入功能的详细步骤

《Java实现TXT文件导入功能的详细步骤》在实际开发中,很多应用场景需要将用户上传的TXT文件进行解析,并将文件中的数据导入到数据库或其他存储系统中,本文将演示如何用Java实现一个基本的TXT文件... 目录前言1. 项目需求分析2. 示例文件格式3. 实现步骤3.1. 准备数据库(假设使用 mysql

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

Python如何将大TXT文件分割成4KB小文件

《Python如何将大TXT文件分割成4KB小文件》处理大文本文件是程序员经常遇到的挑战,特别是当我们需要把一个几百MB甚至几个GB的TXT文件分割成小块时,下面我们来聊聊如何用Python自动完成这... 目录为什么需要分割TXT文件基础版:按行分割进阶版:精确控制文件大小完美解决方案:支持UTF-8编码

Python3脚本实现Excel与TXT的智能转换

《Python3脚本实现Excel与TXT的智能转换》在数据处理的日常工作中,我们经常需要将Excel中的结构化数据转换为其他格式,本文将使用Python3实现Excel与TXT的智能转换,需要的可以... 目录场景应用:为什么需要这种转换技术解析:代码实现详解核心代码展示改进点说明实战演练:从Excel到

Python按条件批量删除TXT文件行工具

《Python按条件批量删除TXT文件行工具》这篇文章主要为大家详细介绍了Python如何实现按条件批量删除TXT文件中行的工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.简介2.运行效果3.相关源码1.简介一个由python编写android的可根据TXT文件按条件批

Python脚本:TXT文档行数统计

count = 0 #计数变量file_dirs = input('请输入您要统计的文件根路径:')filename = open(file_dirs,'r') #以只读方式打开文件file_contents = filename.read() #读取文档内容到file_contentsfor file_content in file_contents:

mysql中导入txt文件数据的操作指令

1 表tt的格式:    CREATE TABLE `tt` (   `ind` int NOT NULL auto_increment,   `name` char(100) default NULL,   PRIMARY KEY  (`ind`)  )   2 文件d.txt的内容示例:  1,a  2,b  3,c

【python txt合并】python合并同一个文件夹下所有txt文件

一、需求分析 合并一个文件夹下所有txt文件 二、合并效果 三、python实现代码 # -*- coding:utf-8*-import sysreload(sys)sys.setdefaultencoding('utf-8')import osimport os.pathimport timetime1=time.time()##############

【自然语言处理 词库建设】怎样将搜狗的细胞词库scel格式转化成txt格式

搜狗词库:https://pinyin.sogou.com/dict/ 1、先下载搜狗词库到本地,文件格式为.scel后缀 2、利用python3 自动转换成txt python3版本: # -*- coding:utf-8 -*-import structimport os# 由于原代码不适用python3且有大量bug# 以及有函数没有必要使用且一些代码书写不太规范或冗余#在原有