本文转载自:OpenFPGA微信公众号
今天研究如何使用 Python + 低成本 FPGA 开发高性能、精密的机械臂。
简介
由于 FPGA 具有并行特性,它在精密电机控制和机器人领域表现出色。本文是探索开发基于 ROS2 的解决方案,让机器人可以在白板上自主书写文字。
在这个项目中,将展示如何创建一个具有以下功能的机械臂应用程序:
. 通过 FPGA...
python
作者:张海军,来源:傅里叶的猫
好久没写跟信号处理相关的内容了,我们这个公众号名字“傅里叶的猫”也是因为笔者是信号处理专业出身,刚工作的前几年一直在做跟信号处理相关的工作。
最近有小伙伴问我,有没有用Python做信号处理的入门教程,这位小伙伴本身的工作跟信号处理有关,又想学一下Python相关的东西。也许有同学会问,用Matlab多方便,为什么还要再用Python来做?...
作者:碎碎思 来源:开放式FPGAILA应该是调试AMD-Xilinx FPGA最常用的IP。在调试中,我们希望ILA中的波形能够提供有关设计问题的所有信息,但情况并非如此。对于复杂的调试,我们还需要将ILA捕获的真实数据存储到进一步处理的文件中。根据放置ILA的位置,我们可以通过不同的方式使用文件中包含的信息。ILA 监视输出数据 – 可用于验证模型的实例化的正确性。ILA...
作者:Zhang Yong,AMD工程师;来源:AMD开发者社区
OpenCV支持许多与计算机视觉和机器学习相关的算法,并且正日益扩展。OpenCV Python是OpenCV的Python API,本文介绍一种方法在petalinux环境下使用OpenCV的Python API实现USB camera视频流的读取显示。
在Petalinux 环境下执行带有opencv...
作者:MacMahon Stephen
本文将探讨如何以 Zynq UltraScale 器件上的 IP 核为目标,使用 Python 来创建一些强大的应用和实用工具。
此处提供了一个程序包,供您用于读取设备树和访问 IP 核。此外还提供一个实用工具,用于读取物理寄存器和开关 LED。
Python 是现如今最常用的编程语言之一。原因在于这种语言高产、易于部署且直观。...
作者陈锋,本文转载自:ExASIC
本文写了三个示例,展示了三种综合脚本的写法,供大家可以参考。
一:直接f.write()
第一种写法,在文件开头定义常修改的综合配置,然后直接用write函数,写到syn.tcl里。最后调用os.system("dc_shell -f syn.tcl")来执行综合。
import os
# config
#prj_root...
本文转载自: XILINX开发者社区
本文作者:赛灵思工程师 Deepesh Man Shakya
本篇博文提供了一个示例,用于演示如何使用 Python 脚本调试赛灵思 PCIe 设计。此处提供的技巧可应用于所有设计,而非仅供 PCIe 专用。
如果您当前使用的方法与此处所述方法类似,或者如果您决定使用所提供的脚本、在其基础上进一步强化,并愿意与我们分享您的脚本,...
为了对器件的闪存进行编程,必须使用 Vivado/Vivado Lab 或 SDK/Vitis 应用程序。
每个选项都有不同的设置过程和编程命令。
为了促进和提供无缝流程,我们创建了一个名为flash.py的 python 应用程序,它能够为任何 Xilinx 工具使用相同的命令和参数。
此过程特别推荐给使用 SmartLynq 电缆并希望快速对一批设备进行编程的客户。...
本文转载自: 硬码农二毛哥 微信公众号
Ubuntu中安装python虚拟环境:
在终端中运行:
pip install virtualenv
pip install virtualenvwrapper
配置
mkdir ~/.virtualenvs
which virtualenvwrapper.sh 查找改文件路径
vim ~/.bashrc
export...
近日,高阶FPGA ( Field Programable Gate Array可编程逻辑门阵列)系统设计、培训、技术咨询及大学计划的定制化服务专家依元素科技与美国赛灵思(Xilinx,Inc.,以下简称Xilinx)携手赞助的第五届台湾地区「创创AIoT竞赛」,因应台湾地区防疫政策原因,修改采用以在线方式举行盛大的总决赛。
本次竞赛吸引全台近50所高等院校近200组合作组队,...
本文转载自:XILINX开发者社区微信公众号
本篇是利用 Python 和 PyTorch 处理面向对象的数据集系列博客的第 3 篇。
如需阅读第 1 篇,请参阅此处。
如需阅读第 2 篇,请参阅此处。
第 3 部分:repetita iuvant(*):猫和狗
(*) 是一个拉丁语词组,意为“水滴石穿,功到自成”
在本篇博文中,我们将在“猫和狗”...
本文转载自:XILINX开发者社区微信公众号
本篇是利用 Python 和 PyTorch 处理面向对象的数据集系列博客的第 2 篇。
如需阅读第 1 篇:原始数据和数据集,请参阅此处。
我们在第 1 部分中已定义 MyDataset 类,现在,让我们来例化 MyDataset 对象
此可迭代对象是与原始数据交互的接口,在整个训练过程中都有巨大作用。
第 2 部分:...
本文转载自:XILINX开发者社区微信公众号
机器学习中一个常见问题是判定与数据交互的最佳方式。
在本文中,我们将提供一种高效方法,用于完成数据的交互、组织以及最终变换(预处理)。随后,我们将讲解如何在训练过程中正确地把数据输入给模型。
PyTorch 框架将帮助我们实现此目标,我们还将从头开始编写几个类。PyTorch 可提供更完整的原生类,...
本文转载自: PYNQ开源社区微信公众号
目前,虽然基于C/C++等高层次综合相较于手写RTL层级HDL语言已大幅提升了开发效率,但随着相关技术的不断进步,以及算法迭代的日益频繁,人们似乎并不满足于此。
不少刚刚接触到Pynq的用户第一个问号
Pynq是不是用Python编程FPGA的新物种?
在Pynq的FAQ中,...
本文转载自:网络交换FPGA微信公众号
芯片设计从RTL代码一直到最后流片的GDSII文件,都是文本文件,因此,掌握文本分析处理语言是集成电路设计的一项重要的基本功。本公众号一直致力于推广采用文本分析工具来提升仿真和综合效率的方法。详见本公众号专辑《芯片设计课程及相关实验》。本文是孙义雯同学采用Python语言实现的Vivado和Modelsim联合仿真的自动化脚本,...
作者 | 许向武
责编 | 郭芮
出品 | CSDN 博客
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练...
编译:CSDN- 孙薇,作者:Martin Andersson Aaberge
Python是一种很棒的语言,语法简单,无需在代码中搜索分号。对于初学者来说,Python是入门最简单的语言之一。
Python有大量的库支持,你还可以安装其他库来增加自己的编程经验。
学了一阵子之后,你可能会觉得:为如此简单的操作写大量的代码有些令人困惑。实际上,事情并没有你想得那么糟。...
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
1. for - else
什么?不是 if 和...
原作:Archie Mistry
翻译:豌豆花下猫@Python猫
原文:https://morioh.com/p/765b19f066a4
Python 是一门对初学者友好的编程语言,是一种多用途的、解释性的和面向对象的高级语言。
它拥有非常小的程序集,非常易于学习、阅读和维护。其解释器可在Windows、Linux 和 Mac OS 等多种操作系统上使用。...
作者:Jonathan Hsu
编译:ronghuaiyang
导读
想不想去掉瀑布一样的For循环?使用函数式编程来写代码。
你有没有过看自己的代码的时候,看到瀑布一样的 for 循环?你是否发现自己不得不眯着眼睛,向显示器前倾才能看得更清楚?
我知道我有过。
For 循环是解决问题的瑞士军刀,但是,当需要浏览代码以快速阅读你所做的事情时,它们可能会让人不知所措...
第一个:神奇的字典键
some_dict = {}
some_dict[5.5] = "Ruby"
some_dict[5.0] = "JavaScript"
some_dict[5] = "Python"
Output:
>>> some_dict[5.5]
"Ruby"
>>> some_dict[5.0]
"Python...
前一篇文章《Python 中如何实现参数化测试?》中,我提到了在 Python 中实现参数化测试的几个库,并留下一个问题:
它们是如何做到把一个方法变成多个方法,并且将每个方法与相应的参数绑定起来的呢?
我们再提炼一下,原问题等于是:在一个类中,如何使用装饰器把一个类方法变成多个类方法(或者产生类似的效果)?
# 带有一个方法的测试类
class TestClass...
本文想针对测试中一种很常见的测试场景,即参数化测试,继续聊聊关于测试的话题,并尝试将这几个测试框架串联起来,做一个横向的比对,加深理解。
1、什么是参数化测试?
对于普通测试来说,一个测试方法只需要运行一遍,而参数化测试对于一个测试方法,可能需要传入一系列参数,然后进行多次测试。
比如,我们要测试某个系统的登录功能,就可能要分别传入不同的用户名与密码,进行测试:...
标题:Python Tips: Dynamic function definition
作者:Philip Trauner
译者:豌豆花下猫”
来源:Python猫(微信号:python_cat)”
在 Python 中,没有可以在运行时简化函数定义的语法糖。然而,这并不意味着它就不可能,或者是难以实现。
from types import FunctionType...
我们为什么要学习 Python?
潘石屹先生再其最新的微博中如此说:
潘石屹 56 岁开始学 Python, 精神可嘉!那今天我们要看的是这么一副画面:
猜猜图中玩转 Pynq 开发板的小朋友多大?(Pynq = Python + Zynq)
9 岁!而且他即将从埃因霍温大学毕业了!他就是 Laurent Simons。让人惊讶的是,早在 6...
或许你是一个初入门Python的小白,完全不知道PEP是什么。又或许你是个学会了Python的熟手,见过几个PEP,却不知道这玩意背后是什么。那正好,本文将系统性地介绍一下PEP,与大家一起加深对PEP的了解。
目前,国内各类教程不可胜数,虽然或多或少会提及PEP,但笼统者多、局限于某个PEP者多,能够详细而全面地介绍PEP的文章并不多。
本文的目的是:尽量全面地介绍PEP是什么,...
前言
相信大家对于Python的列表和元组两种数据结构并不陌生了,如果我问大家这两种数据结构有什么区别呢?列表和元组都是数组,列表是动态的数组可以修改,元组是静态的数组不可修改。除此之外,大家还能想到其他的区别吗?接下来就让我来详细给大家介绍一下吧。
列表中高效搜索算法
存储结构
为了更好的了解列表,先来看看列表存储结构,列表其实也就是数组。当我们创建列表时,...
在命令行中使用 Python 时,它可以接收大约 20 个选项(option),语法格式如下:
python [-bBdEhiIOqsSuvVWx?] [-c command | -m module-name | script | - ] [args]
本文想要聊聊比较特殊的“-m”选项:关于它的典型用法、原理解析与发展演变的过程。
首先,让我们用“--help”来看看它的解释...
作者:豌豆花下猫”
来源:Python猫(微信号:python_cat)”
在 Python 的项目中,如何管理所用的全部依赖库呢?最主流的做法是维护一份“requirements.txt”,记录下依赖库的名字及其版本号。
那么,如何来生成这份文件呢?在上篇文章《由浅入深:Python 中如何实现自动导入缺失的库?》中,我提到了一种常规的方法:
pip freeze...
作者:豌豆花下猫”
来源:Python猫(微信号:python_cat)”
在写 Python 项目的时候,我们可能经常会遇到导入模块失败的错误:ImportError: No module named 'xxx'或者ModuleNotFoundError: No module named 'xxx'。
导入失败问题,通常分为两种:一种是导入自己写的模块(即以 .py 为后缀的文件...
作者:豌豆花下猫”
来源:Python猫(微信号:python_cat)”
迭代器是 23 种设计模式中最常用的一种(之一),在 Python 中随处可见它的身影,我们经常用到它,但是却不一定意识到它的存在。在关于迭代器的系列文章中(链接见文末),我至少提到了 23 种生成迭代器的方法。有些方法是专门用于生成迭代器的,还有一些方法则是为了解决别的问题而“暗中”使用到迭代器。...
作者:豌豆花下猫”
来源:Python猫(微信号:python_cat)”
在软件开发领域中,人们经常会用到这一个概念——“设计模式”(design pattern),它是一种针对软件设计的共性问题而提出的解决方案。在一本圣经级的书籍《设计模式:可复用面向对象软件的基础》(1991年,Design Patterns - Elements of Reusable Object-...
作者:豌豆花下猫”
来源:Python猫(微信号:python_cat)”
导读:切片系列文章连续写了三篇,本文是对它们做的汇总。为什么要把序列文章合并呢?在此说明一下,本文绝不是简单地将它们做了合并,主要是修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔接做了大量改动,如此一来,本文结构的完整性与内容的质量都得到了很好的保证。
众所周知,我们可以通过索引值(...
作者:豌豆花下猫”
来源:Python猫(微信号:python_cat)”
在前两篇关于 Python 切片的文章中,我们学习了切片的基础用法、高级用法、使用误区,以及自定义对象如何实现切片用法(相关链接见文末)。本文是切片系列的第三篇,主要内容是迭代器切片。
迭代器是 Python 中独特的一种高级特性,而切片也是一种高级特性,两者相结合,会产生什么样的结果呢?
1、...
作者:豌豆花下猫”
来源:Python猫(微信号:python_cat)”
切片是 Python 中最迷人最强大最 Amazing 的语言特性(几乎没有之一),在《Python进阶:切片的误区与高级用法》中,我介绍了切片的基础用法、高级用法以及一些使用误区。这些内容都是基于原生的序列类型(如字符串、列表、元组……),那么,我们是否可以定义自己的序列类型并让它支持切片语法呢?更进一步,...
作者:豌豆花下猫”
来源:Python猫(微信号:python_cat)”
众所周知,我们可以通过索引值(或称下标)来查找序列类型(如字符串、列表、元组…)中的单个元素,那么,如果要获取一个索引区间的元素该怎么办呢?
切片(slice)就是一种截取索引片段的技术,借助切片技术,我们可以十分灵活地处理序列类型的对象。通常来说,切片的作用就是截取序列对象,然而,...
作者:豌豆花下猫”
来源:Python猫(微信号:python_cat)”
连续几篇文章都在写 Python 字符串,这出乎我的意料了。但是,有的问题,不写不行,特别是那种灵机一动想到的问题,最后你发现,很多人根本不懂却又误以为自己懂了。那就继续刨根问底,探究个明白吧。
在上一篇文章《你真的知道Python的字符串怎么用吗?》里,我突发奇想,将字符串跟列表做了比较,...
作者:豌豆花下猫”
来源:Python猫(微信号:python_cat)”
正如《你真的知道Python的字符串是什么吗?》所写,Python 中字符串是由 Uniocde 编码的字符组成的不可变序列,它具备与其它序列共有的一些操作,例如判断元素是否存在、拼接序列、切片操作、求长度、求最值、求元素的索引位置及出现次数等等。
除此之外,它还有很多特有的操作,值得我们时常温故学习,所以...
作者:豌豆花下猫”
来源:Python猫(微信号:python_cat)”
在《详解Python拼接字符串的七种方式》这篇推文里,我提到过,字符串是程序员离不开的事情。后来,我看到了一个英文版本的说法:
There are few guarantees in life: death, taxes, and programmers needing to deal with...
作者:豌豆花下猫”
来源:Python猫(微信号:python_cat)”
上周的PyCoder's Weekly上分享了一篇小文章,它里面提到的冷知识很有意思,作者稍作补充,分享给大家。
它提到的部分问题,读者们可以先思考下:
• 若两个元组相等,即 a==b 且 a is b,那么相同索引的元素(如a[0] 、b[0])是否必然相等?...
作者:豌豆花下猫”
来源:Python猫(微信号:python_cat)”
1、来自C语言的%方式
print('%s %s' % ('Hello', 'world'))
>>> Hello world
%号格式化字符串的方式继承自古老的C语言,这在很多编程语言都有类似的实现。上例的%s是一个占位符,它仅代表一段字符串,并不是拼接的实际内容。...
作者:豌豆花下猫”
来源:Python猫(微信号:python_cat)”
Python 中的sys模块极为基础而重要,它主要提供了一些给解释器使用(或由它维护)的变量,以及一些与解释器强交互的函数。
本文将会频繁地使用该模块的getsizeof()方法,因此,我先简要介绍一下:
• 该方法用于获取一个对象的字节大小(bytes)...
数据类型
基本数据类型:
整型(int),浮点型(float),字符串(str),列表(list),元组(tuple),字典(dict),集合(set),布尔(bool)
数值类型(整数,浮点,布尔)
序列类型(字符串,列表,元组)
散列类型(字典,集合)
字节类型 a=bytes(‘123’)/a=b’123’
字节数组bytearrary(‘123’)
可变序列:...
原创整理:Python开发者(id:PythonCoder)
最近知名 IDE 厂商 JetBrains 发布了 2019 年开发者调查报告。本文汇总和 Python 相关的调查数据和结果。
JetBrains 从阿根廷、巴西、加拿大、中国、法国、德国、印度、日本、墨西哥、波兰、俄罗斯、韩国、西班牙、土耳其、乌克兰、英国和美国收集了足够大的样本。全球约 70% 的开发人员都在这些国家...
转自:数据派THU,翻译:吴慧聪
简介
提示和技巧总是非常有用的,在编程领域更是如此。有时候,小小的黑科技可以节省你大量的时间和精力。一个小的快捷方式或附加组件有时会是天赐之物,可以成为实用的效率助推器。所以,我在这里介绍下自己编程时最喜欢使用的一些提示和技巧,在这篇文章中汇总起来呈现给大家。有些可能是大家熟悉的,而有些可能是新鲜的,我相信它们会为你下一次处理数据分析的项目时提供便利...
作者:梁云1991,来源: Python与算法之美
一,分析代码运行时间
第1式,测算代码运行时间
平凡方法
快捷方法(jupyter环境)
第2式,测算代码多次运行平均时间
平凡方法
快捷方法(jupyter环境)
第3式,按调用函数分析代码运行时间
平凡方法
快捷方法(jupyter环境)
第4式,...
时间:7月25日 | 10:00 - 12:00
线上直播,扫描二维码报名
研讨会背景
可预测性维护(PdM)技术用于随时监控在役设备的状况,同时预测何时需要进行维护。这比正常或定期进行的预防性维护更能节约成本,而且另一个好处是无需系统停机进行检测。现如今,随着人工智能技术的发展,无论是工厂,医院或者其他环境中,对某些重要设备的性能或运作的细微变化,...
Xilinx GEMX(通用矩阵运算)库可提供一套高性能引擎,用于加速严重依赖矩阵运算的应用。该库附带了一组能够支持软件的 Python API,特别是 Python 开发人员可以轻松利用这些引擎的性能优势。
主要特性与优势
高性能密集和稀疏矩阵运算加速器
通过指令控制的引擎减少数据移动开销
支持行主格式密集矩阵运算
支持 COO 格式稀疏矩阵运算
支持全面连接的网络操作...
作者 | 屠敏 整理
报告来源 | JetBrains
出品 | CSDN(ID:CSDNnews)
互联网的下半场,科技公司为面对更加严峻的竞争环境,越来越重视开源节流。而对于身处其中且撑起 IT 半边天的技术人,如今如何了?从技术角度来看,其又该作何改变顺应潮流?
接下来,我们将从 JetBrains 最新发布的《2019 开发人员生态系统现状》报告中一窥究竟。...
作者:hankf,Xilinx Employee
Ubuntun 16.04系统,PetaLinux 2019.1 执行"petalinux-config", 失败。
1. PetaLinux 2019.1 执行"petalinux-config", 失败。
[INFO] generating meta-plnx-generated layer
File "genprop....