博客

ZYNQ+Vivado2015.2系列(十四)按键中断控制LED亮灭

关键词: Zynq, Vivado2015.2, ZC702
前面我们介绍了按键中断,其实我们稍作修改就可以用按键控制LED了。做个小实验,两个按键分别控制两个led亮灭。 板子:zc702。 硬件部分 添加zynq核: 勾选串口用于打印信息,勾选EMIO,我们控制两个led,所以需要2bit PL 到PS的中断勾选上: PL时钟什么的都用不到,我们用的按键不需要时钟,EMIO属于PS。 再添加一个concat IP用于合并两路按键信号:

System Generator从入门到放弃(四)——利用MCode调用MATLAB代码

关键词: System Generator, Matlab
FPGA设计中经常用到一些控制逻辑,如有限状态机(FSM),如果用各种block搭建一个FSM比较麻烦。System Generator支持调用MATLAB代码,通常可以编写MATLAB代码来实现FSM等控制逻辑,通过MCode block调用到System Generator设计中。

FPGA挂载NVME SSD(二)

关键词: FPGA, NVMe SSD
1. 首先要在Ubuntu下安装Petalinux 2017.2 2. 设置Petalinux 环境变量 source //settings.sh 3. 新建目录~/projets/fpga-drive-aximm-pcie 4. 把Windows下的Vivado工程复制到~/projets/fpga-drive-aximm-pcie下 5. 新建Petalinux工程 petalinux-... 阅读详情

System Generator从入门到放弃(三)——Digital Filter

Simulink中的仿真模型为连续时间系统,数据格式多种多样;而FPGA中为离散时间系统,数据必须用一定的位数进行量化。两者之间必须要进行从连续到离散的转换、数据格式的转换,否则无法进行正确的FPGA设计

ZYNQ Linux开发——ZedBoard使用ubuntu16.04文件系统+桌面

关键词: LINUX, ubuntu16.04, ZedBoard, Zynq
文件系统用的Koheron提供的ubuntu16.04,将镜像文件解压后可以直接使用文件系统,具体使用命令的命令是fdisk 和mount

PCIx系列之“PCIe总线硬件设计”

关键词: PCIe总线
本文主要介绍一些常见的PCIe设计方案,针对PCIe接口的PCB设计。

FPGA挂载NVME SSD(一)

关键词: FPGA, SATA-SSD
FPGA挂载SATA SSD需要SATA IP,IP报价动辄十几W,开源的IP也有,但都是基于V6或者V5等老器件的。现在好了,NVME SSD大行其道,而且不需要IP,可以说为广大爱好者带来的福音

ZYNQ+Vivado2015.2系列(十三)私有定时器中断

关键词: Vivado2015.2, Zynq
私有定时器属于PS部分,定时器可以帮我们计数、计时,有效的控制模块的时序。这一次实验我们认识定时器并使用定时器产生中断。 CPU的私有中断(PPI),5个:全局定时器, 私有看门狗定时器, 私有定时器以及来自 PL 的 FIQ/IRQ。 它们的触发类型都是固定不变的, 并且来自 PL 的快速中断信号 FIQ 和中断信号 IRQ 反向, 然后送到中断控制器因此尽管在ICDICFR1... 阅读详情

System Generator从入门到放弃(二)——Digital Filter

关键词: System Generator
System Generator是Xilinx公司进行数字信号处理开发的一种设计工具,它通过将Xilinx开发的一些模块嵌入到Simulink的库中,可以在Simulink中进行定点仿真,可以设置定点信号的类型,这样就可以比较定点仿真与浮点仿真的区别。并且可以生成HDL文件,或者网表,可以在ISE中进行调用

Zedboard学习(三):PL下流水灯实验

关键词: ZedBoard
Zynq系列FPGA分为PS部分和PL部分。 PL: 可编程逻辑 (Progarmmable Logic), 就是FPGA部分。 PS: 处理系统 (Processing System) , 就是与FPGA无关的ARM的SOC的部分,实质是直接操作arm9内核的处理器。 这次先是最简单地在PL部分编写一个流水灯实验的代码。 使用的开发环境是vivado 2016.4。 1、新建工程,... 阅读详情

ZYNQ+Vivado2015.2系列(十二)按键中断(PL中断请求)

关键词: Vivado2015.2, ZC702, Zynq
PS和PL之间的交互,怎么都逃不过中断,稍微大型的数字系统,PS和PL之间配合使用就需要中断作为桥梁。本文通过按键发起中断请求尝试学习PL请求中断的处理机制。

Zedboard学习(二):zedboard的Linux下交叉编译环境搭建

关键词: LINUX, ZedBoard
环境准备 首先肯定是要下载xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin文件,这是官方提供的linux下交叉编译链安装文件,下载地址为:https://pan.baidu.com/s/1eSP85nO 。 安装交叉编译环境工作: 1、由于安装文件只能在bash下运行,所以要将dash改为bash,输入以下指令: sudo dpkg-... 阅读详情

System Generator从入门到放弃(一)-安装与使用

关键词: system-generator
System Generator是Xilinx公司进行数字信号处理开发的一种设计工具,它通过将Xilinx开发的一些模块嵌入到Simulink的库中,可以在Simulink中进行定点仿真,可以设置定点信号的类型,这样就可以比较定点仿真与浮点仿真的区别。并且可以生成HDL文件,或者网表,可以在ISE中进行调用

ZYNQ+Vivado2015.2系列(十一)BRAM的使用——PS与PL交互数据,及其与DRAM(Distributed RAM)的区别

关键词: Vivado2015.2, Zynq
Block RAM是PL部分的存储器阵列,为了与DRAM(分布式RAM)区分开,所以叫块RAM。ZYNQ的每一个BRAM 36KB,7020的BRAM有140个(4.9M),7030有265个(9.3M),7045有545个(19.2M)。每一个BRAM都有两个共享数据的独立端口,当然是可以配置的,可用于片内数据缓存、FIFO缓冲

ZYNQ QNX开发——资源管理器对close()的处理

关键词: QNX, Zynq
在写资源管理器的时候,一般会用到处理close()来进行一些收尾工作,比如释放内存等等,查看QNX代码resmgr_io_funcs_t结构体对close()的处理有两个相关函数