巴特西
首页
Python
Java
PHP
IOS
Andorid
NodeJS
JavaScript
HTML5
FPGA用组合逻辑写全加器
FPGA学习笔记(五)—— 组合逻辑电路功能的描述
设计方法: 分析真值表规律 两种描述方式: 方式1:用assign描述,用阻塞赋值= 方式2:用always@(*)描述,用非阻塞赋值<= 选择功能的三种描述方式: 方式1:三目运算符 ? : ; 方式2:if...else if.....else(有优先级) 方式3:case....default...(并行) 例1.mux2二选一数据选择器 //方式1(先列出端口,后定义端口属性) module mux2( a, b, sel, out ); //端口属性定义
学习FPGA有必要写SDRAM控制器吗?
在学习FPGA的过程中,注意是在学习过程中,联系FPGA的使用技巧,强烈建议尝试设计一个SDRAM控制器,不要使用IP核. 学习SDRAM控制器设计,能让你掌握很多知识. 更好的使用状态机去精准控制时序. 学会高速设计中必要的技能,也就是时序约束方法,timing report的阅读方法,查找时序问题的基本技巧,复位方案和时钟方案的合理设计,如何优化代码提升系统最高工作时钟,以及testbench的写法. 写sdram控制器还是能锻炼不少典型技能的,值得去花时间思考尝试,性价比是可取的. 设计流
FPGA编程—组合逻辑编码器等verilog实现
本篇博客主要实现对组合逻辑电路的一些常用模块的实现.组合逻辑中,包括译码器,编码器,输入输出选择器,数值比较器,算法单元等. 先来实现编码器,最常用的8-3编码器,这里先讲一下要用到的case ,casex,casez三者的关系和区别.对于8-3编码器因为用到优先级编码,所以三者的区别.Casex中对于某些位呈现x或者z,对这些位比较就会忽略,不予考虑,而只关注其他位的比较结果.casez中对于某些位呈现高组态,对这些位的比较就会忽略,不予考虑,而只关注其他位的比较结果.而case是一种全比较
记录第一次使用Vivado——以全加器为例子
从altera转战xilinx,经典的FPGA到ZYNQ系列,第一站就是先熟悉编译软件Vivado.我就直接跳过软件安装部分了,如有疑问,可以在评论区提出来,我看到了就帮你解答. 首先是是打开界面 然后建立工程,红圈表示自动建立子文件夹. 因为手上暂时没有现成的器件,后续一直点next就行了. 这是打开的界面,然后我们需要开始创建.v文件写全加器的电路代码.右键点击Design Sources->next->creat file.会得到下图二,然后取名full_adder再点OK和finish
FPGA中的delay与latency
delay和latency都有延迟的意义,在FPGA中二者又有具体的区别. latency出现在时序逻辑电路中,表示数据从输入到输出有效经过的时间,通常以时钟周期为单位. delay出现在组合逻辑电路.布线中,表示数据从一端到另一端经过的时间,通常以绝对时间衡量. 引起delay的有线延迟.门延迟等,通常是不希望出现的. latency和电路的逻辑设计有关,如果latency很大,通过提升工作的时钟频率,那么绝对的响应时间不会太长. 而delay很大,那么电路的工作频率会受限,从而影响电路的整体
Altera FPGA SoC搭建步骤
Altera SoC 官方搭建指南: https://rocketboards.org/foswiki/Documentation/EmbeddedLinuxBeginnerSGuide 官方文档中除了讲解搭建方法之外,还有很多原理性的介绍,感兴趣的朋友可以自己阅读. 准备工作: 1. 安装Altera官方提供的IDE (Quartus 和 SoC EDS), 不需要安装DS-5. 文档中的工作是基于v15.0版本 2. 一块FPGA SoC开发板.官方Guide中的硬件平台是友晶系列的DE0-
【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十:PS/2模块④ &mdash; 普通鼠标
实验十:PS/2模块④ - 普通鼠标 学习PS/2键盘以后,接下来就要学习 PS/2 鼠标.PS/2鼠标相较PS/2键盘,驱动难度稍微高了一点点,因为FPGA(从机)不仅仅是从PS/2鼠标哪里读取数据,FPGA还要往鼠标里写数据 ... 反之,FPGA只要对PS/2键盘读取数据即可.然而,最伤脑筋的地方就在于PS/2传输协议有奇怪的写时序. 图10.1 从机视角,从机读数据. 为了方便理解,余下我们经由从机的视角去观察PS/2的读写时序.图10.1是从机视角的读时序,从机都是皆由 PS2_CLK
SoC FPGA开发板的FPGA配置数据下载和固化
小梅哥编写,未经许可,严禁用于任何商业用途 2018年7月2日星期一 soc fpga的烧写和固化方式与传统的纯fpga固化方式即存在形式上的相同,也存在细节上的差异,特整理此文. AC501-SoC开发板在上电时能够根据启动设置开关的设置,选择从EPCS或者HPS中启动.具体是通过EPCS还是HPS启动,由一个6位拨码开关通过设置不同的值来决定. 配置方式 MSEL0~4 MSEL5 描述 AS 10010 未使用 FPGA从EPCS配置 FPPx32/ Compression Enable
FPGA设计方法检查表
-----------------------摘自<FPGA软件测试与评价技术> 中国电子信息产业发展研究院 | 编著------------------------------- 文本格式 1.注释率不低于20% 2.每个文件内只包含一个模块,文件名与模块名一致: 3.每行字符不超过80个: 4.对代码进行详细注释,被注释过的代码和附带的文档将提供可信的设计基础: 5.文件顶端加入注释,包括版权.项目名.模块名.文件名.作者.功能和特点.版本号.日期.详细的更改记录等: 设计方法 1.不使用
【黑金原创教程】【Modelsim】【第三章】理想就是美丽
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/alinx/p/3362790.html <FPGA那些事儿-Modelsim仿真技巧>REV3.0 PDF下载地址: http://www.heijin.org/forum.php?mod=viewthread&tid=22492&page=1&extra=#pid16325
SRAM的读写操作
自己写的SRAM的程序,主要在于实用性,适应工作的工程需要.使用芯片为: 芯片时序图为: 代码: /********************************Copyright************************************** **----------------------------File information-------------------------- ** File name : ZF_SRAM.v ** CreateDate :2014.11
zedboard 构建嵌入式linux
本文通过五部完成zedboard的嵌入式LINUX搭建,所谓磨刀不五砍材工嘛 1:系统环境搭建 要准备好交叉编译环境 见http://blog.csdn.net/xiabodan/article/details/22717175 2:编译u-boot 然后要准备好u-boot 可以首先 apt-get install git ,然后可以在xilinx git中下载相关的u-boot原码,git clone git://git.xiinx.com/u-boot-xarm.git 解压原码:如
RTC实时时间系统学习笔记(一)---------------UART串口
临近研三了,自己倾向于要找数字IC方面的工作,苦于教研室的项目一直都是调板子调板子调板子,真正用到FPGA的很少,,本着"工欲善其事必先利其器"的原则,在网上搜寻如何自学FPGA,一咬牙买了块黑金AX515,拿着上面的小例程一个个实现.第一个我觉得有必要记录一下的就是关于UART串口协议的实现. 由于之前也算接触了FPGA(教研室项目用到了Altera的Cyclone iV),所以拿到板子没有从第一个例程开始,直接上手RTC实时时钟系统的实现.先简单描述一下这个系统的功能(网上的资料大
Xilinx Vivado的使用详细介绍(4):Zedboard+vivado之流水灯(加SDK)
Vivado+zedboard之初学流水灯 Author:zhangxianhe 环境:vivado 2016.3(已验证适用于2015.4) 开发板:Zedboard version xc7z020clg484-1 实验:使用Vivado和SDK进行Zedboard开发,制作一个简单的流水灯程序以说明软硬件协同设计的方法.开发流程等. 本文将分为三个部分: 1. 使用Vivado创建一个工程,并构建一个Zynq嵌入式处理系统. 2. 在上述基础上,将完成后的硬件导入到SDK中进行软件设计. 3
PCIE的DMA和PIO介绍
墨尘 百家号01-2422:14 在PCIE中有两种数据传输方式: DMA(Direct Memory Access),直接内存访问,在该模式下,数据传送不是由CPU负责处理,而是由一个特殊的处理器DMA控制器来完成,因此占用极少的CPU资源. PIO(Programmed Input-Output),可编程输入输出,在该模式下,数据传送由CPU执行I/O端口指令来按照字节或更大的数据单位来处理,占用大量的CPU资源,数据传输速度也大大低于DMA模式.举例老说,在DMA方式下,如果copy文件的
PCIe调试心得_DMA part3
作者: East FPGA那点事儿 上一章讲述了PCIe总线如何提高DMA的效率. 本章以服务器常用的4通道1000M以太网卡为例讲述如何实现多个虚拟DMA通道. 1.多通道DMA发 4通道以太网卡的数据相互独立,需要4个虚拟DMA发通道实现4路数据独立传输.4个虚拟DMA发通道如下: 多通道DMA发比较简单,因为TLP包中已经包含了具体的物理地址,4个虚拟通道可以向4个不同的物理内存位置写数据.所以DMA发逻辑与单通道DMA发逻辑没有什么不同,关键点在增加的总线仲裁逻辑. 4个网口都有数据要
PCIe调试心得_DMA part1
作者 :East FPGA那点事儿 1.PCIe的DMA介绍在PCIe中需要使用DMA的项目,一定要先看XAPP1052,里面包含一个DMA的参考设计,对初学者有极大的帮助. XAPP1052中包含FPGA源代码和驱动程序源代码,其中FPGA源代码最主要的文件为:1.<TX_ENGINE.v>:是产生TLP包的逻辑,包含读TLP请求用于DMA读:写TLP请求用于DMA写:CPLD用于BAR空间读.2.<RX_ENGINE.v>:是解析TLP包的逻辑,包含读TLP解析用于BAR空间
Linux低延迟服务器系统调优
最近做了一些系统和网络调优相关的测试,达到了期望的效果,有些感悟.同时,我也发现知乎上对Linux服务器低延迟技术的讨论比较欠缺(满嘴高并发现象):或者对现今cpu + 网卡的低延迟潜力认识不足(动辄FPGA现象),比如一篇知乎高赞的介绍FPGA的文章写到“从延迟上讲,网卡把数据包收到 CPU,CPU 再发给网卡,即使使用 DPDK 这样高性能的数据包处理框架,延迟也有 4~5 微秒.更严重的问题是,通用 CPU 的延迟不够稳定.例如当负载较高时,转发延迟可能升到几十微秒甚至更高”,刚好我前几天
S03_CH10_DMA_4_Video_Stitch视频拼接系统
S03_CH10_DMA_4_Video_Stitch视频拼接系统 10.1概述 注意:本课程和上一课程<S03_CH09_DMA_4_Video_Switch视频切换系统>基本相同,不同部分用紫色字体或者框图注明. PL通过 OV7725 OV7725 实时 采集 1路 64 0×480 0×480 视频,分别将原始彩色. 视频,分别将原始彩色. R分量. G分量. B分量作为常量输出,实现背景为红.绿.蓝 视频共4路视频通过4个独立的AXI DMA IP核传输至PS的DDR中进行缓存,然后
S03_CH09_DMA_4_Video_Switch视频切换系统
S03_CH09_DMA_4_Video_Switch视频切换系统 9.1概述 本例程详细创建过程和本季课程第一课<S03_CH01_AXI_DMA_LOOP 环路测试>非常类似,因此如果读者不清楚如何创建工程,请仔细阅读本季第一课时.本例程的基本原理如下. PL通过 OV7725 OV7725 实时 采集 1路 64 0×480 0×480 视频,分别将原始彩色. 视频,分别将原始彩色. R分量. G分量. B分量作为常量输出,实现背景为红.绿.蓝 视频共 4路视频通过 4个独立的 AXI
S03_CH08_DMA_LWIP以太网传输
S03_CH08_DMA_LWIP以太网传输 8.1概述 本例程详细创建过程和本季课程第一课<S03_CH01_AXI_DMA_LOOP 环路测试>非常类似,因此如果读者不清楚如何创建工程,请仔细阅读本季第一课时. 本例程的基本原理如下. PS通过AXI GPIO IP核启动PL不间断循环构造16bit位宽的0-1023的数据,利用AXI DMA IP核,通过PS的Slave AXI GP接口传输至PS DDR3的乒乓缓存中.PL每发完一次0-1023,AXI DMA IP核便会产生一个中断信
热门专题
idea每次改代码都要install才能起效
Windows IDEA本地调试tomcat
xmlbean 生成xsd文件
c#的ptr怎么读数据
php读取excel返回文件流保存之后打不开
azure 可用区之间复制需要收费吗
jazzyviewpager尖叫
Java json数组 key驼峰转下划线
boost 不能产生libboost-iostream.so
miniui 页面加载完成后调用方法
将string路径数组转为层级结构
无法再所选要素中创建拓扑,因为该要素数据集正在被另一应用使用
PCA和Kmeans算法组合使用
滑动窗口协议发送方什么时候滑动
配置环境变量是搭建开发环境吗
sqlserver 显示数据库
电脑开机黑屏出现cmd.exe
sqlserver 批量删除表
kali输入ifcongif没有网卡
amdCPU虚拟化模式