1.zynq开发板的构造以及推崇的设计理念

设计推崇的理念是设计有知识产权的可重用的IP模块。

2.操作过程中遇到的问题以及解决方法

(1)综合速度慢解决方案:

我们都知道Vivado编译起来相当的慢,每次综合起来我就拿起了手机,这个方法可以提高编译速度,在VIVADO中一个run编译时支持的线程数如下表:(综合时一般是2线程)

Place

Route

Windows默认

2

2

Linux默认

4

4

Windows开启maxThreads=8

4

4

linux开启maxThreads=8

8

8

A:在tcl脚本处输入如下命令:

  设置多线程的命令为:  set_param general.maxThreads 4

  读取当前线程数的命令: 为get_param  general.maxThreads

B:增量编译设计:

  1、首先完成非增量编译,获得参考的布局布线dcp文件;

  2、当逻辑修改小于5%,需重新出版本,采用增量编译

  3、按步骤打开:implementation setting——options——incremental compile,浏览文件

  4、选择.runs / impl_1 / *.dcp

  5、点击run implementation,等待结果

效果:预计能减少30%左右的时间。

(2)引脚指定约束xdc文件的编写语法要求等

参考网址

https://blog.csdn.net/angelbosj/article/details/52921563

http://xilinx.eetrend.com/article/8441

https://blog.csdn.net/feiliantong/article/details/78011665

(3)dcp文件的用途:http://blog.chinaaet.com/luozhongpin1989/p/37153

3.操作的流程

http://www.docin.com/p-1856047260.html

以一个工程为例,按照如下步骤开发关于block design

#1.create block design,产生一个空白的工程模板

#2.导入IP核,包括一些经常用到的核,如zynq-processing-system,axi-dma,conact,axi-fifo-data,以及我们需要的所有的自己编写的HLS的IP核

#3.选择auto-connect对模块进行连接,但是这个过程并不会把所有的模块都接好,所以还需要进一步的手动连接(需要注意的是对于axi相关的连线,能一根直接连接完毕就不要用多根自己连接,会导致编译错误)

#4.进行validate design————generate block design(相当于产生一个完整的工程)————create wrapper(将工程包装起来,右击source的system选择create HDL wrapper即可)

#5.执行综合和implementation(该过程费时间较长,可以先略过去)然后generate bitstream

#6.file--export hardware 然后launch SDK,打开SDK进行软件部分的设置

#7.软件部分的实现过程直接导入main.c等相关的文件,file ---refresh后,保存就会自动编译

#8.编译成功后,右击system_wrapper_hw_platform_0,在弹出来的对话框中选择run as ---run configurations,然后选择对应的bitstream文件,接下来就可以将文件下载到开发板,进行工程的执行。

转】用Vivado/SDK实现microblaze的一些总结

vivado操作基本问题的更多相关文章

  1. Zynq系列FPGA如何固化bit文件到QSPI_Flash

    最近由于项目需要,要将bit文件固化到zedboard的flash中,使程序上电自启,断电不丢失. 我们知道,一般板级调试的时候都是直接下载bit流到FPGA就行,固化到Flash的话,也是先生成.m ...

  2. [转载]Vivado轻松实现IP封装

    Vivado轻松实现IP封装 1.新建一个测试工程 工程化的设计方法是离不开工程的,第一步往往都是新建工程,后面我会学习去工程化的开发方法,可能会更加高效. 2.利用向导完成IP封装 2.1.启动IP ...

  3. [vivado系列]Zynq开发常用文档

    时间:2016.06.13 目的:阶段性总结学习的策略 ------------------------------------------------------------------------ ...

  4. [Xilinx]Modelsim独立仿真Vivado生成的PLL核

    EDA Tools: 1.Vivado 2015.1(64-bit) 2.Modelsim SE-64 10.1c Time: 2016.05.26 ------------------------- ...

  5. Java事务处理全解析(一)——Java事务处理的基本问题

    Java中的事务处理有多简单?在使用EJB时,事务在我们几乎察觉不到的情况下发挥着作用:而在使用Spring时,也只需要配置一个TransactionManager,然后在需要事务的方法上加上Tran ...

  6. 设置ISE/vivado中默认文本编辑器为gvim

    ise windows版,添加方式 ISE下点击菜单Edit -> Preferences -> Editor. 在Editor选项框里选择Custom,在Command line syn ...

  7. Tcl在Vivado中的使用

    http://blog.chinaaet.com/detail/36014 Vivado是Xilinx最新的FPGA设计工具,支持7系列以后的FPGA及Zynq 7000的开发.与之前的ISE设计套件 ...

  8. 在Vivado中调用ModelSim生成FSM的状态转移图

    如果我们已经书写了一段FSM代码,现在想倒过来把它转换成为状态转移图,方便我们直观地检查我们书写的状态对不对(在写论文什么的画图太麻烦的时候,有个自动生成的是多方便啊!),应该怎么弄呢?通过在Viva ...

  9. [转帖]vivado & VS2013工具

    来源:http://bbs.csdn.net/topics/380057699 添加OpenCV库后,MFC在Debug模式下调试,提示应用程序无法正常启动(0xc000007b). 解决方法:在环境 ...

随机推荐

  1. javaweb04 ServletRequest&ServletResponse

    WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个歌规则就是 HTTP协议HTTP协议是超文本传输协议,它是TCP/IP协议集中的一个应用层协议,用于定义WEB浏览器与WEB服 ...

  2. 今天 运营同事发现的bug记录 上传商品时商品名称带双引号 导致输出页面时 双引号被转义

    例如  ”sk||““美白”淡化 这样输出表单页面时显示出来的只有sk||  解决办法 把输出文字对双引号进行转义

  3. h3c 瘦ap无法上线解决办法(WA4320i-ACN)

    瘦ap无法上线的原因主要有两个:1.无法获取IP地址 2 .版本 胖ap转瘦ap: 1.使用网线+web对ap进行管理,默认IP地址为:192.168.0.50,用户名:admin 密码:h3capa ...

  4. 吴裕雄--天生自然Linux操作系统:Linux 用户和用户组管理

    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...

  5. 吴裕雄--天生自然 JAVA开发学习:Character 类

    char ch = 'a'; // Unicode 字符表示形式 char uniChar = '\u039A'; // 字符数组 char[] charArray ={ 'a', 'b', 'c', ...

  6. C++随机迷宫生成[转载]

    原文:http://tieba.baidu.com/p/2596809144 #include<iostream.h> #include"time.h" #includ ...

  7. gcc -S xx

    编译器的核心任务是把C程序翻译成机器的汇编语言(assembly language).汇编语言是人类可以阅读的编程语言,也是相当接近实际机器码的语言.由此导致每种 CPU 架构都有不同的汇编语言. 实 ...

  8. Java利用DES/3DES/AES这三种算法分别实现对称加密

    转载地址:http://blog.csdn.net/smartbetter/article/details/54017759 有两句话是这么说的: 1)算法和数据结构就是编程的一个重要部分,你若失掉了 ...

  9. day49-线程-事件

    #1.Event里面有一个标志flag,当e = Event()刚创建的时候,flag=False,阻塞,这个时候,e.is_set()也是等于False,阻塞. #e.set()让flag变成非阻塞 ...

  10. Python语言学习:列表常用的方法

    python 列表常用的方法 1.append( ):用于在列表末尾添加新的对象 list.appent(obj) #obj:添加到列表末尾的对象 #!/usr/bin/python aList = ...