技术论坛

  • FPGA

    Xilinx大学计划官方FPGA开发板(DIGILENT全球唯一原厂) & Pmods积木式传感器

    发帖数

    329
    Xilinx SDK 与 Linux 混合编程
    想请教一下关于“XilinxSDK与Linux混合编程”的问题:1、在使用XilinxSDK进行程序开发时,怎样添加Linux的一些头文件?(在SDK添加时发现很多文件没有包含)2、怎样与OenCV以及Qt进行整合?(在SDK中添加OenCV库文件应该可以实现,但是Qt程序开发依赖于QtCreator,可否将XilinxSDK生成的BSP添加至QtCreator中?)
    发布于 6小时前
  • 开源微控制器(LabVIEW支持)

    树莓派(Raspberry Pi)、BeagleBone Black、chipKIT

    发帖数

    42
    BeagleBone Black安装run-time问题
    按照自学里的步骤安装run-time出现问题了请大神们帮我看看是什么原因导致不往下进行提示run-time版本14.1-11可供安装点击安装run-time然后跳出图片上的这个让我点击EXPANDPARTITION按钮点击后就是一直是working也不往下执行了然后其他按钮都点击不了整整等了5个小时一直就是这个界面不往下走
    发布于 07-15
  • 口袋仪器

    OpenScope、Analog Discovery 2、Analog Discovery、Digital Discovery、Electronics Explorer

    发帖数

    44
    使用Analog Discovery2时遇到一些问题,求大神指点。任意函数发生器的问题。
    我打算自己做一个基于AnalogDiscovery2的晶体管图示仪,在Labview上分别单独搞出来锯齿波和阶梯波之后,发现我不能同时使用AnalogDiscovery2的两个函数发生器。希望论坛的大神指教一下,是我使用不当呢,还是AnalogDiscovery2不支持函数发生器双通道同时工作。
    发布于 10-17

创客圈

  • 创客小组(项目集散地)

    这里不仅有灵感与创意,更有实践、激情、与同道。创者无畏!

    发帖数

    22
    基于Basys3的2048小游戏
    首先十分感谢Digilent论坛提供的这次机会,我跟大家分享的是我设计的一款小游戏:基于Basys3的2048小游戏。游戏功能:游戏界面由4×4的16个方格组成,每个方格中可以存放一个数字。玩家通过操纵Basys3开发板的上下左右四个方向键和中央的reset键,控制方格中的数字移动。界面由VGA和Pmod接口oled两种方式显示。游戏成功时显示笑脸,失败时显示骷髅。游戏过程中,玩家每按动一次方向键,所有数字按照这个方向移动一次,该方向上相邻相同的数字合并为原来的2倍,并在反方向随机生成一个新的数字。玩家目标是在游戏中拼出2048或更高的数字,即为游戏成功。DIY动手指南:Ste1:材料准备硬件:Basys3开发板VGA连接线以及VGA显示器(可选)sh1106驱动的oled显示屏一块软件:Vivado2016.2Ste2:系统框架系统主要由以下几个模块构成,游戏主状态机、游戏数据寄存器{S16}、移动模块move、随机产生模块gen、随机数生成器ran、VGA驱动模块和oled驱动模块。Ste3:程序设计接下来分模块进行分析。1、按键去抖对每个按键设计了一个32位长的FIFO,按键值从低位进入直至高位溢出。每过10ms,FIFO被完全刷新一次,只有当32位为FFFFFFFFh时认为输入为1,00000000h时认为输入为0。2、游戏数据寄存器用4×4=16个4bit寄存器,存放16个格子中的数据,记为{S16},以【log2对数】形式存放。即如果格子中是512,则存放9;如果格子中是128,则存放7。特例是0用0来存放。这种存放的特点是,可以节约寄存器数量,而且原本的加法128+128=256可以用加1来表示:7+1=8。寄存器位置定义如下:3、游戏主状态机游戏主状态机中,主要操纵数据寄存器{S16}的数值,通过对这个寄存器中数值的改变来实现游戏的进行。状态机分为4个状态:检测按键+移动,产生随机数,游戏状态检测,游戏失败死循环。其中游戏状态检测时,检查当前游戏是否已经结束或成功,如果成功,游戏不中断,玩家可以继续下去,如果已经结束,则跳入游戏失败的死循环中,结束游戏。4、移动逻辑组合电路本游戏有4种移动方式,即上下左右,每次移动4条线,但本质都是相同的,只需要一个模块即可完成。如下图所示move(i3,i2,i1,i0,o3,o2,o1,o0)我们默认向右移动。(为什么呢?因为当我们调用这个模块时,可以以各种方向调用:如果向右移动,则调用move(15,14,13,12)向右,如果向左移动,则调用move(12,13,14,15)向右即可,还可以调用move{15,11,7,3}向下,调用move{1,5,9,13}向上等等。)那么向右移动时,用f3~f0判断这四位是否为空,通过对f3~f0的16种情况的mux来决定输出的值,如果有相同则合并后输出。(其实这个模块就是一个大mux)例如,下图所示,左图右移后,变为右图。再例如:2,2,4,8右移后变为0,4,4,8,再右移变为0,0,8,8再右移变为0,0,0,165、随机数生成器和随机产生模块随机数产生器为随机产生模块gen服务。随机数生成器产生3组随机数,分别为8bit,12bit和16bit。分别对应2空格、3空格和4空格的情况。例如,如果右移后的图片如下图所示,那么黄色格子里的2就是在最左列3空格情况下随机产生的一个位置。我们还是默认向右移动,那么最左边的四个格子(15,11,7,3)即可交给gen,在空白出产生一个随机位置的“2”。这里需要注意的是,2048游戏中规定必须是“有效移动”后才产生一个数字,以杜绝有投机的玩家一直按同一个方向键可以作弊的情况。这一逻辑只需要对上一步中move前后做一下对比即可。6、VGA显示模块640×480分辨率,25MHz的时钟信号。其中扫描时,将VGA坐标的后两位[1:0]舍去,即可将640×480像素变为160×120的色块。(注:源码中的VGA画图一段和oled画图一段看上去很复杂,其实是画点的方式比较奇怪,两种画法都是先将132x64的点阵水平划分为8条,每条8行,再以每列为1个byte的方式画出来。。。那么为什么要这么复杂呢?因为oled的sh1106驱动就是这么要求的,我先做了oled,后面vga就直接引用了~)Ste4:演示见视频~
    发布于 03-07
  • 竞赛 & 活动

    DIGILENT全可编程创新创业设计大赛(DDC)、江苏省虚拟仪器竞赛、极客DIY限时挑战等

    发帖数

    15
    特别活动 | Python on Everything 硬件项目挑战赛
    PythonforEverything!「Python+开源硬件」·创客项目设计主题活动▼PythonAI时代的头牌语言web开发、游戏开发、客户端开发...当这些软件应用领域逐渐被Python“玩坏了”之后凭借“语言简洁,无需编译,开发高效”的特性一场Python与开源硬件的邂逅悄然已成趋势人生苦短,我用Python当DIGILENT已为你准备好多款主流Python开发板当你的情敌暑期已在用Python加速项目设计开发不要告诉我们你还在家打王者荣耀暑期8月,DIGILENT有一个大胆的想法管它当讲不当讲「Python+开源硬件」·创客项目设计挑战赛Let'smakePythonforEverything!1先来一波DIGILENTPython支持开发板▼PYNQ世界上第一款支持Python的FPGA嵌入式开发板●主芯片:XilinxZynq-7020●Python开发战斗值:★★★★★●战力简介:支持开源的PYNQ项目,它直接对硬件底层进行的封装,用户借助封装库文件可以直接使用ython语言操作硬件I/O管脚等功能,不需要再使用复杂繁琐的开发工具,使用基于浏览器的JuyterNotebook工具就可以直接编辑工程代码。同时可轻松搭建开源的机器学习二值神经网络(BNN)。●了解详情:www.digilent.com.cn/roducts/ynq-z1▼Zedboard世界上第一款也是最为经典的XilinxZynqAPSoC开发板●主芯片:XilinxZynq-7020(双核ARMCortex™-A9)●Python开发战斗值:★★★★●战力简介:在Linux系统中配置Python3或Python2.7(如果使用的是Ubuntu,Python2,3已被预安装),即可用Python进行应用设计。调用驱动控制外设。环境配置步骤:1)安装Linux系统;2)安装Python;更新系统:$sudoat-getudate检查版本:$ython3-V3)安装所需的库;$iinstall$sc●了解详情:www.digilent.com.cn/roducts/roduct-zedboard-zynq-7000-arm-fga-soc-develoment-board▼Zybo享有“MiniZedboard”美誉的Zynq入门级训练板●主芯片:XilinxZynq-7010(双核ARMCortex™-A9)●Python开发战斗值:★★★★●战力简介:在Linux系统中配置Python3或Python2.7(如果使用的是Ubuntu,Python2,3已被预安装),即可用Python进行应用设计。调用驱动控制外设。环境配置步骤:1)安装Linux系统;2)安装Python;更新系统:$sudoat-getudate检查版本:$ython3-V3)安装所需的库;$iinstall$sc●了解详情:www.digilent.com.cn/roducts/roduct-zybo-zynq-7000-arm-fga-soc-trainer-board▼Arty-Z7全新问世兼容Arduino接口的Zynq-7000开源创客开发板●主芯片:XilinxZynq-7020/10(双核ARMCortex™-A9)●Python开发战斗值:★★★★●战力简介:在Linux系统中配置Python3或Python2.7(如果使用的是Ubuntu,Python2,3已被预安装),即可用Python进行应用设计。调用驱动控制外设。环境配置步骤:1)安装Linux系统;2)安装Python;更新系统:$sudoat-getudate检查版本:$ython3-V3)安装所需的库;$iinstall$sc●了解详情:www.digilent.com.cn/roducts/roduct-arty-z720-asoc-zynq-7000-develoment-board-for-makers-and-hobbyists▼树莓派2为Python编程而生的Geek最爱嵌入式开发板●主芯片:900MHz双核ARMCortex-A7CPU●Python开发战斗值:★★★★★●战力简介:在早先BBC的一篇采访中,RasberryPi的创始人之一EbenUton就曾提到,RasberryPi的命名中,Pi所指的就是Python。树莓派基金会提供了基于ARM的Debian和ArchLinux的发行版供大众下载。还计划提供支持Python作为主要编程语言,支持Java、BBCBASIC(通过RISCOS映像或者Linux的"BrandyBasic"克隆)、C和Perl等编程语言。●了解详情:www.digilent.com.cn/roducts/roduct-labview-for-rasberry-i-2▼BeagleBoneBlack为数不多可以在10秒内启动Linux的开发板,三大开源硬件平台之一●主芯片:AM335x1GHzARMCortex-A8●Python开发战斗值:★★★★★●战力简介:不可多得的支持Python编程的实战力器,默认安装有Python2.7.3以及相应的Python库。●了解详情:www.digilent.com.cn/roducts/roduct-labview-for-beaglebone-black2活动参与方式与福利01挑战任务基于任意一款DIGILENTPython支持开发板,在为期四周的时间内(9月8日前)使用Python语言编写一个应用设计。应用主题不限,但需要利用硬件外设,如Pmod模块、摄像头,或板上自带的IO/WiFi模块/传感器等。02奖项设置●最佳「Python+开源硬件」设计作品奖【1名】获赠全新DigilentPYNQ开发板一块受邀参与2017DIGILENT创客夏令营●优秀创意作品奖【2名】获赠全新DigilentchiKITWF32嵌入式开发板一块受邀参与2017DIGILENT创客夏令营●实际作品提交参与奖【若干】所有最终按照活动要求提交作品的挑战者,都将获得人气FPGA教材一套03参与方式&am;项目提交●参与方式:加入“PythonforEverything”创客小组传送门:www.digilent.com.cn/makerhubs/ython-on-everything.html●项目提交:项目完成后,进入上述页面”发布项目”●截止时间:9月8日中午12时04指定软硬平台指定硬件(优秀创意项目DIGILENT提供免费租借):●PYNQ/Zedboard/Zybo/Arty-Z7/RasberryPi2/BeagleBoneBlack指定软件:●XilinxVivado/Linux系统/Python语言05作品评分细则●所有最终提交的作品将由DIGILENT工程师依据以下评分项综合打分评选出最终的名次:1)作品创意20’2)作品完成度30’3)作品实现难度20’4)作品提交内容的完整度30‘5)额外加分项:使用Zedboard,Zybo,Arty-Z7参与活动,额外+10'3推荐阅读资料推荐阅读社区多篇热门Python阅读集结:1《项目教程|手把手教你如何在Zybo上跑Python制作一个LED呼吸灯》2《资源分享|基于Python的开源人脸识别库》3《学习笔记|PythonImage库(PIL)常用操作函数》4《知乎问答|你们都是怎么学Python的?》5《话题讨论|Python为何能坐稳AI时代头牌语言》6《机器学习|Zynq+PYNQ+Python:在PYNQ-Z1上搭建二值神经网络(BNN)》活动参与:1)www.digilent.com.cn/makerhubs/ython-on-everything.html2)申请加入部落3)9月8日前提交完成作品想要申请开发板租借,参与此次活动的童鞋(限在校学生),请在本帖内留言哟~~
    发布于 08-08
  • 工科街(求职招聘区)

    一条纯粹属于在校工科生的话题街。尽情释放内心的小怪兽,海侃校园内外,闲聊天南地北

    发帖数

    50
    "年薪25万只是白菜价"!这几个专业的毕业生正被疯抢ZT……
    近日,一份2018届互联网校招高薪清单在网络流传清单显示了众多知名互联网企业技术类岗位的年薪水平动辄30万以上的出价引起了不少高校应届生的关注文科学位的小编看了清单留下了穷人的眼泪拿到企业offer的同学反馈来看年薪水平还是比较准确的深度学习、机器学习、人工智能等岗位比较火热校招年薪25万人民币只是白菜价年薪25万是白菜价!▼高薪清单曝光算法工程师最吃香2018届互联网校招已经开展有20多家企业年薪突破了30W谷歌中国的人工智能岗位年薪最高达56万元人民币算法工程师岗位最吃香网传2018届互联网校招高薪清单人工智能火年薪25万只是白菜价在互联网圈子里有一句话流传甚广得人工智能者得天下人工智能人才到底有多稀缺?搜索“人工智能”后会出现相当多的招聘岗位具有诱惑力的薪酬会让人眼前一亮招聘网站截图中国大量资金正流向人工智能尤其是与其他行业的应用结合中国企业在这一层面的融资额已逼近美国2017年的政府工作报告首次提出要加快人工智能等技术的研发和转化中国建设“智慧型经济”和“智慧社会”的目标有望推动国内生产总值(GDP)的增长人才缺口大但潜力足我国人工智能、深度学习等领域存在较大的人才缺口面临“坑”多“萝卜”少的现状据《人民日报海外版》报道工信部教育考试中心副主任在2016年透露中国人工智能人才缺口超过500万人深度学习的商业化导致AI人才稀缺一些行业巨头正在全球范围内设立实验室以吸引人才百度在2013年就在美国硅谷设立了AI实验室腾讯在2016年也宣布成立AI实验室并且积极招募在神经网络和机器学习方面的AI人才2017百度联盟峰会:李彦宏畅谈AI时代思维方式,人工智能才是主菜在中国互联网当下技术创新的大背景下人工智能等新技术正在成为新一代的驱动力不难看出,未来几年,不论国内外人工智能等技术性较强的行业人才是互联网公司最需要的
    发布于 10-24

