fpga

Xilinx FPGA 仿真环境设置(ISE + Modelsim + Debussy)

别说谁变了你拦得住时间么 提交于 2020-01-16 23:16:09
目的:使用ISE调用modelsim进行仿真,并使用debussy查看仿真波形 准备: 安装ISE、Modelsim和Debussy软件 将C:\modeltech_6.5a\modelsim.ini设置为可写,并在该文件中添加Veriuser = novas.dll 将C:\Novas\Debussy\share\PLI\modelsim_pli\WINNT\novas.dll拷贝至C:\modeltech_6.5a\win32 准备rtl/testbench/model等设计文件,并在testbench加入 initialbegin $fsdbDumpfile("filename_you_want.fsdb"); $fsdbDumpvars;end ISE 新建ISE工程,选择Modelsim SE仿真器,添加rtl/testbench/model等设计文件 在ISE左侧进入Design标签,在左上角选择Simulation,在下面Hierarchy列表中选择FPGA器件名,在下面Process列表中运行Compile HDL Simulation Libraries,如果有必要的话也得运行Regenerate All Cores 在Hierarchy列表中选择testbench的Top模块,在Process列表中的Simulate Behavioral

FPGA中的时序分析(一)

有些话、适合烂在心里 提交于 2020-01-16 19:52:47
谈及此部分,多多少少有一定的难度,笔者写下这篇文章,差不多是在学习FPGA一年之后的成果,尽管当时也是看过类似的文章,但是都没有引起笔者注意,笔者现在再对此知识进行梳理,也发现了有很多不少的收获。笔者根据网上现有的资源,作进一步的总结,希望能够有所帮助。 一个不错的网站,类似于一个手册,随时可以去查询如何去定义各个时序约束指令怎么用。http://quartushelp.altera.com/current/mergedProjects/tafs/tafs/tcl_pkg_sdc_ver_1.5.htm 静态时序分析(STA,static timing analysis),对于STA的理解,可以想象在FPGA的内部好比一块PCB,FPGA的逻辑阵列好比PCB板上的一些分立元器件,PCB通过导线将具有相关电气特性的信号相连接,FPGA也需要通过内部连线将相关的逻辑节点导通,PCB上的信号通过任何一个元器件都会产生一定的延时,FPGA的信号通过内部逻辑门传输也有一定的延时,PCB信号走线也有延时,FPGA信号走线也有延时,这就带来了一系列的问题,一个信号从FPGA的一端输入,经过一定的逻辑处理后从FPGA的另一端输出,这期间会产生多大的延时呢?有多个总线信号从FPGA的一端输入,这条总线的各个信号经过逻辑处理之后从FPGA的另一端输出,这条总线的各个信号的延时一致吗?之所以关心这些问题

ZYNQ 动态更新bit流 ZynqMP PL Programming

隐身守侯 提交于 2020-01-16 03:39:06
项目最后的几个事宜,本以为很简单,结果深坑不浅。公司为某部分设计的XX板,设计128MB QSPI Flash,无SD卡。先需要在内核启动后动态加载bit流,使用脚本完成。参考Xilinx官方的方案,应该比较简单,但实际上差点坑出翔。 本文内容简介,没时间写的太详细!!! 1 配置步骤 1.1 Kernel Configuration The following config options has to be enabled in order to use FPGA Manager, Please note that these options are enabled by default through xilinx_zynqmp_defconfig except for the fpga debugfs option. If user wants to test readback feature they have enable it. Zynq UltraScale+ MPSoC FPGA Manager Configuration: Select: Device Drivers → FPGA Configuration Framework → Xilinx Zynq UltraScale+ MPSoC FPGA In-order to test readback

基于FPGA的IIC协议详解——EEPROM控制器(2)

