本人第一次发帖,不是在电子发烧友网第一次发帖,而是有生以来第一次在论坛(网站)发帖。 说下本人情况先,我是做PCBLayout的,接触FPGA的机会不多。现在公司内正在研发高清相机的项目,因此Zing开发板很具有参考价值。有幸评选上后,心情很鸡冻,在这里衷心祝愿电子发烧友越办越好、科通集团生意越来越红火。4月7日,在期待科通公司电话中,不知不觉开发板就送到了,够爽快。大家这一段时间对开发板试用活动的关注,应该对Zing开发板强大的硬件(HW) 和软件(SW)开发功能有了一定的了解,我就不再多说了。正如JY-Wang贴中所述,共有开发板一块、数据线一根、6V-3A开关电源一个。板子很强大,再加上FMC模块,就如虎添翼了,随后询问了红色飓风选配模块的情况,售价不菲,暂且考虑其它办法,呵呵。4月8日,对Zing开发板的开发硬件手册及实验教程大致看了下。我以前是以PCB Layout为主,ISE软件安装后也打开的次数不多,对FPGA的了解还不够深入。 此帖主题为“FPGA设计的那些事儿”,如果你是刚入门者,那你来对了,下面的内容可以让你在FPGA设计的茫茫大海中找到扬帆的方向。如果你是大师级,就请您直接跳到倒数第二段,给些意见。小生在此谢过。我曾收集了多位资深FPGA工程师的FPGA应用心得,我进行了总结,以下是各位前辈经过风风雨雨,留下的印记。前言 先说一点最重要的:掌握FPGA可以找到一份很好的工作。^_^ 一个时期,确定一个主题,确立的主题, 搞通了, 就再下一个。 要从基础开始做,基础牢,才有成为高手的可能。FPGA用的是硬件语言,不要把verilog和c语言等同起来,是根本不同的东西,没有可比性。 一个软件,学习3个月,可以入手搞些小东西,但是3年之后,进步就慢了。 一种硬件,学习3个月,可能什么都不会,但是3年之后,就是日进千里。正文 学习步骤: 第一步:了解FPGA结构,FPGA到底是什么东西,只有了解了FPGA内部的结构才能明白为什么写HDL。 第二步:掌握FPGA设计的流程。了解每一步在做什么,为什么要那么做。了解了设计流程才有可能知道怎么提高速度,减少资源,怎么去优化设计。 第三步:开始学习代码。建议去Altera或Xilinx的网站上下原厂工程师的代码学习。 学习代码步骤:1.软硬件的准备,软件选quartusII或者ISE ,硬件需要下载器、目标板,虽然没有下载器和目标板通过仿真也可学习fpga,但那总是纸上谈兵。有了目标板仿真同样很重要,不要写完程序就去往FPGA中去加载。 2. 熟悉verilog语言或者vhdl语言,熟练使用quartusII或者ISE软件。 3. 设计一个最简答的程序,譬如点灯,下载到目标板看看结果。 4. 设计稍微复杂的代码,如UART程序,下载到目标板看看结果。 5、设计复杂的代码,如sdram的程序,下载到目标板看看结果。 6、设计高速接口,譬如ddr2或者高速串行接口。 7、设计一个复杂的协议,譬如USB、PCIexpress、图像编解码等。 8、学习再学习,学到老,活到老。 第四步:template很重要。能不能高效利用FPGA资源,一是了解fpga结构,二是了解欲实现的逻辑功能和基本机构,三是使用正确的模板。 古语有云“学而不思则罔思而不学则殆”,以做逻辑为例,并不是一上来就开始写代码,而是要先写总体设计方案和逻辑详细设计方案,要等这些方案评审通过,认为可行了,才能进行编码,一般来说这部分工作所占的时间要远大于编码的时间。时序很重要,时序是设计出来的,不是仿出来的,更不是湊出来的。不懂得时序的设计,会因一处的信号时序不满足,而不得不将其它模块信号的时序也改一下。仿真很重要,上面提到仿真的重要性,这里再唐僧下,在国外,花在仿真验证上的时间和人力大概是花在RTL级代码上的两倍,现在仿真验证才是百万门级芯片设计的关键路径。但国内的一些知名公司做FPGA的设计时是不做时序仿真的,因为做时序仿真很花时间,且效果也不见得比看静态时序分析报告好。 仿真验证的难点在于怎么建模才能完全和准确地去验证设计的正确性(主要是提高代码覆盖),仿真验证中最基本就是要做到验证的自动化。 数字电路在时钟同步的设计原则下,通过simulation就可以验证。simulation的结果和PAR后产生的FPGA-image等价,寄存器之间的path必须在一个时钟周期内完成。同时要满足FPGA器件的setup和hold要求。一旦出现timing-error必须通过各种途径消除error,因为error的存在,意味着时钟同步的大前提已经被破坏,这时,simulation取得的结果和FPGA是不等价的,继续测试也毫无意义了。 规范很重要,1.设计必须文档化。要将设计思路,详细实现等写入文档,然后经过严格评审通过后才能进行下一步的工作。2.代码规范。a.设计要参数化。b.信号命名要规范化。基于模型设计 基于模型的设计是21世纪的新技术,是创造新生事物的技术源泉,老美的F-35、GM的混合动力车、到X系列空天飞机,以及欧洲的空格A380,再到G4的开发都采用了基于模型设。 想成为一个有创造力的工程师,不懂基于模型的设计几乎是没啥希望的,因为目前一台中高档汽车的软件控制代码就超过了500万行、F-35的控制软件更是高达1500万行,一艘航母绝对超过一亿行控制代码,大家想想您自己的编程经历,就是让您写100行软件代码,如果您不山寨别人的,也许几个月都搞不定,如果让您写10000行代码,呵呵,或许是500万,可能几万人N年都搞不定,那还谈什么科技创新啊,所以现在中国山寨大爆发,也许这也是一个重要原因! 参考书籍:《基于模型的设计及其嵌入式实现》、《基于模型的设计for MCU》、《基于模型的设计及其MSP430TMS320 /F28335实现》,这些是针对MCU的,FPGA的设计也需要基于模型设计,还希望前辈们给些意见。结尾 以上是我看了多篇前辈们的网上真迹,并添加了部分自己的看法进行整理的,感谢前辈们的不吝赐教,使我找到了北的方向,您的播种将花开中国大地。我们总有一天,对于FPGA的那些事儿,不再是事儿。
2013-04-09 15:58
` 本帖最后由 caolidong 于 2013-4-14 20:19 编辑 此次的主题为——我的朋友 一周的日子里,给我最深的感触就是认识Zing开发板和认识朋友的过程是一样一样一样的,你要了解他,要从原理图、实验教程及中外文资料去了解他,了解了他,才知道他能帮你做什么。 9号,从科通集团的崔工程师讲解的有关于“科通Zing开发板讲解”视频了解到建立个工程是如此的简单,还了解到一个悲剧的事情,敝公司一直用的是Altera FPGA,还未用过Xilinx的,因此还没有下载线,怎么办?于是我想到了我们常用的JLINK下载线,支持ARM-Cortex系列,但由于“价值360美元”和“因试用者原因造成的开发板损坏、遗失,照价赔偿”不敢私自连接,于是问了专家,了解到JLINK只能下载ARM的程序,FPGA的程序是下载不了的,需要Xilinx下载线,第三方亦可。10号,在Xilinx官网查到了官方下载线-Xilinx Platform USB Cable II(如下图),多么希望225.00前面的$变为¥,于是乖乖的打开了淘宝网,我是一个把效和率分开理解的人,有效无率总好过有率无效,在淘宝网从评价、价格、售后、电路(一般或沉金)进行了一番筛选、盘问,确定了几家稳定性好的货源。一分钟长或短是看你站在厕所外面还是里面!享受的时间总是过得那么快,一天又过去了。11号,在淘宝网了解到,山寨USB Cable仿的是Xilinx公司的第一代,而现在官方已经是USB Cable II了,淘宝上第二代也有,但卖的和官方的几乎一个价了。看了官方资料了解到第一代与第二代也就是支持的芯片版本不同,而Zing开发板是现在很高级别的平台了,不知山寨USB Cable I是否能支持,在卖家说“新平台没有测试过”又口口声声说“没问题”的熏陶下付了款,看来在线到之前的一段时间要在“厕所门外”度过了。12号,线下午到了,麻溜的拆开包装拼上了转接板,进行“Hello world”测试,但下载了几次都不成功,天色已晚,来日方长。13、14号有课,14号(本日)下午5点下课后就倒腾出来开发板,又试了几次,终于下载成功了,如下图。 以下是我在调试中遇到的一些问题,分享给大家:问题1,保存路径不要出现中文,这是常见的建立工程问题,所以没花什么时间。问题2:创建时要选这一项:问题3:在进入XPS后要选择{【Import】进行加载平台选“ZC702 Development Board Template”或按“+”从路径加载。问题4:在SDK中新建时别忘了点Next选择Hello World。有时类似于报错如下,下载不成功:就检查下COM端口设置、运行配置里设备初始化选项卡里路径中要包含”ps7_init.tcl”,或是条片问题,总之,你要了解他,有了感情,会帮你的。ERROR : Unexpected error while launchingprogram. java.lang.RuntimeException: ERROR: Elf Verify failed at Address:0x0060d77b at com.xilinx.sdk.targetmanager.internal.TM.verifyELF(UnknownSource)atcom.xilinx.sdk.debug.core.internal.AppRunner.run(Unknown Source。山寨的USB Cable在此次测试中,ARM的C程序传入了,不知道在以后的使用中会不会有问题,有经济条件得话,买官方的是最好的选择,还可以避免“因试用者原因造成的开发板损坏、遗失,照价赔偿”的问题。感谢您的关注,未完待续!`
2013-04-14 20:15
` 本帖最后由 caolidong 于 2013-4-28 20:23 编辑 时间有限,精力有限,金钱有限(时间就是金钱),最近在筹划新项目,可用于充电的时间少了些。 上次做了LED流水灯的实验,在这个基础上,我进行了扩展,按键控制LED实验。可根据提示,在键盘上按下数字1或2进行模式选择,。选择1,通过一般GPIO点亮开发板上的DDP11灯,一段时间后熄灭;选择2,通过EMIO点亮一段时间后再熄灭。参考设计流程:http://forums.xilinx.com/t5/Zing%E5%BC%80%E5%8F%91%E6%9D%BF%E4%B8%93%E5%8C%BA/ZING%E5%BC%80%E5%8F%91%E6%9D%BF%E5%A5%97%E4%BB%B6%E5%8F%82%E8%80%83%E8%AE%BE%E8%AE%A1/td-p/301007 按键控制LED和流水灯实验流程是相似的,不同的是外设要添加的是按钮、定时器、Chipscope模块用来观察AXI总线上的信号(Chipscope AXI Monitor IP&ChipscopeIntergrated Controller)等。 在XPS中设置chipscope_icon时报了下面的一个错误。ERROR:EDK:4125- IPNAME: chipscope_icon, INSTANCE: chipscope_icon_0, PORT:control0 - ASSIGNMENT=REQUIRE is defined in the MPD. You must specify aconnection in the MHS. 是因为chipscope_iconI0未连线,在GUI中右击chipscope_iconI0选择合适的器件端口即可,或在MHS文件中设置。 在产生了bit文件后,器件资源使用分布图如下,明显比流水灯实验用了更多的资源。 下图是用SDK自带的终端通过UART串口证结果时得到的信息。 这个实验还是简单的,我又进行了扩展如下:设计效果:一台4种口味的冰淇淋雪糕机,点按相应口味的按钮,相应口味指示灯亮,一段时间冰淇淋打完后灯灭。类别 -外设-电压-功能- 控制管脚-注意:button- PU2-4.0V-海洋味按钮-IO_L20N_T3_AD6N_35_F19led-DU4-4.0V-海洋味指示灯-IO_L3P_T0_DQS_AD1P_35_E15button-PU1-4.0V-阳光味按钮-IO_L20N_T3_AD6N_35_G19led- DU3-4.0V-阳光味指示灯-IO_L3N_T0_DQS_AD1N_35_D15button-PD2-2.2V-蓝天味按钮-PS_MIO12_500_C5 确保PD4断开led- DU2-4.0V-蓝天味指示灯-IO_L13P_T2_MRCC_33_W17button-PD1-2.2V-翠草味按钮-PS_MIO14_500_B6 确保PD3断开led- DU1-4.0V-翠草味指示灯-IO_L24N_T3_13_W5但是在用PlanAhead创建工程后添加嵌入式源,刚打开XPS就报错如下:EDK:4092 -IPNAME: processing_system7, INSTANCE: processing_system7_0 - Pre-Productionversion not verified on hardware for architecture 'zynq' 一直都没有解决,不知哪里出了问题,一咬牙,一跺脚,将原来装的ISE14.3卸载掉,删去注册表,光安装文件就删了10G多。重新从官方下载了ISE14.5,我是翻山越岭,跋山涉水呀,又装了一遍软件,以为得到了重生,打开XPS,阴魂不散的错误又出来了,我被整服了,各位大哥大姐有遇到这种情况的一定要指导下小弟啊! 其实我这一段时间主要弄得,不是这个,而是建立交叉编译环境,已可以编译出文件,但死活开发板挂载不上U盘,也许是内核镜像文件不正确,有可能是Uboot中没有包含USB驱动,有可能是硬件电路跳线配置问题,还在查找中,因为USB接口是很有用的,还可以连接USB键盘、鼠标,及我打算做的免驱USB摄像头采集设计。小贴士: PS: 处理系统 (Processing System) , 就是与FPGA无关的ARM的SOC的部分。 PL:可编程逻辑(Progarmmable Logic), 就是FPGA部分。 APU: 应用处理器单元(ApplicationProcessor Unit). 位于PS中。 TTC:三个计数器(Triple Time Counter)3个可单独计数的计数器。 挂在APB上,为系统或外设提供定时、计数服务。 WDT:看门狗定时器,用于监视ARM-Cortex A9。软件跑飞时,定时器不能清零,一段时间后,看门狗就复位。 SWDT:系统级看门狗定时器,它的时钟和复位信号可以来自于芯片外部。这样,即使系统有严重故障,比如时钟频率本身都有问题了,仍然可以通过与系统无关的外部信号计数,计数满就复位。 SCU:Snoop Control Unit, 保持双核之间的数据Cache的一致性。就是说,第一个A9写存储时,只写在了缓存里,没有进主存,如果第二个A9读操作,涉及到第一个写过的数据段,SCU要保证第二个A9的缓存里是最新的数据。如果第二个A9写同样数据段的数据,需要在第一个中体现出写的内容。SCU的存在,才使得两个A9成互联的“双核”。 AXI:ZYNQ内部总线的接口协议,也可用于访问PL内的逻辑(加入IP核),总线用于芯片内部互联通信。AXI(Advanced eXtensibleInterface)协议主要描述了主设备和从设备之间的数据传输方式。主设备和从设备需通过握手信号建立连接。AXI协议又分为三类:AXI4,AXI-Stream,AXI-Lite。AXI协议重要特点:总线的地址/控制和数据通道是分离的,同时具有分离的读/写数据通道,这可以提高数据的吞吐率。(详见:http://www.openhw.org/tastier/blog/13-04/293148_06eee.html)EMIO:对MIO的扩展,是将MIO放不下的PS外设接口(USB,SD卡,UART等),在PL上连接到外部引脚。如果将PL内的逻辑模块看作是系统外部的设备,也就是不需要通过总线和PS通信的设备。Processing_System_7:Xilinx为PS定制的一个软件接口,简单点说是我们可以“使能”或者禁止一些Zynq上的资源,比如MIO、AXI的端口等。实际上这些资源一直存在,我们禁止它,只是没有启用而已。IRQ_F2P:FPGA到2个A9的中断请求。MHS :Microprocessor Hardware Specification 处理器硬件规范Xilinx Platform Studio无法打开之解决方法:http://qinglongjin.blog.163.com/blog/static/6223196020119210235514/`
2013-04-28 20:17
本帖最后由 caolidong 于 2013-5-9 18:57 编辑 话说上回说到Zing开发板linux系统下挂载U盘,又憋了几天,linux系统内核已经加载了,但还是不能识别U盘。还是先附上我的构建交叉编译器的过程,供各位发烧友吐槽下。 直接上步骤有些费解,所以先提下为什么要构建交叉编译器? 交叉编译,是在一个平台上生成另一个平台上的可执行代码。所谓平台,包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系结构和Windows NT for x86操作系统的简称。 构建交叉编译器主要原因是嵌入式硬件(目标机或开发板)的性能无法满足开发环境的要求,如主频比较低、内存少、没有硬盘(常用FLASH作为存储设备)、没有大型显示设备、没有全键盘等。因此采用PC作为主机来搭建开发环境进行编译,但编译出的文件能够在特定CPU体系架构的嵌入式硬件上运行。 下面开始建立交叉编译环境: 第一步:安装VMware虚拟机下Ubuntu11系统(推荐网址http://bbs.xda.cn/thread-11269029-1-1.html) 第二步:实现Windows7系统与Ubuntu11系统共享文件夹,传说用SharingOptions即可,但我没有探索过,用的网址内老方法。(推荐网址http://henudxy.blog.163.com/blog/static/34637890201011191346482/) 第三步:安装交叉编译器。下载地址:https://code.google.com/p/zedboard-book-source/downloads/detail?name=xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin&can=2&q= 由于ubuntu6.10后的版本将默认的bash更换为dash,安装交叉编译器时会报错,错误处理方法:在终端输入:※sudo dpkg-reconfiguredash再在弹出的菜单中选“NO”即可。 第四步:修改bash.bashrc文件。终端输入“gedit /etc/bash.bashrc” ※注意:指令gedit后必加空格。打开bash.bashrc文件后做如图修改:(看不清楚,请点击图片) 报错1:有时对某些文件做了修改后,在终端里输入任何指令都报错:※The command could not belocated because '/usr/bin' is not included in the PATH environment variable.sudo: command not found。 是路径问题,先查看$PATH变量的设置:echo$PATH 没包含/usr/bin这个路径,执行下面命令就可以将这个路径包含进去:export PATH=/usr/bin/:$PATH 如果想每次登陆都自动包含这个路径,可以把刚才的命令加入到/root /.bash_profile或者/root/.bashrc文件的后面。 报错2:※(gedit:2976):EggSMClient-WARNING **: Failed to connect to the session manager: None of theauthentication protocols specified are supportedSu登录到root,只能切换到管理员用户权限,不使用管理员的登陆脚本和搜索路径 su - 不但能切换到管理员权限而且使用管理员登陆脚本和搜索路径 解决方法:使用sudo gedit 或者su -后再gedit就没错误了! 经过以上几步,就构建好了交叉编译器,现在可以在ubuntu-下建立个简单的C程序,如“Hello world”,编译时,在终端输入“arm-xilinx-linux-gnueabi-gcc./hello.c -g -o hello”,“ls”,系统会自动生成ZYNQ可执行的文件,存到U盘里。 下面就到了我摔倒的地方,根据Zing开发板硬件手册,将开发板经过跳线设置为SD卡启动,USB2.0设置为OTG模式,把Linux内核文件zImage、文件系统ramdisk8M.image、设备树devicetree.dtb、BOOT.bin引导程序四个文件拷贝到SD卡根目录下,这四个文件是开发板出厂时SD卡中自带的,我还傻了吧唧的在网上地毯式搜索。 SD卡插入开发板,连好UART线,插上U盘,就可以上电了,在PC的终端软件上可以看到初始化信息,如下图: U盘挂载上后输入以下指令就可以调取U盘中的程序了。>mount /dev/U盘名 /mnt>/mnt/程序名但是U盘一直没挂载上,可能是内核驱动问题,可能是芯片管脚定义问题,而开发板试用期将至,看来要等以后对Linux与Zing开发板有更深的了解的时候再试了,试着自己生成zImage、ramdisk8M.image、设备树、引导文件等。 小贴士:1.GCC是一个用于linux系统下编程的编译器,是一个用于编程开发的自由编译器。最初,GCC只是一个C语言编译器,它是GNU CCompiler 的英文缩写。随着众多自由开发者的加入和GCC自身的发展,如今的GCC已经是一个包含众多语言的编译器了。其中包括 C,C++,Ada,Object C和Java等。 2.(Outof Band, OOB) 带外数据,传输层协议使用带外数据来发送一些重要的数据,如果通信一方有重要的数据需要通知对方时,协议能够将这些数据快速地发送到对方. 3.NULLpointer:空指针。 4.UTMI全称为 USB2.0Transceiver Macrocell Interface,此协议是针对USB2.0的信号特点进行定义的,分为8位或16位数据接口。 5.ULPI:用于高速通用串行总线(USB)和便携式USB(USB On-the-Go,OTG)收发器芯片的UTMI+ 低引脚数接口(ULPI) 6.USB OTG是USB On-The-Go的缩写,是近年发展起来的技术,主要应用于各种不同的设备或移动设备间的联接,进行数据交换。 7.BOOT.bin是引导程序,其组成包含三个文件:f***l.elf、system.bit、u-boot.elf。主要作用初始化PL( fpag部分)和PS(arm部分)及引导内核。 8. zImage 使用linux-2.6-xlnx内核,根据zing开发板定制。 9. ramdisk8M.image ,基本的文件系统。10.devicetree.dtb,设备树是包含硬件配置信息的数据结构,包括cpu、内存、总线及相关外设,内核启动时,可以解析这些信息,以此来配置内核及加载相关驱动。试用后记入电子行业以来,我主要做的是硬件相关的,也学过51与arm,但FPGA接触的较少,所以我的帖子适合FPGA初学者,这一段时间感觉很多少见的问题都被我碰到了,把问题在网上一搜,中外网页也有类似的问题问到,但大都甚至Xilinx官网没有明确解答,一个问题憋了3、4天是常有的事。如果以后还有机会的话,我遇到关于FPGA的什么疑难杂症,以及是怎么解决的,会在电子发烧友网记录一下,以免别人遇到和我相同情况时也感到很无助,还因为电子发烧友网也是我处男帖的网站。感谢电子发烧友对这次活动的筹划及科通公司对活动的大力支持,还希望电子发烧友论坛有机会再搞搞这方面的活动,我已经看到了各位发烧友在摩拳擦掌了,哈哈。我是做安防监控行业的,平时也会搜集些关于FPGA算法的资料,FPGA可以涉及到下面的功能:ISP功能实现、3A、3D降噪、边缘增强、色彩还原、图像增强、对比度增强、宽动态增强、防抖、去雾、隐私遮挡、模式识别、线性化、坏点检测与矫正、Bayer插值等。作为通过逻辑组合来实现各种功能的FPGA,几乎可以进行任何类型的处理,FPGA商已经将ARM嵌入FPGA,DSP集成到FPGA里也将是一种趋势,所以FPGA的前景很好看。ZYNQ器件的强大功能也带来了稍大尺寸的BGA封装,但一个高性能FPGA加上个ARM,也是很占板空间的,而且性能还不一定比ZYNQ好,因为做在一个芯片内,至少运行速度有很大提升,芯片的封装也决定做几层板够用,最近几年PCB板的层数的增多,成本的增长已经不太高了。 {:4_95:} 各位大人,贴中定有BUG,欢迎拍砖,希望您也聊聊这新一代的ZYNQ器件,这也是我们共同成长的过程。
2013-05-09 18:41
` 本帖最后由 caolidong 于 2013-4-17 21:42 编辑 上次的日记“Hello world”测试程序,进行了简单的修改,LOOK!(图片看不清,请单击图片) 图1刚开始用SDK自带终端和网上下的超级终端,一直不能显示汉字,还以为是软件没有GB2312编码支持,如图2,在要放弃的时候,用SecureCRT一试,居然可以了。 图2本期嘉宾:裸奔的LED灯~这次的party(system)要邀请外设LED灯,通过服务人员(XPS软件)为LED灯安排了卡座(GPIO_IO_O) ,约定party的时间(FCLK_CLK),然后去印刷公司(PlanAhead软件)制作邀请函(bit文件)并说明注意事项(ucf文件),印刷公司(PlanAhead软件)有任何问题都会中止制作邀请函(bit文件),并提醒我们,例如报错:This design contains pinswhich have locations (LOC) that are not user-assigned or I/O Standards(IOSTANDARD) that are not user-assigned. This may cause I/O contention or incompatibility with the board power orconnectivity affecting performance, signal integrity or in extreme cases causedamage to the device or the components to which it is connected.To prevent this error, it is highly suggestedto specify all pin locations and I/O standards to avoid potential contention orconflicts and allow proper bitstream creation. To demote this error to a warning and allow bitstream creation withunspecified I/O location or standards, you may apply the following bitgenswitch: -g UnconstrainedPins:Allow。说了这么多,我一句没看懂,其实就是注意事项(ucf文件)定的不太合里,例如图3 图3红框中的竖杠忘打上了。修改后即可继续制作邀请函(bit文件),邀请函(bit文件)制作完毕后会说明LED灯的卡座位置和party会场的入口,如图4: 图4 接着管理员(SDK)会为来宾(外设)准备座椅、果盘等物品(bsp文件),并计划活动内容(elf文件)。准备完毕后就可以通知LED灯来参加party了,将邀请函(bit文件)和活动内容(elf文件)快递(Platform USB Cable)给LED灯。要先邀请(bit文件),再说明活动内容(elf文件),否则LED灯就会一头雾水,不知从何说起了。下面是LED灯在party现场的情景[流水灯循环]:图5图6 图7图8 由于是临时(BRAM)通知LED灯的,LED灯裸奔就过来了。 为避免这种尴尬的事情再次发生,可以预先做好系统(Linux)规划,然后事先将邀请函(bit文件)和活动内容(elf文件)以电子文档的形式(Rootfs Image)发送到LED灯的邮箱(SD),等时间到了,LED灯就可准时自动赴会的。小贴士:1.裸奔(裸机):只有硬件部分,还未安装任何软件的系统。 2.一些简单的程序可以根据SDK示例程序修改,既省时,又减少错误。 3.上电顺序:1.在FPGA板子断电的情况下,插上JTAG下载线接口。 2.插上USB Cabler 3.插上FPGA板子的电源 下电顺序:1.断开FPGA板子的电源 2.断开USB Cabler 3.断开JTAG下载线接口 虽然上面的步骤有点繁琐,但是为了保证芯片不被损坏,还是繁琐点,安全第一。 `
2013-04-17 20:14
本帖最后由 100dongdong 于 2014-7-24 23:42 编辑 【目的】 阿东推出《【连载】阿东带你学习Verilog和Qsys设计》 连载,为了帮助初学者深入掌握FPGA
2013-12-28 20:42
。在手机电路中还有一主时钟,一般为13MHz或是其倍频。之所以选用13M这样的时钟是为了与基站同步。东晶晶振32.768完美替代爱普生晶振。东晶32.768特点:1.小尺寸表面封装类型最适合高密度
2011-05-25 15:27
平台。据说“平头哥”是由马云亲自赐名,可见马云对东沃是爱的多么深沉。一瞬间,跟电子相关的各行各业被“平头哥”刷爆了屏,激发大家好奇心的同时,也让安逸的心顿时骚动起来了,开始重新思考和琢磨自己公司未来
2018-09-20 17:11
作为京东集团创始人,刘强东备受关注。互联网界的大佬,很多都是程序员出身,或者会写代码,就像雷军(雷军 1994 年写的代码,像诗一样优雅!)、马化腾、李彦宏、周鸿祎、张一鸣等,几乎都是编程高手。有人
2021-07-21 07:31
东正CTV-2588彩电原理图文件下载
2021-07-02 07:28