干货热帖

  • 科普:一文带你了解赛灵思Vivado开发套件与IP核的原理、作用
    IP核(IPCore)Vivado中有很多IP核可以直接使用,例如数学运算(乘法器、除法器、浮点运算器等)、信号处理(FFT、DFT、DDS等)。IP核类似编程中的函数库(例如C语言中的rintf()函数),可以直接调用,非常方便,大大加快了开发速度。IP内核的三种类型IP核有三种不同的存在形式:HDL语言形式,网表形式、版图形式。分别对应我们常说的三类IP内核:软核、固核和硬核。什么是软核?IP软核通常是用HDL文本形式提交给用户,它经过RTL级设计优化和功能验证,但其中不含有任何具体的物理信息。据此,用户可以综合出正确的门电路级设计网表,并可以进行后续的结构设计,具有很大的灵活性,借助于EDA综合工具可以很容易地与其他外部逻辑电路合成一体,根据各种不同半导体工艺,设计成具有不同性能的器件。软IP内核也称为虚拟组件(VC-VirtualComonent)。什么是硬核?IP硬核是基于半导体工艺的物理设计,已有固定的拓扑布局和具体工艺,并已经过工艺验证,具有可保证的性能。其提供给用户的形式是电路物理结构掩模版图和全套工艺文件,是可以拿来就用的全套技术。什么是固核?IP固核的设计程度则是介于软核和硬核之间,除了完成软核所有的设计外,还完成了门级电路综合和时序仿真等设计环节。一般以门级电路网表的形式提供给用户。如果所有的事情VivadoHLS都做完了,那么还要Vivado干什么呢?点击RTLexort,就能以Vivado工程的形式或者IPcore将生成的RTL级VHDL/Verilog代码导出,进行下一步处理了vivado中文件类型.dc文件主要包括PhysicalConstraints,DeviceConstraints,Netlists以及device的信息.dc文件就是ise中的网表文件和约束文件的集合,只不过在vivado中被集合在了一个文件里。.xdc文件,这个是vivado的约束文件,vivado的约束文件和ise中的约束文件.ucf或者.cf相比有很大不同,.xdc中的约束文件其实就是一系列的tcl语句,所以对于vivado中的约束文件,可以作为一个源文件放在工程里,在综合和布局布线中调用;也可以在tclconsole中输入,立即执行。.xci文件,这是定制i产生的文件,里面包含了定制的i核的所有信息,可以通过这个文件产生需要的i核,作用和.dc文件差不多。i核中也有.dc文件.rt文件,这个是每个过程结束输出的一个reort文件,用来记录各个过程中的一些信息,和ise中的多种输出文件格式相比,这样的统一格式显然更好一点。原文链接:htt://blog.csdn.net/songkai320/article/details/52131918
    亮了(0) 120 0 10-31
  • 【连载】探索ARTY=ARduino compatibiliTY方程式的无限可能:汇总贴
    之前另一位版主john199112基于RISC-V的微控制器架构在ARTY上配置了一个开源MCU,可以让ARTY使用Arduino就可以轻轻松松做完开发。但是好多FPGA达人直呼不过瘾!这是赤裸裸的浪费FPGA性能!既然ARTY的设计初衷就是为了全面兼容Arduino的外围配件,那么为何不来开一个帖子专门使用ARTY系列对各种Arduino开发板的使用来一个汇总呢?本版主打算完整挑战这一任务!计划使用一定的时间对Arduino接口、Arduino扩展板与ARTY的配合进行一个全方位的、具有深度的剖析,并且挑战那些不可能!不知道大家有何建议呢?欢迎下边跟帖回复,你的建议很可能会被采纳哦!计划如下:基础篇:Arduino及ArduinoShield介绍认识Microblaze与ZYNQ基本输入输出设计与使用串口设计与使用SPI、I2C设计与使用AD模块使用实战篇:形形色色的传感器模块与运动单元:舵机、直流电机、无刷电机、步进电机的那些事Arduino各传感器汇总实验惯性测量单元的初步使用当Arty遇上全彩色LED灯带,欲罢不能竟然可以用Arty玩游戏?Joystick摇杆扩展LCD1602显示屏的经典与非经典玩法音频可以怎么玩?让音乐开发板入驻Arty万能的视频:在全彩LCD上播放BadAle显示屏之争:LCD与OLED的对比挑战:LCD触摸屏制作一个鼠标和键盘设备经典再现:基于Arty的智能小车各种无线射频模块大乱斗CC1101/nRF905-远程IP发送器nRF24L01-迷你四旋翼遥控器Zigbee,ESP8266/ESP32,SIM卡-智能家居初步AM/FM收音机发射与接收-电台的收听与音乐的发送RFID读卡器与NFC-获取校园一卡通和地铁卡信息GPS信号获取-制作一个功能完备的GPS定位器扩展与通信篇:DDR3L内存的访问以太网通信使用Arty与实时操作系统进行交互使用Petalinux对Arty进行Linux系统配置借助于Pmod的蓝牙通信借助于Pmod的Wi-Fi通信进阶设计:摄像头乱入Arty与ArduinoShield自行设计如何发挥FPGA自身设计优势和Arty智能平衡小车ArtyA7进行图像输出可行性讨论与实现ArtyZ7设计并使用HDMI在屏幕上进行输出与电脑的高速通信:USB2.0/3.0与以太网全面PK想都不敢想:真的可以在Arty上实现PCIe的通信吗?对软件无线电的扩展与研究
  • 一张通往计算机世界的地图ZT
    转自“原理”微信公众号我们通过计算机来拓展我们自己的大脑。最开始计算机被用来解决和算数有关的问题,但其自身的价值很快地延伸到了各个领域。像是运行互联网络,处理实时图像,制造人工智能,以及模拟整个宇宙等等。而其神奇的地方就在于这一切强大功能的背后,竟然仅是0和1的来回变化。计算机正以无法置信的速度变小变快。现在手机的计算能力已经超过了60年代超级计算机计算能力的总和(详见:《计算机所面临的极限是什么?》)。当年阿波罗11号的整个登月系统如今甚至只需要在两个任天堂就能完成。计算机科学总的来说就是研究计算机能做什么。计算机科学如今已经扩展出了很多相互关联的分支,但我仍然把整个学科分成三个部分:计算机理论,计算机工程,以及计算机应用。计算机理论○第一大分支:计算机理论。|图片来源:DominicWalliman讲到计算机理论。我们得从计算机之父,创造了图灵机(TuringMachine)的阿伦·图灵讲起。图灵在一篇名为《论可计算机器判定问题的应用》一文中首次定义了“有限次运算”并提出了图灵机的原型。图灵机是一个对现在通用计算机的一个简单的描述,而并非一个实体的机器。之后的科学家们提出了很多计算机模型,但这些模型的根本都是图灵机。所以说图灵机也是现代计算机的理论基础。图灵机由几个部分组成,一个写有符号的无限长的带子,一个可以在带子上读写的读写头,一个储存当前状态的状态寄存器,以及一串命令。在如今的电脑上,带子就是现在的内存(当然不再是无限大的),读写头就是现在的处理器(CPU)。命令串被存在电脑的内存里(详见:《一个无法证明的逻辑问题》)。虽然图灵机是一个简单的描述,但也却是对电脑设计的一个非常全面的描述。现在的计算机当然由更多部分组成,例如硬盘,键盘,音响,显卡,屏幕等等,但其运行原理皆在图灵机概念的之内。○图灵机与现代计算机。|图片来源:DominicWalliman图灵通过对机器的描述为计算机的发展奠定了基础。然而与此同时,我们更加不能忘了另外一位与图灵密切相关的计算机科学家,他的博士导师——阿隆佐.丘奇。丘奇发明了lambda算子,通过整套严谨的数学理论描述出了计算机运算的概念。所有能用图灵机解决的问题都能用lambda算子进行等价的计算。如果图灵机的思想代表了算法和机器的原型,那么lambda算子则是现在所有的编程逻辑和语言的基础(详见:《他的思想代表了逻辑和语言》与《“计算”与“机”》)。正如最开始说到的,在计算机理论中最基础的问题就是计算机是万能的吗?如果不是,它能做或不能做什么呢。这个问题直接在计算机理论这个分支中延伸出了一个领域——可计算性理论(ComutabilityTheory)。可计算性理论是一个用来确定哪些问题能够用图灵机进行计算并得出最终结果的学科。有些问题是本身是不可能用计算机得出结果的,其中最著名的代表就是停机问题。总结来说,停机问题代表着一些无法确定计算机程序是否会无限运行的问题。图灵却巧妙地运用了自洽的概念证明了只要没有跳出图灵机的范畴,计算机都不是全能的。有些问题穷计算机的一生也是无法得到解决的(详见:《一个无法证明的逻辑问题》)。○复杂度理论分类。|图片来源:DominicWalliman在可以用计算机解决的问题中,也有很多问题需要花太长的时间来解决(甚至可能超过宇宙能存在的时间)。基于此,计算复杂度(ComutationalComlexity)理论便成为了计算机理论中另外一个重要的组成部分。复杂度理论基于解决一个问题所需时间随问题输入增大而增大的程度,将问题分类成P类问题(例如将数列从小到大排序),NP类问题(例如在指定城市内寻找一条能遍历所有城市且总路程小于N的路线)等等。虽然现实中有很多问题在理论上是不可以被解决的,但计算机科学家们可以通过一些技巧上的简化来得出大概的答案,然而没人可以确定这些答案是否是最佳答案。正如上述NP问题中我们能在多项式级时间内找到遍历所有城市且总路程小于N的路线,但却不能在多项式级时间内找到最短的路程(详见《一个价值百万美金的问题》及《误解带来的乐观与恐慌》)。○算法及算法复杂度。|图片来源:DominicWalliman计算机理论这一分支也包含了对算法(Alogorithm)和信息理论的研究。算法是独立于所有的编程语言以及计算机硬件的解决问题的套路。算法是创建程序的基础,很多计算机科学家都致力于通过研究算法而找到解决问题的最优解。比如不同的算法可能可以解决同样的问题并得到相同的结果,像是将杂乱无章的数字从小到大排序。但有些算法却比另一些更加快速有效。而这些都属于算法复杂度这一领域。信息理论(InformationTheory)通过研究信息的性质,研究信息如何被接受,储存,以及传播。例如如何在保留大多数甚至所有信息的基础上压缩信息,使得我们能用更少的内存来储存这些信息。编码理论(CodingTheory)和加密理论(EncrytionTheory)也是信息理论中非常重要的一个部分。这两个理论使用复杂的数学作为辅助,将传输的信息进行重新的加密,使得信息在网络传输中的安全性得到了大大的增加。○信息理论和密码学。|图片来源:DominicWalliman以上就是计算机理论分支中非常重要的部分。当然除此之外,还有很多其他组成部分,包括逻辑学,图形学,计算几何学,自动机理论,量子计算,并行处理,数据结构等。这里不再一一列举。计算机工程○第二大分支:计算机工程。|图片来源:DominicWalliman计算机科学的第二个大的分支是计算机工程。设计计算机是一个很大的挑战,因为要考虑到从底层硬件到上层软件很多不同的方面。设计者必须保证计算机能够以尽量优化的方式解决尽量多的问题。处理器(CPU)是计算机的中心,计算机执行的所有任务都经过处理器,并通过其进行调度。在单个处理器处理多个任务的时候,处理器需要在每项任务中来回执行,所有任务都能在用户可接受的时间里完成。任务的调度(Scheduling)是一个复杂的过程,由处理器中的调度器完成。调度器决定什么时候执行什么任务,并尝试用最优化的方式调度所有任务。在这种情况下,使用多核处理多个任务可以提升计算机执行的速度,因为每个任务现在可以由一个单独的核执行。但与此同时多核执行也使得调度器的设计更加复杂。而这些设计都隶属于体系结构(ComuterArchitecture)的研究范畴。不同的体系结构适合完成不同的任务。处理器(CPU)适合执行通用程序例如我们所用的操作系统。图像处理器(GPU)适合图像处理,例如我们玩的高画质的游戏,而现场可编程门阵列(FPGA)适合高速执行一些范畴非常狭窄的任务,比如挖比特币等。○单核与多核的调度。|图片来源:DominicWalliman软件机编程语言(SoftwareandProgrammingLanguages)也是组成计算机工程的重要部分。在硬件之上有以各种编程语言写成的软件层。从底层的汇编语言到高层的Java语言,编程语言是程序员给计算机下达命令的语言,并以不同的语法特征编写不同特性的任务。例如我们汇编语言编写计算机底层的执行,用Java来编写网页应用。可想而知,越底层的编程语言越贴近计算机本身的结构,但越难让人们理解。然而无论多高层或底层的语言,最终都会被转化成处理器能执行的二进制码。这个转换机制由编译器通过一个或多个步骤完成。每个编程语言都会有它自己的编译器以便将程序翻译为可执行的二进制码并进行优化。编译器和编程语言的设计在计算机里非常重要,因为这些设计必须既简单适用,又灵活多变,使得程序员能够容易的将他们疯狂的想法付诸实践。○编程语言及编译器。|图片来源:DominicWalliman操作系统(OeratingSystem)是计算机系统中最重要的软件,也是用户和计算机打交道必须通过的介质。操作系统在接受用户指令的同时控制着所有计算机的硬件。因此设计制造一款好的操作系统是一个很大的挑战。所以软件工程(SoftwareEngineering)也因此成为了计算机工程分支的重要组成部分。软件工程师们通过设计软件,新的操作系统或和现有操作系统互动来告诉计算机在什么时候做什么。设计软件是一门艺术,需要工程师们将极富创造性的思维通过特定的编程语言转化成严谨的逻辑程序,并使得转化后的逻辑程序能够有效快速的在计算机上运行。因此,软件工程作为一项独立的学科也有很多设计思想和哲学供程序员们学习、使用以及研究。○操作系统。|图片来源:DominicWalliman当然,计算机工程还包含了许多其他的组成部分,例如实现多台计算机大规模协作的网络(例如淘宝的服务器),大数据存储(例如谷歌脸书中需要储存的个人信息),机器性能研究(例如编写大型软件作为测试计算机性能的基准)以及计算机图像处理(例如简单的美图秀秀)等。我们会在今后的文章中具体提到。计算机应用○第三大分支:计算机应用。|图片来源:DominicWalliman接下来讲讲计算机科学的第三个分支——计算机应用。这个分支旨在使用计算机来解决现实生活中的各种问题。当你出门旅游的时候你希望找到最大的旅游性价比,这就涉及到了使用计算机解决最优解(Otimisation)的问题。最优解问题自古以来也是生意场上最重要的部分之一,因为正确的解答该问题能为公司省下巨额的资金。然而最优解的问题有时可能无法用计算机有效地得到答案,例如上述提到的在所有城市中找到能遍历所有且最短的一条路程。于是有些人开始指望新的科技(例如人工智能或量子计算机),看他们是否能够为这类问题的解决带来转机。人工智能(ArtificialIntelligence)在计算机应用这个分支中占有举足轻重的地位。计算机拓展了我们的大脑,数倍地提高了我们的认知能力。前沿的人工智能研究正试图让机器像人类一样思考。人工智能的研究有很多部分组成,其中发展最迅速的当属机器学习(MachineLearning),让机器通过事先定下的算法,以大数据为输入进行学习,最终达到能准确分辨实物或作出决定的目的。这里最成功的例子当属谷歌AlhaGo接连大败围棋冠军的事情。除此之外机器学习也分成有监督(通过现有的样本对未知的数据分类),无监督(没有任何样本,单从数据中的某一特性将数据分类)与增强学习(例如训练之前很有名的一款小游戏flaybird中的小鸟。如果小鸟撞到柱子了,那就获得-1的回报,否则获得0回报。通过这样的若干次训练,我们最终可以得到一只飞行技能高超的小鸟,知道在什么情况下采取什么动作来躲避柱子)三种。除此之外,计算机视觉(ComuterVision)和自然语言处理(NaturalLanguageProcessing)也是人工智能中很重要的组成部分。计算机视觉希望通过图像处理让计算机能和人类一样分辨事物。自然语言处理则旨在让计算机和人类能够通过人类的语言进行交流,或以文字为输入进行对文字的分析。这些人工智能的各个领域我们今后也将会一一讨论。○人工智能的领域。|图片来源:DominicWalliman机器学习的成功大大受益于大数据(BigData)的发展。于是大数据的研究也成为了计算机应用分支中很重要的领域。大数据的研究旨在总庞大的数据中找出有价值的信息。物联网(InternetofThings)更进一步为大数据的研究添砖加瓦,通过连接各种物体提供更庞大的数据。黑客(Hacking)技术不是一个正统的学术界领域,但在此也非常值得一提。黑客利用计算机系统及网络中的漏洞在不被别人发现的情况下在他人计算机系统中窃取他们所需要的信息,例如最近刚发生的针对windows操作系统漏洞的攻击。即便是如今的技术,对这些黑客的攻击也只能是一筹莫展。除了上述的领域,计算机应用这一分支也利用计算机来研究科学问题,例如物理学和神经学。这个领域通常使用超级计算机来解决大规模的模拟(Simulation)问题。与此同时计算机应用还包括人机交互(HumanComuterInteraction)的研究,旨在设计让用户更加轻松使用的计算机系统。同时,虚拟现实(VirtualReality,例如戴在头上的VR眼镜),增强现实(AugmentedReality,例如之前很流行的一款okemongo的游戏)以及混合现实(MixedReality,例如用手机扫描实体书的时候能看到网上的书评)的研究将虚拟和现实世界渐渐联系在一起。机器人(Robotics)的研究也将机器在形态和运动方式上和人更加相似。这就是通往计算机科学的地图。原理《走进计算机文化史》通过一系列的文章介绍了这张地图的第一个部分——计算机理论。今后也会和大家一同走完这张地图。如今的计算机仍然在高速发展。虽然在硬件方面的研究因为很难再将晶体管做小而遇到了瓶颈,计算机科学家们试图通过对其他领域的研究来解决这个问题。计算机对整个人类的发展有着至关重要的影响,所以计算机在今后的一个世纪将如何发展也成了科学家们争相追捧的问题。谁知道呢?可能到了未来的某一天我们都会多多少少以计算机的形式而存在在这个世界上。
    亮了(0) 70 0 10-12
  • 「让真实信号走进电路与电子学」在线课程课件资源
    「让真实信号走进电路与电子学(RealAnalog)」是一门精品网络课程,结合理论讲解、案例分析与动手实验,辅以精心制作可供下载的讲解PPT、课程笔记以及课后作业,由浅入深带你轻松学习、掌握、并最终驾驭模拟电路。这一世界级的精品课程被国内外众多高校在教学中广泛应用,适用于「电路原理」、「模拟电路」等课程教师的备课以及学生的自学。课程包括:·超过40个单元章节的讲座课时·每个单元精心设计的课上习题及课后作业来帮助学生巩固知识点·多样性的设计性实验,让学生通过真正的动手实践来掌握枯燥的理论·完整的教学视频,帮助学生能够课后重温课上内容(视频链接:htt://www.digilent.com.cn/studyinfo/54.html)此门课程基于:·雷实验(A+DLab)(htt://www.digilent.com.cn/lei)或·DigilentAnalogDiscovery(www.digilent.com.cn/roducts/roduct-analog-discovery-100mss-usb-oscilloscoe-logic-analyzer),或·升级版的DigilentAnalogDiscovery2(www.digilent.com.cn/roducts/roduct-ad2)·AnalogDiscovery配件包(www.digilent.com.cn/roducts/roduct-analog-arts-kit-by-analog-devices-comanion-arts-kit-for-the-analog-discovery)作为辅助教学的元件工具。配套学习视频地址:htt://www.digilent.com.cn/studyinfo/54.html现将完整版的课程开课指导与教学资源分享,供有需要的高校教师与学生下载学习使用。
    亮了(0) 511 2 10-12
  • 深度长文 | 从GPU、TPU到FPGA及其它:一文读懂神经网络硬件平台战局
    来源:机器之心作者:MattHurd声明:本人经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载在如今深度学习大爆发的时代,相关的硬件平台也在百花齐放,既有英伟达和谷歌这样的科技巨头,也有地平线机器人和Grahcore等创业公司——它们都各自提出了自己的解决方案。近日,多家公司的技术顾问MattHurd在其博客上发表了一篇全面评点各种神经网络硬件平台的长文,机器之心对本文进行了编译介绍。这是我几周前做的一个传统的90年代风格的性别识别神经网络的很好的隐藏节点。一个简单的性别识别器网络中的90年代风格的隐藏节点图像我的硕士项目是一种类似级联相关(cascadecorrelation)的神经网络Multi-rateOtimisingOrderStatisticEqualiser(MOOSE:多速率优化顺序统计均衡器),可用于日内的Bund(国库债券产品)交易。MOOSE曾经是为获取高速的LEO卫星信号(McCaw的Teledesic)而设计的一点成果,后来在从LIFFE迁移到DTB时将目标转向了Bund。作为一家投资银行的职业交易员,我可以购买很好的工具。我有那时候世界上最快的计算机:一个IBMMicroChanneldualPentiumPro200MHz处理器外加带有几MBRAM的SCSI。在1994年那会儿,将800,000个数据点输入到我的C++stream/dag处理器中看上去就像是黑魔法。有限差分方法让我可以做许多O(1)增量线性回归这样的运算,以获得1000倍的加速。那时候这看起来已经很好了。现在,你的手机都能嘲笑我的大方向。那时候,在神经网络领域有很多研究。倒不是说它有过人的生产力,只是因为有用。读到LindsayFortado和RobinWigglesworth的FT文章《Machinelearningsettoshakeuequityhedgefunds》中EricSchmidt关于机器学习和交易的看法,还真有点让人高兴:EricSchmidt是谷歌母公司Alhabet的执行董事长,他上周对一众对冲基金经理说他相信在50年内,所有交易都会有计算机解读数据和市场信号。「我期待出现在交易方面做机器学习的创业公司,看看我描述的这种模式识别能否比数据分析专家的传统线性回归算法做得更好。」他补充说,「我这个行业内的许多人都认为这注定将成为一种新的交易形式。」老朋友Eric,我在90年代早期就已经算是迟到了,你真是有点后知后觉。好吧,现在情况已经不同了。我喜欢思考它,并喜欢将神经网络的这次新复兴称为感知时代(TheAgeofPercetion)。这并不是智能,只是擅长模式而已。它仍然无力应对语言歧义。它还要一些时间才能理解基本的价值和概念,从而形成深刻的金融理解。深度学习既被夸大了,也被低估了。这不是智能,但会有助于帮我们实现智能。一些人将其夸大为将会给我们带来替代人的类人机器的人工智能突破。我们仍然还受困于常识以及用于推理的简单文本中的歧义。我们还有很长的路要走。相对简单的规划算法和启发式方法以及基于神奇的深度学习的视觉、声音、文本、雷达等等的感知能力将会带来深刻的影响,就像是每个人和他们的狗现在理解的那样。所以我叫它「感知时代」。就好像是我们口袋里的超级计算机突然有了眼睛,并且快速适应了真实世界所带来的闪光性致盲。深度学习将会带来巨大的影响,并且将会改变这颗行星上全人类的生活方式。但我们低估了其对我们的危险。不,我们不会和能激起或挑战我们最深刻的思想的深度图灵对话者约会——还不会。这将不可避免地到来,但在可见的未来里还不可见。借助语音、文本和Watson那样的数据库的智能代理可以实现非常先进的Eliza,但不会更先进了。自动化运输、食物生产、建筑、协助家事将会极大地改变人们的生活方式和不动产的价值。除了这些泛泛之谈,本文的目的是收集一些关于芯片的思想见解——它们驱动着当前的神经网络革命。其中很多见解都不是最为激动人心的,但这对我来说是一个有用的锻炼。神经网络硬件与20年前相比,今天的神经处理方法并没有很大不同。深度更多的是一个品牌,而不是一项差异。激活函数已经得到了简化,以更好地适配硬件。主要的成功之处在于我们有了更多数据,对如何初始化权重、处理许多层、并行化和提升鲁棒性也有了更好的理解,其中要用到像是droout这样的技术。1980年的Neocognitron架构与今天的深度学习器或CNN并没有显著差异,但YannLeCun让它具备了学习能力。在90年代那会儿也有很多神经硬件平台,比如CNAPS(1990),它带有64个处理单元和256kB内存,可以在8/16位条件下达到1.6GCPS的速度(CPS是指每秒连接次数/connectionsersecond)或在1位条件下达到12.8GCPS的速度。你可以在《神经硬件概述(Overviewofneuralhardware)》[Heemskerk,1995,draft]中读到Synase-1、CNAPS、SNAP、CNSConnectionistSuercomuter、HitachiWSI、My-Neuower、LNeuro1.0、UTAK1、GNU(通用神经单元/GeneralNeuralUnit)Imlementation、UCL、Mantra1、Biologically-InsiredEmulator、INPGArchitecture、BACHUS和ZISC036。阅读地址:htts://dfs.semanticscholar.org/5841/73aa4886f87da4501571957c2b14a8fb9069.df好吧,东西还真多,但实际上还排除了软件和加速器板/CPU组合,比如ANZAlus、SAICSIGMA-1、NT6000、Balboa860协处理器、Ni1000识别加速器硬件(英特尔)、IBMNEP、NBC、NeuroTurboI、NeuroTurboII、WISARD、MarkII&am;IV、Sandy/8、GCN(索尼)、Tosi、BSP400(400微处理器)、DREAMMachine、RAP、COKOS、REMAP、通用并行神经计算机(GeneralPuroseParallelNeurocomuter)、TINETSIM和GeNet。另外还有一些模拟和混合模拟的实现,包括英特尔的电气式可训练模拟神经网络(801770NX)。你懂我要表达的意思了,那时候的东西还真是多。这在1994年迎来了一次爆发:乐观的摩尔定律告诉我们,TeraCPS即将实现:「未来十年,微电子很可能将继续主导神经网络实现的领域。如果进展和过去进步得一样快,那就意味着神经计算机的性能将会增长大约2个数量级。因此,神经计算机将会接近TeraCPS(10^12CPS)的性能。由100万个节点(每个节点有大约1000个输入)组成的网络可以达到大脑的计算速度(100-1000Hz)。这将能为实验合理巨大的网络提供良好的机会。」由于Minsky和Paert对隐藏层的不正确简单概括,打击了Rosenblatt的感知器梦想并最终导致了他不幸的死亡,神经网络研究遭遇了第一个冬天,研究资金被残酷地撤销了。1995年,又出现了另一次神经网络冬天,尽管那时候我其实并不知道。作为温水锅里的一只青蛙,我没有注意到正在加热。第二个冬天的主要原因是缺乏激动人心的进展,让人们普遍感到无聊了。到了2012年,多亏了GeoffreyHinton的冬季生存技能,多伦多大学基于AlexNet开发的SuerVision在ImageNet处理上实现了极大的提升,第二个神经网络冬天也由此终结了。之后谷歌的LeNetIncetion模型在2014年打破了它的记录。所以据我估计,感知时代始于2012年。将它记在你的日历里面吧,五年已经过去了。谷歌在几千台普通机器上进行了出色的并行CPU有损更新研究。吴恩达教授和他的朋友们让数十台GPU就能完成数千台CPU的工作,从而让规模化成为了可能。因此,我们从需要很好的资助的神经处理前景中解放了出来。好吧,或多或少吧,现在最先进的网络有时候需要数千台GPU或专用芯片。更多数据和更多处理能力是其中的关键。让我们进入本文的重点,列出一些感知时代大数据之战中的一些关键平台:英伟达的GPU这一家是很难被战胜的。来自大型视频处理市场的收益驱动着巨大的规模经济。新款英伟达V100带有一种新的TensorCore架构,速度可达15TFlos(单精度/SP)或120TFlos(浮点精度,其中带有FP16的乘法和FP32的累加或加法,非常适合机器学习)。英伟达在它们的DGX-1中装入了8块计算卡,速度可达960TensorTFlos.AMD的GPU在机器学习领域,AMD一直是英伟达的追赶者。即将发布的AMDRadeonInstinctMI25有希望达到12.3TFlos(SP)或24.6TFlos(FP16)。如果你把英伟达的TensorCore也算进来,则AMD完全无力竞争。英伟达设备的带宽900GB/s也是AMD484GB/s的两倍。谷歌的TPU谷歌原来的TPU相比于GPU有很大的领先,并帮助DeeMind的AlhaGo赢得了与李世石的围棋大战。据描述,原来的700MHzTPU有95TFlos的8位计算能力或23TFlos的16位计算能力,同时功耗仅有40W。这可比当时的GPU快得多,但现在落后于英伟达的V100;但在单位功耗的计算能力上,TPU并没落后。据称新的TPU2是一款带有4块芯片的TPU设备,速度可达到180TFlos左右。每块芯片的性能都翻倍了,达到了45TFlos的16位计算能力。你可以看到与英伟达V100的差距正在变小。你没法买到TPU或TPU2。谷歌正在通过它们的云提供这些TPU服务,包含64台设备的TPUod速度高达11.5PetaFlos。TPU2上巨大的散热片说明了一些原因,但市场正在发生变化——从单独的设备转向了设备的组合以及将这些组合以云的形式提供。WaveComutingWave之父澳洲人CTOChrisNicol博士的成果斐然,领导开发了Wave的ComuteAliance中的异步数据流处理器(asynchronousdataflowrocessor)。几年前,Metamako的创始人CharlesThomas在加州简单介绍了我和Chris认识。他们俩都曾在NICTA研究过无时钟异步。这两人都很出色。我不确定Wave的设备最早是不是针对机器学习设计的,但在他们的3RUaliance上运行TensorFlow的速度可以达到2.9PetaOPS/s,这实在了不起。Wave将他们的处理器称为DPU,一个aliance有16个DPU。Wave使用了他们称之为粗粒度可重构阵列(CGRA:CoarseGrainedReconfigurableArray)的处理元素。我还不清楚2.9PetaOPS/s的速度对应多少位宽。根据他们的白皮书,其ALU可以执行1位、8位、16位和32位计算:「算术单元是分区的。它们可以并行执行8位运算(完美适用于DNN推理)以及16位和32位运算(或以上的任何组合)。也可以执行一些64位运算,而且可以使用软件扩展到任意精度。」关于其aliance中的16个DPU,还有一些额外的信息:「WaveComutingDPU是一种包含了16384PE的SoC,它们被配置成了一个32×32集群的CGRA。它包含了4个HMC(HybridMemoryCube)第二代接口、一个PCIe第三代16通道接口和一个用于SoC资源管理的嵌入式32位RISC微控制器。这款WaveDPU可以在没有主机CPU时自动执行。」对于TensoFlow指令:「WaveDNNLibrary团队为TensorFlow等工作流程中所使用的常见DNN函数创建了预编译的可重新定位的kernel。它们可以被组合到Agent中并且可以被实例化成机器,以构建大型的张量数据流图和DNNkernel。」「……一个可与TensorFlow、CNTK、Caffe和MXNet等机器学习工作流程交互的session管理器,可作为用于训练和推理的工作器过程(workerrocess)。这些工作流程可为工作器过程提供张量的数据流图。在运行时,Wave的session管理器会分析数据流图并将这些软件智能体放置到DPU芯片中,然后将它们连接起来以构建数据流图。这些软件智能体会被分配用于输入缓冲和本地存储的全局内存区域。CGRAkernel的静态本质和分布式的内存架构可以让一个性能模型准确估计智能体的延迟。session管理器可使用该性能模型来在智能体之间插入FIFO缓冲,这有助于DPU中通信和计算的重叠。这个可变智能体支持穿过整个图的数据流的软件流程,从而可以进一步增加并发性和性能。这个session管理器可以监控数据流图运行时的性能(通过监控卡顿、缓冲区下溢出和/或上溢出),并且可以动态地调节FIFO缓冲区的大小以实现吞吐量的最大化。在附加了DPU的处理器中,有一个分布式运行时管理系统会在运行时安装和卸载数据流图的一些部分,从而平衡计算和内存的使用量。这种在数据流计算机中的数据流图上的运行时重新配置还是有史以来第一次。」是的,我也觉得非常酷。这个平台的惊人之处是它在架构方面比FPGA更加粗粒度,因此灵活性更低,但却很可能表现更好。非常有意思。KnuEdge的KnuPath在2016年6月时我在Twitter上谈过KnuPath。那以后他们的产品页面却失踪了。我不确定他们要把那1亿美元如何用到他们的MIMD架构上。那时候他们向我这样描述的:每个ASIC中有256个微型DSP(即tDSP)核以及一个ARM控制器,适用于35W包络中的稀疏矩阵处理。它的性能未知,但他们把自己的芯片与一款当时的英伟达芯片进行了比较,那时候他们说实现了2.5倍的性能。我们知道英伟达现在凭借Tensor内核已经提速了十倍以上,所以KnuEdge还要努力才能跟上节奏。MIMD或DSP方法必须要得到非常好的效果才能在这一领域占据一席之地。时间会给我们答案。英特尔的NervanaNervanaSystems曾经除了开发他们的NervanaEngineASIC,还开发着一种GPU/软件方法,后来英特尔收购了这家公司。性能比较方面还不清楚。英特尔也在规划通过一个KnightsCrest项目将其集成到Phi平台中。NextPlatform认为其2017年在28nm节点上的目标是在某个位宽的运算速度达到55TOPS/s。英特尔还安排一个NervanaCon,将在12月份举办,所以那时候我们也许将能看到他们的第一批成果。地平线机器人这家中国创业公司正在研发一种大脑处理单元(BPU:BrainProcessingUnit)。余凯博士是正规军出身,他曾是百度深度学习研究院的负责人。今年早些时候,一段YouTube视频演示了基于Arria10FPGA的BPU仿真:htts://youtu.be/GI9U9lUFaDo。目前关于这一平台的公开消息还很少。EyerissEyeriss是MIT的一个项目,开发出了一款具有出色原始性能表现的64nmASIC。在AlexNet上,这款芯片的速度大约是英伟达TK1的一半。其优势在于借助于其行固定(rowstationary)方法,仅需要一个278mW的可重新配置加速器就能实现这样中规中矩的性能。赞。Grahcore去年Grahcore拿到了3000万美元的A轮融资,以开发他们的智能处理单元(IPU:IntelligenceProcessingUnit)。他们的网站还缺少细节,只是给出了一些亮眼的事实,比如多于14000个独立的处理器线程和大于100倍的内存带宽。根据NextPlatform报道的零星信息,其在一块芯片上具有多于1000个真实内核,并且采用了定制的互连方式。它的PCIe板具有一个16个处理器的元件。听起来似乎是数据流。抛开公关的言论,这个团队确实有很强的背景,而且投资者也不并不傻,所以就拭目以待吧。TenstorrentTenstorrent是加拿大多伦多的一家小创业公司,它宣称在深度学习的效率上实现了一个数量级的提升,和大多数公司一样,还没有什么公开的细节,但该公司入选了Cognitive300榜单。CerebrasCerebras值得一提,因为它得到了Benchmark的支持,而且其创始人是SeaMicro的CEO。它似乎已经融资2500万美元了,而且仍然处于隐身模式。ThinciThinci正在美国萨克拉门托开发视觉处理器,并且在印度也有员工。他们宣称即将推出他们的第一款硅芯片Thinci-tc500,而且已经开始进行标准评测和赢得客户了。但除了「一切都并行处理」之外,我们所知甚少。KonikuKoniku的网站正在倒计时,现在还有20几天。我已经等不及了。他们没有融到多少钱,而看过它们在福布斯上的这个视频之后(htts://goo.gl/VA1PJx),你很可能也不得不相信他们,但你也无法预料究竟会如何。利用生物细胞肯定是不一样的。听起来就像是一个科研项目,但他们这样说:「我们是一个企业。我们不是一个科研项目。」下周将在维也纳的PioneersFestival上发表演讲的Agabi这样说,「今天有些需求是硅所不能满足的,而我们可以通过我们的系统提供。」Koniku提供的核心是所谓的神经元壳(neuron-shell),这家创业公司称其内部可以控制神经元彼此通信的方式,加上一种正在申请专利的电极,就可以在神经元上读写信息。所有这些都可以装在一个iPad大小的设备里,他们还希望能在2018年之前将其减小到一枚五美分硬币大小。AdatevaAdateva是我最喜欢的一家小技术公司,正如你在之前文章《AdatevataesoutEihany-V:一款1024核64位RISC处理器》:htts://goo.gl/6ZH7JP。去年年底时AndreasOlofsson拿出了他的1024核芯片,我们都等着看它的性能表现。Eihany-V有用于深度学习的新指令,我们必须要看看这种带有64MB片上内存的更少内存控制器的设计是否具有合适的扩展能力。Andrea的设计和构建的出色效率可能能让我们真正负担得起这种芯片,所以让我们希望它有良好的表现吧。KnowmKnown研究的是Anti-HebbianandHebbian(AHaH)可塑性和忆阻器。这里有篇覆盖这一主题的论文《AHaH计算:从MetastableSwitches到Attractors到机器学》:htts://doi.org/10.1371/journal.one.0085175。这对我来说有点太高级了。简单看了看,我看不出这项技术和胡言乱语的区别,但看起来确实科学味道十足。我需要亲眼看到才能相信。神经忆阻式处理器(neuromemristiverocessor)的思想是很有趣的。我早上确实需要一个好的流行术语。MythicMythic的一款电池驱动的神经芯片具有低50倍的功耗。目前还看不到太多真正的细节。这款芯片大约纽扣大小,但大多数芯片不都这样吗?「Mythic的平台能在纽扣大小的芯片上提供桌面GPU的性能。」也许这又是一款适合无人机和手机的芯片,很可能被用在手机中,也可能被排除在外。高通手机显然是机器学习硬件的一大用武之地。我们希望能够识别狗的品种、花朵、树叶、癌症痣、翻译标识、理解口语等等。我们口袋里的超级计算机愿意用上它能得到的所有帮助,以便能迈入感知时代。高通一直以来都在鼓捣机器学习,推出了ZerothSDK和Snadragon神经处理引擎(NPE)。这种NPE显然在高通所用的HexagonDSP上效果良好。HexagonDSP已经远远不止是一个非常广泛的并行平台了,YannLeCun已经证实高通和Facebook正在合作开发一种更好的方法,参见Wired的文章《业界|谷歌TPU之后还有高通,人工智能芯片竞赛已经展开》:「最近,高通已经开始制造执行神经网络的专用芯片,这条消息来自LeCun,因为Facebook正帮助高通开发机器学习相关技术,所以他对高通的计划很了解;高通技术副总裁JeffGehlhaar证实了这个项目,他说:『在原型设计和开发方面,我们还有很长的路要走。』」也许我们很快就会看到KryoCPU、AdrenoGPU、HexagonDSP和HexagonVectorExtensions之外的其它东西。对于这一领域的创业公司来说,和高通的机器学习竞争将会艰难无比。Pezy-SC和Pezy-SC2这两者是Pezy开发的1024核和2048核处理器。Pezy-SC1024核芯片可以驱动2015年Green500超级计算机榜单的前三名的系统。Pezy-SC2是现在已经开始提供的后续芯片,我在6月份也做过关于它的演讲,但相关细节还很少,不过仍然很吸引人:「PEZY-SC2HPCBrick:单个机箱中有32个带有64GBDDR4DIMM(2.1PetaFLOPS(DP))的Pezy-SC2模块卡,速度可达6.4Tb/s.」不知道2048个MIMDMIPSWarrior64位核的机器能做到什么?在6月份的2017年Green500榜单中,一个英伟达P100系统拿到了头把交椅,而排名第7的是一个Pezy-SC2系统。所以看起来这款芯片还活着,但相关细节却很少。MotoakiSaito(齊藤元章)当然值得一看。Kalray尽管做了很多承诺,但Kalray的芯片还没有超过256核,我在2015年的一篇文章就谈到:htts://goo.gl/xqn7Z。Kalray宣传自己的产品说是适合嵌入式自动驾驶汽车应用,但我觉得其目前产品架构的形式并不是一种完美的CNN平台。Kalray有一个KalrayNeuralNetwork(KaNN)软件包并且宣称有比GPU更好的效率,在芯片上能实现高达1TFlo/s的速度。随着即将到来的产品更新,Kalray的神经网络财富可能还会提升,就在这个月Kalray完成了新一轮2600万美元的融资。他们新的Coolidge处理器预计将在2018年年中上市,它会带有80或160个核,另外还有80或160个为视觉和深度学习优化的协处理器。这在他们的多于1000核的方法上有了很大的改变,而我认为这是最明智的。IBMTrueNorthTrueNorth是IBM的神经形态CMOSASIC,是与DARPA的StNAPSE项目一起开发的。这是一种单个芯片设计上的多核处理器网络,具有4096个核,每个核模拟256个可编程的硅「神经元」,总共就超过了100万个神经元。另外,每个神经元还有256个可编程的「突触」,信号可以在这些突触之间传递。因此,可编程突触的总是超过了2.68亿(2^28)。在基本构建模块方面,它的晶体管数量为54亿。因为存储、计算和通信都是在这4096个神经突触核中各自处理的,所以TrueNorth避开了冯·诺依曼架构的瓶颈,而且能效非常高,功耗为70mW,大约是传统微处理器的功率密度的万分之一(来自维基百科)。IBM之前还在批评脉冲神经网络(sikingneuralnetwork)无法适配深度学习,现在IBM开发了一种在TureNorth上运行CNN的新算法。这些神经元不会在每个周期内都放电,脉冲神经网络中的神经元必须逐渐积累它们的电势,然后才能放电……深度学习专家普遍认为脉冲神经网络在深度学习上没有效率——至少和卷积神经网络比起来是这样。Facebook人工智能研究院主任和深度学习先驱YannLeCun曾经批评过IBM的TureNorth芯片,因为它主要支持脉冲神经网络…………这种神经形态芯片不会太激动人心,因为它们注重的脉冲神经网络在深度学习领域并不受欢迎。为了让TrueNorth芯片很好地契合深度学习,IBM不得不开发了一种新算法,让卷积神经网络可以在这款神经形态计算硬件上很好地运行。这种组合方法实现了IBM所谓的「接近当前最佳」的分类准确度,实验涉及了视觉和语音挑战赛方面的8个数据集。在最好的情况下,它们的准确度达到了65%到97%。当只使用一块TrueNorth芯片时,它只在这8个数据集中的1个数据集上超越了当前最佳的准确度。但如果使用多达8块芯片,IBM的研究者可以极大提升这款硬件在深度学习挑战上的准确度。这使TureNorth可以在其中3个数据集上媲美或超越当前最佳的准确度。这个TureNorth测试也做到了每秒处理1200到2600视频帧。这意味着单个TureNorth芯片就能实时检测来自多达100个同时工作的相机的数据的模式……(来自IEEESectrum)TrueNorth的功率效率非常出色,所以非常值得考虑。Brainchi的脉冲神经元自适应处理器(SNAP:SikingNeuronAdativeProcessor)SNAP不能做深度学习,这只是一个源于好奇心的项目,还没有实际落地成CNN工程解决方案,至少现在还没有。如果你想探索这条路,IBM的随机相变神经元(stochastichase-changeneurons)似乎更有意思。苹果的神经引擎(NeuralEngine)到底会不会有?彭博社报道称这会是一款次级处理器,但没有什么细节信息。对苹果来说,这不仅是一个重要领域,而且也有助于与高通的竞争。其它1.寒武纪(Cambricon)——中国科学院在芯片上投入的140万美元。它是一个用于神经网络的指令集架构,具有数据级的并行、自定义向量/矩阵指令、片上scratchadmemory。宣称速度是x86CPU的91倍,是K40M的3倍,且峰值功率仅有1%,即1.695W。参阅这两篇论文:Cambricon-X:一个用于稀疏神经网络的加速器:htt://cslt.riit.tsinghua.edu.cn/mediawiki/images/f/f1/Cambricon-X.dfCambricon:一个用于神经网络的指令集架构s:htt://dl.acm.org/citation.cfm?id=30011792.前谷歌员工创立的GroqInc.,也许是另一种TPU?3.Aimotive:htts://aimotive.com/4.DeeVision正在开发用于深度学习的低功耗芯片,也许这两篇创始人的论文能提供一点线索:ConvolutionEngine:BalancingEfficiency&am;FlexibilityinSecializedComuting[2013]:htt://csl.stanford.edu/~christos/ublications/2013.convolution.isca.dfConvolutionEngine:BalancingEfficiencyandFlexibilityinSecializedComuting[2015]:htt://csl.stanford.edu/~christos/ublications/2015.convolution_engine.cacm.df5.DeeScale6.ReducedEnergyMicrosystems正在开发用于CNN推理的低功耗异步芯片。据TechCrunch报道,REM是YCombinator第一个ASIC领域的风险投资。7.Leamind也很忙。FPGA微软已经站队FPGA了。Wired这篇文章说得很好:《深度|《连线》长文揭秘微软ProjectCatault:人工智能时代押注FPGA》。「Bing占据着世界上20%的桌面搜索市场和6%的移动手机市场,在Bing上,这个芯片能帮助Bing适应新品种的人工智能:深度神经网络。」我对这种方法也有些兴趣。赛灵思和英特尔(收购了Altera)的FPGA是很强大的引擎。赛灵思自然宣称他们的FPGA是对INT8最好的,他们的一份白皮书里面包含了下面的幻灯片:这两家供应商都很支持使用他们的FPGA做机器学习:Xilinx-AccelerationZone:htts://goo.gl/KheG5WIntelFPGAOenCL(htts://goo.gl/S62fMA)和Solutions(htts://goo.gl/zkYyXB)尽管FPGA单位功耗的性能是很出色的,但这些供应商的更大型的芯片的售价却长时间以来都高得吓人。赛灵思的VU9P在Avnet上的售价超过5万美元。寻找价格和能力之间的平衡点是FPGA的主要难题。FPGA方法的一大优势是可以用来制定一些非常出色的架构决策。比如如果因为HBM,你想在板上DRAM压缩并且实时地解压,然后希望借此改善你的内存的浮点数据流,如果你足够努力,你能找到解决方案。参阅《用于基于FGPA的高性能计算的浮点数值数据流的带宽压缩(BandwidthComressionofFloating-PointNumericalDataStreamsforFPGA-BasedHigh-PerformanceComuting)》:htt://dl.acm.org/citation.cfm?id=3053688。这种动态的架构敏捷性(architecturalagility)很困难,几乎无法用其它任何方法实现。架构选择太多可能也是一个问题,但我自己还是挺喜欢这个问题的。这篇论文很不错《使用TILT减少SoftScalarCPU和定制硬件之间的性能差距(ReducingthePerformanceGabetweenSoftScalarCPUsandCustomHardwarewithTILT)》:htt://dl.acm.org/citation.cfm?id=3079757,其中研究了定制硬件和FPGA处理器(带有基于FPGA的水平微编码的计算引擎)的性能差距,这让人想起了古老的DISC和很多个月前的离散指令集计算机(discreteinstructionsetcomuter)。谁是赢家?在这样的竞争中,预测谁是赢家是傻瓜的举动。高通凭借其手机市场的主导地位,可以轻松进入赢家榜单。苹果不管做什么都会成功的。英伟达的V100有Tensor单元,也基本上赢了。我不确定我能否看到谷歌的TPU在无休止的长期硅谷竞赛中幸存下来,尽管目前它的性能很出色。我很喜欢FPGA方法,但我也不禁想他们应该以远远更低的价格发布DNN版本,这样才不会被大众漠视。英特尔和AMD会做自己的协处理器。因为所有主要玩家都参战了,所以其中很多都会支持标准的工具包,比如TensorFlow,这样我们就不必太在意规格了,关心基准就可以了。在更小型的玩家中,我很喜欢而且支持的是Adateva方法,我认为他们的内存架构可能并不适合DNN。我希望我错了。WaveComuting可能是我继FPGA之后最喜欢的方法。他们的整个异步数据流方法是非常棒的。REM似乎也在做类似的事情;但我认为他们可能太迟了。WaveComuting能否在面对所有竞争对手时继续保持领先吗?也许只要他们的异步CGRA有一个本质优势,就可以。尽管我不确定他们是否只要DNN上的成功,因为他们的技术有更加广泛的应用能力。神经形态脉冲处理器也许现在暂时可以忽略,但也可以保持关注,因为它们有很大的功耗优势。量子计算反正会让所有这些都稍逊风骚。IBM的TrueNorth可能会是个例外,因为它不仅能执行脉冲网络,还能有效地运行DNN。原文链接:htts://meanderful.blogsot.j/2017/06/fgas-and-ai-rocessors-dnn-and-cnn-for.html
    亮了(0) 279 0 08-29
  • 手把手教你如何在Arty开发板上,构建开源MCU,利用Arduino编程
    Arduino+FPGA在Arty开发板上「用Arduino搞事情」导读作为一名内心有着“不安分”创客基因的FPGA爱好者,自Xilinx联合DIGILENT发布了Arty系列FPGA开发板以来,这款主打Aurdino+FPGA的产品,就一直吸引着自己的注意。在这篇文章中,我们将看看如何在专门为极客和爱好者设计的基于高性价比XilinxArtix-7FPGA的DigilentArty开发板上,利用RTL源代码开源的RISC-V微控制器架构配置一个开源MCU,并通过ArduinoIDE或者GNU工具链编程。手上有Arty开发板的同学们,掏出来,搞事情吧!*设计基础需要对Linux,Git和Makefile软件编译熟悉。1基于RISC-V内核的FreedomE310微控制器FreedomE310平台的顶层架构图RISC-V是一个自由开放的指令集架构(ISA),是在一个自由许可证下发布的。它鼓励广泛采用并允许任何人实现他们自己的兼容设备,无论是在仿真、FPGA还是ASIC。这些可能是任何东西,从一个超低功率的IoT类设备,到移动,笔记本电脑/桌面和服务器类,甚至针对HPC应用的设备。请注意,RISC-V本身并不是一个处理器,它是一个ISA规范。尽管RISC-V基金会确实提供了一个名为Rocket的参考处理器实现,以及促进内核生成的工具,还有一个GNU编译器工具链。由RISC-V的发明者创立的商业组织SiFive提供了包括IP核和SoC平台在内的产品,由咨询服务支持。他们的E300SoC平台基于E3Corelex,可用作ASIC,也可以用于FPGA。我们将载入Arty开发板配置内存的FreeedomE310微控制器正是基于上图所示的SOC架构。2硬件部分虽然DigilentArty开发板集成USB-JTAG适配器可用对XilinxFPGAArtix-35T和用于上电时配置FPGA的Quad-SPIflash芯片进行编程,但是还需要ARM-USB-TINY-HUSBJTAG适配器,用于连接RISC-V内核调试与编程。虽然需要连接这么多接口,但是请记住,我们使用的是一个完全可编程的平台,你可以自由修改MCU本身的设计,此外还可以上传自己的代码来运行。USB-JTAG连线图《E300的ArtyFPGA开发工具包入门指南》www.sifive.com/documentation/freedom-soc/freedom-e300-arty-fga-dev-kit-getting-started-guide/包含了如何连接USB-JTAG的细节,以及说明如何构建SoC和GNU工具链和对开发板进行编程等。这显然是规范化文档,在这篇文章中描述的步骤是基于包含在《指南》中的指令。PMOD-JD接口连线图使用《指南》中建议的线颜色,不需要更改板上的跳线帽,只需要确保你连接到PMOD-JD接口,而不是其它PMOD接口。为了连接上ARM-USB-TINY-H,我们需要添加新的udev规则,打开/etc/udev/rules.d/99-oenocd.rules,并添加如下代码:#ThesearefortheOlimexDebuggerforusewithE310ArtyDevKitSUBSYSTEM=="usb",ATTR{idVendor}=="15ba",ATTR{idProduct}=="002a",MODE="664",GROUP="lugdev"SUBSYSTEM=="tty",ATTRS{idVendor}=="15ba",ATTRS{idProduct}=="002a",MODE="664",GROUP="lugdev"返回控制终端,使用如下命令,重新加载udev规则:$sudoudevadmcontrol--reload-rules如果你的用户帐户尚未在lugdev组中,则需要将其添加到用户组,然后退出用户,然后再登陆。3FPGA工具链部分登录到Xilinx网站,下载一个工具下载器,选择免费的“WebPACK”版本的VivadoHL工具就足够了。在完成安装后,必须添加Digilent板卡支持包,这只是获取板卡文件并将其复制到适当位置的问题。例如,在下载Vivado2017.1安装程序后,流程是:1切换到root用户,使安装文件获得可执行属性,并执行:$chmod+xXilinx_Vivado_SDK_2017.1_0415_1_Lin64.bin$sudo./Xilinx_Vivado_SDK_2017.1_0415_1_Lin64.bin2安装驱动:$cd/ot/Xilinx/Vivado/2017.1/data/xicom/cable_drivers/lin64/install_scrit/install_drivers$sudo./install_drivers3获取Digilent开发板支持包,并复制到适当位置:$gitclonehtts://github.com/Digilent/vivado-boards.git$sudoc-rvivado-boards/new/board_files/*/ot/Xilinx/Vivado/2017.1/data/boards/board_files/4返回home目录,建立环境变量:$cd$source/ot/Xilinx/Vivado/2017.1/settings64.sh注:该指令在每次打开新的命令行终端时都要执行一遍。5打开Vivado图形化界面可以输入:$vivado4开发板配置已经建立好的FPGA固化程序,还包含一个演示工程。该程序可以从SiFive网站下载(需要注册)。htts://dev.sifive.com/dashboard/打开Vivado后,点击打开硬件管理器,并连接上目标板卡(Arty开发板)。选中FPGA右击,选择AddConfigurationMemoryDevice,选择型号为Micronartn25q128-3.3v的Flash芯片。点击OK后,可以选择下载好的.mcs文件对Flash进行固化。当固化完成时,可以按下板卡上标注PROG的红色按钮,FPGA将自动配置。接着演示程序将开始运行,LED1和LED2将被点亮。如果你用终端模拟器连接上了/dev/ttyUSB1,可以看到输出信息。至此,你可以跳过下一节内容,直接利用ArduinoIDE或者GNU工具链对该SoC进行编程。当然你可以尝试对SoC进行编译。5Soc芯片编译首先我们需要利用Git工具将SiFiveE300和U500平台的RTL源代码(htts://chisel.eecs.berkeley.edu/)下载下来。$gitclone--recursivehtts://github.com/sifive/freedom.git这将需要一些时间,因为需要将依赖关系的所有git子模块,如Rocket芯片生成器和芯片组等都下载下来。当Git执行完成,我们可以对Verilog源文件进行编译。$make-fMakefile.e300artydevkitverilog在生成固化程序之前,需要确认已经建立Vivado的环境变量,然后再生成固化程序:$make-fMakefile.e300artydevkitmcs这个命令会利用Vivado工具对Xilinx的FPGA进行综合,以及布局布线等。该过程需要等待一段时间,执行结束后,生成了新的.mcs文件,可以用于配置Flash。需要注意的是,新生成的配置文件没有包含演示程序。当然,也可以通过修改makefile文件将演示程序添加进配置文件。6兼容ArduinoIDE针对Arty开发板的FreedomE310已经支持利用ArduinoIDE进行开发,因此这是目前,最简单的软件开发方式。我们需要做的是选择File→Preferences→Settings和添加开发板管理的网址:htt://static.dev.sifive.com/bs/arduino/ackage_sifive_index.json然后点击Tools→Board→BoardManager,搜索SiFiveFreedomBoards,并安装开发板支持文件。这样,我们就可以选择FreedomE300ArtyDevKitboard,打开blinkexamle演示程序,编译并上传至板卡。注意,如果USB-JTAG没有正确连接到PMOD接口,或者udev没有配置,又或者用户不在lugdev用户组,都有可能导致下载程序失败。7freedom-e-sdk如果你更喜欢使用文本编辑器和makefile进行开发,freedom-e-sdk的GNU工具链会是很好的选择htts://github.com/sifive/freedom-e-sdk。构建GNU工具链同样很简单。1首先安装工具链的依赖库$sudoat-getinstallautoconfautomakelibmc-devlibmfr-devlibgm-devgawkbisonflextexinfolibtoollibusb-1.0-0-devmakeg++kg-configlibexat1-devzlib1g-dev2下载、编译freedom-e-sdk的源文件$gitclone--recursivehtts://github.com/sifive/freedom-e-sdk.git$cdfreedom-e-sdk$maketools3编写代码,并编译上传至开发板$makesoftwarePROGRAM=demo_gioBOARD=freedom-e300-arty$makeuloadPROGRAM=demo_gioBOARD=freedom-e300-arty有时间和精力的话,你甚至可以定制属于你自己的微控制器平台,自由设计SoC芯片。当然如果你觉得这部分超出了你的能力范围,跟着上述指南操作到这里,你已经拥有了最酷的兼容Arduino的FPGA开发板啦!
    亮了(0) 434 0 08-14
解决问题:55
干货热帖:131
会员总数:6723
总帖数:537
我要发帖

贡献榜

  • hahavchen

    创新创业教育知名圈内人

    常隐匿于江湖的资深攻城狮,拥有超过10年的半导体与测控行业产品研发、技术支持、市场拓展及区域销售经验。目前同时担任上海交通大学本科生企业导师。

    • 王斌Jr

      工程师

      Andorid工程师,书呆子

    • mysunday2

      本科生

      武汉大学在读研究生,懂一点Java,懂一点LabVIEW

    • 风雨兼程

      本科生

      热爱科研,忠于技术,渴望在LabVIEW的世界里遨游。

    • 地板

      媒体人

      资深媒体人,现任职于国内某知名电子行业媒体

  • EltonLiang

    工程师

    汽车电子方向系统集成工程师,坐标北京。精通LabVIEW与测控技术,乐于分享总结。

    • Superlava

      工程师

      国家电网工程师,对于创新创造,我是真爱粉!

    • chnwjian

      研究生

      擅长物理实时测量和ardunio

    • linon

      教师

      东南大学电子科学与工程学院

    • suo ivy

      创业者

      乐忠于机器人的创业少年

  • CC

    研究生

    擅长FPGA以及LabVIEW程序设计,拥有多年项目开发经验,曾开发过高速误码仪、自动泊车系统,研发并将PM2.5检测仪推入市场,目前致力于FPGA的图像处理研究。

    • 冰淇淋

      研究生

      略懂c语言,爱玩爱交流

    • Veritas

      电子技术爱好者

      非电类专业的在校纯技术爱好者

    • 竹杖芒鞋轻胜马

      研究生

      擅长电子电力,电源,逆变器,Matlab的同济骚年

    • 熊猫家的猫

      研究生

      热爱电子设计,熟悉LabVIEW编程,希望和大家一起学习进步。

    • 李比希

      电子技术爱好者

      喜欢LabVIEW,会点c语言,痴迷玩创,让激情碰出创意的火花!

    • 糊涂宝宝

      研究生

      精通C语言与电路设计。善于软硬件结合开发实际工程项目。

    • LabVIEWers

      工程师

      汽车电子电控领域工程师。个人信条:追求卓越。

    • 南瓜粥

      本科生

      致力于精密测量@天津大学

  • philo

    工程师

    刚毕业的新晋TI验证工程师一枚。内心埋有一个小小的希望靠技术改变世界的种子。CLD(认证LabVIEW开发工程师)持有者,并熟悉C语言与MATLAB。

    • 阳光的新手125

      研究生

      Strict coding is the boddy, smart thoughts are the soul.

    • AoduLabVer

      工程师

      华为数字视频领域工程师,技术宅,CLD,热衷LabVIEW

    • 西兰花教负责人

      创业者

      俗称“福建三本“的某985高校毕业,正不务正业地创业中

    • berwin

      创业者

      好奇主义 & 观察者 & 行动派

  • RockMOOC

    教师

    博士,现于哈尔滨工业大学任教。拥有超过8年基于FPGA的数字系统硬件设计经验,精通FPGA开发。

    • wonderm

      本科生

      熟悉LabVIEW/Matlab/Verilog,擅长STM32/K60硬件开发

    • diguaguowang

      研究生

      一直羡慕会各种编程的人,也在向着这个方向努力

    • 阿Q

      工程师

      精通FPGA的酷创达人

    • wigger

      工程师

      Digilent元老级大牛

  • Mr. D

    工程师

    部落的发起者与第一位"Digger",非典型张江男一枚。致力于为有执着有梦想的志同道合者缔造一个可以互相勾搭的中文开源技术社区。