回眸只為那壹抹淺笑 提交于 2020-01-15 19:04:49
IIC协议仿真 小结 modelsim仿真测试 上板测试代码 上班调试 结束语 小结 相信大家读完上一篇博客对IIC协议与eeprom读写已经有了一定的了解,本篇博客将以黑金A7102开发板为例进行验证上结代码的准确性,这里注意之江将上篇文章的代码放在A7102中是不能用的,因为上篇文章的代码是以24LC64为例进行书写的,而A7102中的eeprom芯片是24LC04。这里为了简单起见不再给出修改后的代码,需要的同学可以进群自取。 modelsim仿真测试 从上图中我们可以看到我们编写的eeprom控制器modelsim仿真通过验证。 上板测试代码 为了上板验证的方便性,我们将添加如下代码: top_test模块: `timescale 1 ns / 1 ps // ********************************************************************************* // Project Name : OSXXXX // Author : zhangningning // Email : nnzhang1996@foxmail.com // Website : // Module Name : top_test.v // Create Time : 2020-01-14 16:13:00 // Editor :

“FPGA+云"助力高性能计算

瘦欲@ 提交于 2020-01-14 13:40:32
用AI防鲨鱼、用AI学写中国书法、用AI预测人类死亡时间、用AI审判罪犯……在人工智能方兴未艾的今天,越来越廉价和普及的AI领域真的是什么都不值钱,除了想象力。那在这无所不能的AI盛世,一定没道理让算力限制我们的想象力,更没道理让算力限制了我们的生产力。 从CPU到CPU+,从+GPU到+FPGA 随着通用处理器(CPU)的摩尔定律已入暮年,从美国的微软、亚马逊到中国的BAT、华为,几乎所有的互联网巨头们都在补充他们的标准服务器芯片——CPU,使用可替代的硅来追赶在人工智能领域的急速变化。2012年,微软开始将支撑了通讯行业二十年高速发展的可编程芯片,即FPGA用在其搜索业务——Bings上,且公布FPGA相比于CPU在处理Bing 的自定义算法时快出40倍,整个系统比Bing 现有的系统快出两倍,因此其可以将当前已经投入使用的服务器数量减少一半。甚至在接下来的几年里,几乎任何一个新的微软服务都会包含一个FPGA。 那么这个所谓的可编程芯片到底是什么?据菲数科技创始人兼CEO王文华介绍,2017年是全球超大规模数据中心的“爆发年”,全年新增超大规模数据中心90余个,总数量超过390个。且2018年也没有丝毫放缓的迹象。如此海量数据需要计算机高速计算各种矩阵运算、图像处理、机器学习、压缩、非对称加密、搜索排序等。即数据中心优先于人工智能发展

How to generate delay in verilog using Counter for Synthesis and call inside Always block?

余生颓废 提交于 2020-01-14 06:34:10
问题 I want to generate delay using counter, actually here I use counter to generate delay after each 1 Bit transfer, so that its better understand externally on fpga pin from which by SPI(serial) LCD is connected with it. Therefore I had created a shift register which shift 1 bit then gives delay then next bit(Bit-Delay-bit-delay..). Here is my code of counter: module spidelay( input wire clk, input wire enb, output reg sclkout ); reg [23:0] stmp; always @(posedge clk) begin if ( enb == 1 ) begin

FPGA开发(一) 开发环境的配置

谁说我不能喝 提交于 2020-01-14 04:34:07
博主一直希望能把自己学习知识的过程记录下来,之前一直没有完成,本次学习FPGA,我决定把自己的学习过程完整的记录下来,一方面之后可以回顾,另一方面也可以帮助需要学习FPGA的人,少走弯路。 开发FPGA我们需要的软件主要有 Quartus(博主使用的版本是Quartus Prime 17.1) 链接:https://pan.baidu.com/s/1MzYhAR5CUMn_7Y_rcqtXHg 提取码:xtge Modelsim (博主使用的是Modelsim SE-64 10.1c) 链接:https://pan.baidu.com/s/1SVTY_9-vVALwAkmCWFoVMg 提取码:2ucp Quartus的安装在文件中有安装说明文档。大家自行安装就可以 Modelsim的安装过程可以参见下面的博客 https://blog.csdn.net/qhdlaowang/article/details/51165003 来源: CSDN 作者: Always Sun 链接: https://blog.csdn.net/qq_34020487/article/details/103799629

VHDL and FPGA's

坚强是说给别人听的谎言 提交于 2020-01-14 02:33:56
问题 I'm relatively new to the FPGA sceen and was looking to get experience with them and VHDL. I'm not quite sure what the benefit would be over using a standard MCU but looking for experience since many companies are looking for it. What would be a good platform to start out on and get experience for not to much money. Ive been looking and all I can find are 200 - 300 dollar boards if not 1000's. What should one look for in an FPGA development board, I hear high speed peripheral interfaces, and

Difference between unsigned and std_logic_vector

£可爱£侵袭症+ 提交于 2020-01-12 09:01:53
问题 can anyone tell me about the difference between below written statement. signal A: **unsigned**(3 downto 0); signal B: **std_logic_vector**(3 downto 0); 回答1: Both std_logic_vector and unsigned are unconstrained arrays of std_logic . As is the signed type. std_logic_vector is declared in the std_logic_1164 package; unsigned and signed are declared in the package numeric_std . All three types are identical; the only difference is their names. So, what's the point of that? The point is well

基于FPGA的SPI接口讲解——flash M25P28为例(2)

旧巷老猫 提交于 2020-01-11 15:45:08
flash M25P128页写入 M25P128 PP操作的注意点 时序图设计 flash_write模块的书写 flash_write测试模块的代码 其他模块的代码 实验结果 结束语 M25P128 PP操作的注意点 我们本次实验的内容是,对flash写一个字节的数据: 所用到的软硬件环境为: 硬件:锆石A4plus开发板 软件:quartus II 13.1 从技术手册中我们可以得到如下信息: 从上面的信息中我们提取如下信息: 1、PP操作之前必须有写使能操作被执行; 2、PP操作连续写只能对一页写,超过256个数据只保存最后256个数据到页中; 3、整个操作服从的协议是SPI协议 时序图设计 由手册中的时序图我们可以知道,该时序与flash的扇区擦除指令的时序几乎一摸一样,只是在擦除的指令上多了8个sck,所以设计的时序图如下: 相信同学们学会了扇区擦除指令,PP操作的指令可以很容易理解。 flash_write模块的书写 这里的传统不说废话,直接上代码: `timescale 1 ns / 1 ps // ********************************************************************************* // Project Name : OSXXXX // Author : zhangningning //