自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 资源 (3)
  • 收藏
  • 关注

原创 VIM常用操作

VIM常用操作博客概述VIM工作模式VIM常用的命令VIM由命令模式变成插入模式的几种方式定位命令删除命令复制和剪切命令替换和取消命令查找和替换命令保存命令博客概述在Linux中最常使用的编辑器就是VIM,但是VIM的使用与Linux的使用基本一致,都是基于命令行操作,因为VIM也是只有命令没有菜单。那么,要想使用好VIM就必须记住一些常用的命令,方便我们使用VIM到达随心所欲的地步。这篇文章讲总结我们经常使用的VIM操作方式,供同学们学习以及方便博主日后复习。VIM工作模式VIM有三种工作模式,分

2020-10-17 22:43:02 57

原创 Linux常用命令

Linux常用命令博客概述Linux命令ls命令mkdir命令rmdir命令cd命令pwd命令cp命令mv命令ctrl+l命令rm命令touch命令cat命令tac命令more命令less命令head命令tail命令博客概述在FPGA开发的过程中,服务器的使用还不算过于频繁,因为使用个人电脑一般也都能完成任务,但是在IC设计中我们一般都使用服务器,服务器上面使用的系统是Linux系统。众所周知,Linux系统是标准的命令行操作的系统,就是我们看起来逼格非常高的那种操作方式。所以,我们需要记住Linux系

2020-10-08 11:38:17 133

原创 数字IC设计/FPGA工程师秋招面经

秋招面经秋招总结迷茫期低谷期兴奋期秋招面试常问问题投递公司总结秋招总结已经一个多月没更新博客了,并不是因为博主的只是储备量空了,而是因为我去准备秋招去了,接下来将会恢复博客的更新,速度不会太快,因为还有自己的别业论文需要准备。到现在秋招已经步入了尾声,这篇文章将记录与总结一下自己两个多月的秋招生涯,给后来者一些微小的经验。回顾秋招,自己也经历了迷茫期、低谷期、兴奋期。最终也收到了几家的offer,主要有:恩智浦、创发信息科技、芯动、展锐、物奇等。迷茫期最后开始投递的时候并没有考虑投递数字IC设计的岗

2020-09-29 09:42:30 1908 4

原创 VIVADO除法IP注意事项

VIVADO除法IP注意事项参考文献项目简述注意事项第一个注意事项第二个注意事项第三个注意事项第四个注意事项总结参考文献[1]、V3学院——软件无线电课程项目简述这篇博客主要记录VIVADO中除法IP的注意事项,遇见一些新的知识点应该做相应的笔记。本次实验所用的软硬件环境如下:[1]、VIVADO 2019.2[2]、Modelsim 10.7注意事项第一个注意事项首先可以在除法IP的定制界面看到被除数、除数、商的位宽有详细的说明:从上面的位宽信息,我们可以发现被除数有18位整数,除

2020-08-11 20:37:48 345

原创 真正理解阻塞逻辑赋值与非阻塞逻辑赋值

真正理解阻塞逻辑赋值与非阻塞逻辑赋值参考文献项目简述举例说明正确代码可综合代码测试代码仿真结果错误代码可综合代码仿真结果总结参考文献[1]、数字芯片实验室(微信公众号)项目简述因为最近参加Xilinx暑假计划比较忙,已经很久没写文章了,这篇博客我们将重点讲述Verilog中阻塞逻辑赋值‘=’、非阻塞逻辑赋值‘<=’。看到这里不免大家要嘲笑,这谁不知道,文章的内容咋么越写越倒退了。其实不是这样,绝大多数的同学理解阻塞赋值与非阻塞赋值是组合逻辑语句用阻塞赋值 ‘=’、时序逻辑用非阻塞逻辑赋值‘&l

2020-08-05 21:53:41 594

转载 SDSoc学习(一):使用MIO驱动LED

简介     在XILINX官网上看见了一些SDSoc的介绍视频,感觉这个工具很强大,我之前也有一点点VIVADO+HL...

2020-07-24 11:11:37 140

原创 VIVADO HLS函数层面的优化

VIVADO HLS函数层面的优化参考文献项目简述数据类型对函数实现inline操作函数的Allocation操作函数的dataflow操作总结参考文献[1]、lauren的FPGA(微信公众号)项目简述这篇文章简单从函数层面描述HLS约束的方法有哪些,进一步的掌握HLS的约束方法。数据类型要尽量使用任意精度数据类型。例子如下:对函数实现inline操作inline:将简单的函数进行合并。例子如下:阻止inline的方法如下:可以看出把inline关掉的话,相应的资源与吞吐率得到

2020-07-19 16:37:43 133

原创 VIVADO HLS数组的优化

VIVADO HLS数组的优化项目简述数组的分割对数组采用Partition展开操作对一维数组采用Partition展开操作对多维数组采用Partition展开操作数组的映射和重组数组的MAP数组的ARRAY_RESHAPE总结项目简述前面一篇文章,我们已经进行了讲解软件程序中最重要的两个指标是时间复杂度、空间复杂度。上面循环语句的优化主要体现在时间复杂度的优化,那么这篇文章我们将着重于空间复杂度的优化。时间复杂度体现在循环语句上面,而空间复杂度则体现在数组上面,所以这篇文章我们将讲解VIVADO HL

2020-07-19 16:06:36 150

原创 VIVADO HLS循环语句的优化

VIVADO HLS循环语句的优化参考文献项目描述for循环的衡量指标对for循环设置Pipeline操作对for循环设置Unrolling操作for循环的合并对于两个完全并列的for循环约束方法——合并for循环对于并列for循环的循环边界为不同常数的循环合并对于并列for循环的循环边界一个为常数一个为变量的合并对于并列for循环的循环边界两个均为变量的合并for循环的优化——dataflowfor循环的结果被另外多个for循环使用,为了使用dataflow解决办法另一个不能使用dataflow的例子及解

2020-07-19 12:43:09 252

原创 VIVADO HLS的接口描述

VIVADO HLS的接口描述参考文献项目描述基本介绍顶层函数握手信号ap_ctrl设置Port-leve I/O参考文献[1]、lauren的FPGA(微信公众号)项目描述我们在进行HLS编译的时候会设置顶层文件,顶层文件中包括形参、返回值等等。这些映射到硬件电路中会产生信号,这些信号具体又遵循什么样的接口描述我们需要设置,这不仅可以帮助我们设置更优的约束条件使得编译出来的硬件电路更加完美,更重要的是可以让我们精确了解端口所遵循的时序,只有这样我们才可以控制输入输出数据流,进而完成一定的功能。另一

2020-07-18 20:23:23 455 4

原创 Vivado HLS中的数据类型

Vivado HLS中的数据类型参考文献项目简述为什么在VIVADO HLS中使用任意精度数据类型VIVADO HLS中如何使用任意精度数据类型VIVADO HLS中数据类型的转换VIVADO HLS中的复合数据类型参考文献[1]、lauren的FPGA(微信公众号)[2]、小鱼FPGA(微信公众号)项目简述我们知道C、C++中数据类型的大小都是以字节为单位,这在FPGA中式相当浪费资源,因为只能式8bit的整数倍。所以在VIVADO HLS中我们需要具体指定每个数据类型的位宽,比如5位、10位。

2020-07-16 17:04:29 294

原创 高层次综合(HLS)常用时间术语的解释
原力计划

高层次综合(HLS)常用时间术语的解释参考文献项目简述HLS工作原理高层次综合(HLS)指标总结参考文献[1]、小鱼FPGA(微信公众号)[2]、lauren的FPGA(微信公众号)项目简述前面一篇关于HLS的文章,我们已经进行了讲解,我们学习HLS并不是为了学习C、C++代码如何编写。我们是为了学习如何使用HLS进行加速,将高层次代码编译成底层逻辑。那么编译的好坏必然会引入一些指标,接下来我们将对这些指标进行进一步的说明,以便大家可以理解HLS设计。HLS工作原理进行HLS约束的主要原理如下

2020-07-16 14:55:47 296

原创 异步FIFO的设计
原力计划

异步FIFO的设计参考文献项目简述异步FIFO设计难点空满信号的产生1读写地址跨时钟域问题空满信号的产生1多位二进制码如何转化为格雷码异步FIFO系统框图异步FIFO代码:测试文件实验结果总结参考文献[1]、小鱼FPGA(微信公众号)[2]、aslmer(博客园)项目简述之前写过一篇异步FIFO的注意点,详情见博客。但是不免有许多同学要问为什么官方的IP都会出现这种问题,难道是官方的IP设计的不好?这种可能性肯定不大,因为官方的IP肯定设计的比较完美。那么肯定是这种现象在异步FIFO的设计中是不可

2020-07-16 00:57:57 631 2

原创 学习XILINX HLS工具的官方资料

学习XILINX HLS工具的官方资料参考文献项目简述官方学习资料Xilinx官方教程总结参考文献[1]、小鱼FPGA(微信公众号)项目简述HLS工具是Xilinx官方发布的一个高层次综合工具,可以把用C、C++、System C编写的程序装换成HDL代码。并且给出一些策略,这些策略可以使得编译出来的HDL代码在面积与速度之间取得平衡,从而达到设计者的设计要求。现在市面上面关于HLS的资料比较少,已知的有米联客的教程,但是上面的教程并没有着重讲解HLS本身,反而讲了一些算法,至于为什么对C++代码进

2020-07-13 13:07:39 263

原创 基于FPGA的PCIE设计(3)
原力计划

PCIE协议基础参考文献项目简述PCIE概述参考文献[1]、移知网项目简述前面已经有两篇博客介绍了PCIE,相信大家应该都看不懂,前面的博客主要讲解了PCIE在FPGA中的实现,那么我们就接着学习这个协议。在接下来的几篇博客,我将尽可能的讲解一些我学会的PCIE的知识,但是要想真正学会还是得看Base Specification。这里再次说明,如果只是为了使用PCIE那么完全没有必要对PCIE的协议了解太深,因为在FPGA里面有相应的IP。这里说明一下XDMA的缺点,因为XDMA使用起来非常方便,但

2020-07-09 15:59:41 779

原创 基于ZYNQ的千兆网项目(3)
原力计划

基于ZYNQ的UDP实现项目简述UDP简述PL端设计PS端设计下板测试项目简述前面的文章讲解了TCP客户机与主机在ZYNQ上面的实现,其实说白了就是调用现成的API函数,这点与FPGA的设计其安全不同,因为进行FPGA设计必须要完全理解底层才可以进行相应的设计。本篇博客我们将讲解ZYNQ实现UDP协议。关于UDP的理论部分,我们在使用FPGA实现的时候已经进行了完整的讲解,详细请查看基于FPGA的千兆以太网的实现,上面对UDP的特点、组包、CRC进行了详细的论证。这里建议大家一定要学习, 虽然即使不明白

2020-07-01 10:01:39 1232

原创 基于ZYNQ的千兆网项目(2)
原力计划

基于ZYNQ的TCP Server实现项目描述PL端设计PS端设计下板测试总结项目描述上一篇文章我们讲解了ZYNQ做Client来进行与PC机进行通信,那么相应的ZYNQ就可以做Server来进行与PC机得通信,此时PC机就是Client。这种通信方式在板卡与板卡之间得通信中还是比较常见,所以就用这篇文章来进行相应得讲解。工程描述:讲ZYNQ当作Server来进行与上位机通信,实现千兆网的循环测试。本次实验所用到的软硬件环境如下:1、VIVADO 2019.12、米联客MZ7015FA开发板3

2020-06-30 22:53:13 574

原创 基于ZYNQ的千兆网项目(1)
原力计划

基于ZYNQ的TCP Client实现参考文献项目描述TCP协议简述TCP 三次握手TCP 数据传输TCP 四次挥手PL端设计PS端设计下板测试总结参考文献[1]、inner_peace8[2]、米联客项目描述前面的文章我们已经讲解过基于FPGA的千兆以太网的实现,该协议主要使用的是UDP协议,文章中对UDP协议的理论部分也进行了详细的介绍,但是UDP协议是不稳定的协议类型,再进行精准传输的时候有所缺陷。与UDP相反,TCP协议可以保证数据的准确性,但是因为TCP协议的复杂性,目前还没有商用的纯逻

2020-06-30 21:40:28 2492

原创 基于ZYNQ的SD卡的访问
原力计划

基于ZYNQ的SD卡的访问参考文献项目简述FAT文件架构简述参考文献[1].V3学院项目简述现在FPGA板卡上面常用的存储设备是SD卡,也经常将BOOT文件下载到SD卡中启动。那么这篇文章我们将讲解使用API函数来进行SD卡的读写,当然使用纯FPGA写Verilog也是可以读写SD卡,遵循SPI协议,后面的文章我们会进行相应的介绍,这篇文章先来讲解简单的C语言访问SD卡。工程描述:ZYNQ利用FAT文件系统对SD卡些一张图片。本次实验所用到的软硬件环境如下:1、VIVADO 2019.12、

2020-06-28 11:22:27 534

原创 基于ZYNQ的中断的使用(4)

基于ZYNQ的私有中断的使用项目简述私用中断简述PS端设计PL端设计下板测试总结项目简述前面的文章我们已经讲解了ZYNQ的共享中断、软中断,每种中断的类型我们都进行了相应的讲解。ZYNQ的三种中断类型还差一个私有中断我们没有进行讲解,接下来我们将以CPU的私有定时器为例来进行相应私有中断的讲解。工程描述:CPU利用私有定时器进行定时,每隔1s产生相应的中断,并且通过串口进行相应的打印。本次实验所用到的软硬件环境如下:1、VIVADO 2019.12、米联客MZ7015FA开发板私用中断简述包

2020-06-26 14:55:13 525

原创 基于ZYNQ的中断的使用(3)
原力计划

基于ZYNQ的串口中断的使用项目简述共享中断概述PL端设计PS端设计项目简述前面的文章我们已经讲过CPU之间的软中断,PS与PL之间的共享中断,但是共享中断还有一种数据类型也就是PS外设引起的中断。在学习本篇文章的同时一定要学习前面的两篇文章,可以对ZYNQ的中断有一个总体的认知。本篇文章将以UART为例来讲解PS的外设中断的使用。关于UART在ZYNQ的PS端相信大家都使用过print来输出相应的数据。但是UART如何接收数据是不是大家还没有真正的使用过,UART接收数据一般情况下我们使用的是中断来进

2020-06-26 14:01:01 658

原创 基于ZYNQ的中断的使用(2)
原力计划

基于ZYNQ的共享中断的使用参考文献项目简述共享中断简述PL端设计PS端设计测试结果总结参考文献[1].V3学院项目简述前面的一篇文章我们已经讲解了ZYNQ中软中断的使用,通过学习CPU之间的相互中断,我们已经学习了软中断,那么接下来我们将进行共享中断的学习,从上一篇文章我们可知,共享中断主要分为两类:PL给CPU的中断,PS的IO中断。这里提醒读者一定要看上一篇文章,否则学习会特别困难。工程描述:PL每隔1s发起中断信号,PS接收终端并通过串口打印信息。本次实验所用到的软硬件环境如下:1、V

2020-06-24 16:59:43 334 5

原创 基于ZYNQ的中断的使用(1)
原力计划

基于ZYNQ的软中断的使用参考文献项目简述ZYNQ中断描述PL端设计PS端设计CPU0代码CPU1代码测试结果总结参考文献[1]、V3学院[2]、 judyzhong项目简述接触过单片机、ARM的同学应该都了解中断,因为这是保证CPU实时性的前提。学到这里的同学会不免发出疑惑,为什么FPGA没事有实时性的要求呢,因为FPGA本身就是并发执行,这也是其本身最重要的特性。ZYNQ中有两个CPU,又分为不同的中断类型,将在下面的文章中一一介绍。如果学不会中断,那么ZYNQ的学习将没有意义。工程描述:运

2020-06-24 16:20:19 649

原创 基于ZYNQ的双核CPU之间的通信
原力计划

基于ZYNQ的AMP架构双核应用程序开发项目简述CPU0代码CPU1代码运行结果双核CPU的固化SD卡总结项目简述我们都知道ZYNQ中有两个ARM核,但是如何使ZYNQ运行这两个ARM核,以及双核之间的数据如何进行交互是非常重要的问题。双核CPU的运行方式主要有两种:1、SMP 对称处理器架构 ,2、 AMP 非对称处理器架构,SMP结构双核之间的关系比较密切,AMP架构双核之间逻辑关系较小,开发难度也比较简单。工程描述:运行ZYNQ的两个ARM核,同时利用OCM3进行双核之间简单的数据交互。本次实

2020-06-23 16:28:46 921 7

原创 基于FPGA的AXI协议讲解(2)
原力计划

基于FPGA的AXI_Full协议讲解参考文献项目简述AXI_Full读协议VIVADO建立AXI4_Full IPAXI_Full读项目AXI_Full读协议代码PS端代码下板测试代码参考文献[1]、V3学院项目简述前一篇文章我们已经进行讲解了AXI_Lite协议,该协议的突发长度是1,在工程中主要起的作用是配置寄存器。 在FPGA中最常见的就是大数据的传输,一般我们使用AXI_Full协议来进行数据的传输。这篇文章我们主要讲解使用AXI_Full协议来进行ZYNQ端的DDR3的读写,当然如果不是

2020-06-20 20:10:02 1121

原创 基于FPGA的AXI协议讲解(1)
原力计划

基于FPGA的AXI_Lite协议讲解项目简述AXI协议简述项目简述这篇文章我们主要讲解AXI_Lite协议,主要内容包括AXI_Lite协议在FPGA中主要起到的作用,遵循的时序要求是什么,在FPGA中咋么编写Verilog代码。本次实验将主要讲解AXI_Lite从机的协议,PS端通过AXI_Lite协议写寄存器控制PL端的LED、通过读寄存器读取PL端KEY的按键值。 这里为什么讲解AXI_Lite从机协议,因为PS端我们一般作为主机,那么需要我们实现的PL端的Verilog代码自然是从机本次实

2020-06-19 13:41:11 750

原创 使用Verilog实现CRC-8的串行计算

使用Verilog实现CRC-8的串行计算项目简述Verilog代码如下总结项目简述这也是一道乐鑫的笔试题,这道题题目中给写出了电路图所以会使得代码书写简单,如果没给出相应的电路图只给出生成多项式,那么会使这个题的难度大大增加。题目:Verilog代码如下我们只需要根据电路图书写对应电路图的代码即可,代码如下,crc_test模块:`timescale 1ns / 1ps// **********************************************************

2020-06-16 21:23:46 2015 24

原创 基于FPGA的矩阵键盘检测
原力计划

基于FPGA的矩阵键盘检测项目简述求解过程FPGA代码测试模块代码仿真结果总结项目简述这是乐鑫提前批的一道笔试题,其实不算难,但是想在半小时内完成可能性非常小,所以乐鑫的笔试还是挺难的。题目:请实现对4x4矩阵式键盘的按键识别,假设每次都是单按键输入,需要有去抖功能(持续20ms以上被认为是有效键值),模块时钟频率为1kHz,要求用状态机实现,定义状态,画出状态转移图,并用verilog完整描述该识别模块。矩阵式键盘电路结构参见下图,其中列线1-4由识别模块控制输出,行线5-8为识别模块的输入。本

2020-06-16 20:46:51 989

原创 基于FPGA的CORDIC算法的实现(2)
原力计划

CORDIC算法旋转模式原理介绍及FPGA实现参考文献项目简述旋转模式的推导过程参考文献[1].碎碎思项目简述我们上一篇文章已经讲解了CORDIC的向量模式,通过算法的向量模式我们可以计算向量的幅值与相位角,那么通过算法的旋转模式我们可以计算一个角度的正余弦值。两个模式的不同点就是初始条件与终止条件的设置,相同点都是利用坐标旋转来实现的。这篇博客将结合向量模式的推到原理来进一步说明旋转模式的推导过程。旋转模式的推导过程...

2020-06-15 20:38:32 394

原创 基于FPGA的CORDIC算法的实现(1)
原力计划

CORDIC算法向量模式原理介绍及FPGA实现参考文献项目简述CORDIC算法向量模式原理CIRDIC算法向量模式推导步骤一CIRDIC算法向量模式推导步骤二CIRDIC算法向量模式推导步骤三CIRDIC算法向量模式推导步骤三MATLAB实现参考文献[1].liyuanbhu[2].碎碎思[3].电子发烧友(这门课里面的代码写的非常棒,建议有条件的同学可以与板卡一起购买,记住一定是带着板卡,这里不再多说)项目简述基本上懂点FPGA信号处理操作的同学都听过CORDIC算法,该算法可以被使用计算常见

2020-06-13 12:32:22 1870 1

原创 基于FPGA的素数累加和的计算
原力计划

基于FPGA的素数累加和的计算项目简述MATLAB代码Verilog代码结果验证总结项目简述这个小项目其实是乐鑫笔试的一道题,感觉很有意思也有一定的难度,所以这里我们实现这个功能,这里注意一下实现功能只是相对于做题而言,并没有进行算法上面的优化。题目:素数又称质数(在大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除)a、用任意语言实现10000以内的所有素数之和b、Verilog实现素数求和器。要求:输入一个小于10000的任意数,输出小于该数的所有素数之和。本次实验所用到的软硬件环

2020-06-08 20:50:34 1489

原创 基于FPGA的滑动累加器的设计
原力计划

基于FPGA的滑动累加器的设计项目简述MATLAB代码FPGA代码FPGA逻辑代码FPGA测试代码MATLAB测试代码参考文献总结项目简述滑动累加器在算法的实现过程中经常碰见,最典型的就是均值滤波。相信大家对滑动累加的概念已经有了不错的掌握,其实就是给原始数据加一个窗然后求这个窗里面所有数据之和。本次实验我们先使用MATLAB实现滑动累加器,然后使用VIVADO实现滑动累加器,最后将两组生成的数据在MATLAB中对比从而相互验证我们实验的正确性。本次实验所用到的软硬件环境如下:1、VIVADO 20

2020-06-07 21:34:57 851 2

原创 基于FPGA的FFT算法实现(2)
原力计划

基于FPGA的FFT IP的实时配置项目简述项目简述前面我们已经讲解过Xilinx中FFT IP的使用,但是使用的时候IP的配置接口我们没有进行相应的讲解,直接使用GUI配置好的接口,这在现实应用中很不方方便,会让人感觉到还不如自己手写一个FFT算法,当然博主也可完全手撕FFT、CORDIC代码,但是把IP用好了绝对比我们手写的代码要好用的多。这篇博客主要讲解FFT IP的重配置及其参数的意义,最后将给出Modelsim与MATLAB的两盒验证。本次实验所使用的软硬件环境如下:1、VIVADO 20

2020-06-04 18:14:43 1641

原创 VIVADO中的IP核在MATLAB中仿真
原力计划

VIVADO中的IP核在MATLAB中仿真项目简述VIVADO建立FFT IP核MATLAB调用FFT IP核项目简述我们都会用MATLAB进行算法验证,但是经常会发现如果VIVADO中调用了IP核,那么最终会发现VIVADO与MATLAB之间的数据不可以统一的对应起来。那么,MATLAB验证的效果就会大大下降,那么可不可以想办法将VIVADO中的IP核封装成一个函数在MATLAB中调用呢?答案是可以的。这篇博客主要以FFT的IP核为例讲解封装成一个函数并且成功在MATLAB中调用。本次实验所使用的软

2020-06-03 16:38:03 1387 3

原创 FPGA笔试题总结(2)

FPGA笔试题总结(1)FPGA笔试题存储器RTL编码和时序逻辑IO电路和验证综合/DFT/STA/PRFPGA工艺题IQ题参考文献总结FPGA笔试题存储器例1、存储器概念用于存储数据的产品的统称例2、按存取方式划分存储器和其特点例3、SRAM单元的电路图和原理例4、SRAM,FLASH和DRAM的区别例5、存储器分块电路设计例6、NAND FLASH与NOR FLASH的区别例7、register file,one/two port ram的区别例8、什么叫做OTP片/

2020-05-31 20:41:55 1214

原创 基于FPGA的映射调制实现
原力计划

基于FPGA的映射调制实现项目简述数学建模MATLAB仿真FPGA代码FPGA映射的代码FPGA的映射测试代码FPGA与MATLAB的交叉验证小结参考文献总结项目简述在通信过程中,经常能碰见调制解调,这里将讲解一种映射调制的方法,并且给出相应的代码供大家学习。一般调制位于无线通信中比较靠后的未知,在交织之后。这里的映射调制并没有介入载波,只是进行了相应的星座图映射,至于最后载波的加入,将在后面的博客中学习。数学建模首先我们常见的QPSK与16-QAM的星座图如下:由星座图可以得到编码之后的如下信

2020-05-31 16:09:32 1110

原创 FPGA笔试题总结(1)

FPGA笔试题总结(1)FPGA笔试题进制之间的转换有符号数的补码和运算逻辑表达式的简化FPGA笔试题进制之间的转换进制之间的转换按照下面的顺序进行转换从上面可以看出,不同进制之间的转换是以2进制为核心。例1、10101.01011转换成8/16/10进制例2、十进制21.34375转换成2/8/16进制例3、八进制数(25.26)转换成2/10/16进制例4、十六进制(15.58)转换成2/8/10进制有符号数的补码和运算例1、有符号数的原码最高位为符号位,然后将有符号数进

2020-05-30 20:54:57 1164

原创 FPGA软件操作技巧

FPGA软件操作技巧项目总结软件操作技巧常使用的芯片文件后缀总结项目总结这篇博客我们比较随意,记录一些软件的技巧,常见的芯片名字,常见的文件后缀意义等等,当然这篇博客是连载的会一直添加进来新的知识。软件操作技巧常使用的芯片文件后缀总结创作不易,认为文章有帮助的同学们可以关注、点赞、转发支持。为行业贡献及其微小的一部分。或者对文章有什么看法或者需要更近一步交流的同学,可以加入下面的群:...

2020-05-25 20:39:21 310

原创 基于FPGA交织的实现
原力计划

基于FPGA交织的实现项目简述数学模型项目简述交织多么好听的名字,第一次听见这个名字是在移动通信的课程中,当时就对这个名字一亮。交织其实就是把原有的码元顺序打乱进行发送,说白了就是矩阵变换。至于为什么要把原有的码元顺序打乱,是因为现实中传送的码元每一段都有固定的校验位,通过该校验位可以在码元错误较少的情况下进行纠错。而实际中受环境影响的码元是突发性错误,那么我们先经过交织之后传送的码元产生的突发性错误,经过解交织之后就会把原有的突发性错误转变成离散性错误,那么就可以有效的利用校验位进行纠错。这也是交织在

2020-05-25 13:50:30 1091 1

原创 ZYNQ学习简记

ZYNQ学习笔记项目简述ZYNQ学习笔记总结项目简述ZYNQ是Xilinx公司比较具有特色的SOC芯片,内部分为PS与PL端。其中PS端包括ARM内核,PL端就是我们常说的FPGA部分。PS端的开发与嵌入式开发的流程一样,都是在ARM内核上面的操作,一般是基于C语言,博客的后面部分会进行相应的讲解。至于PL端的开发,我们前面讲述的都是PL端的开发。学习PS端的开发,我们只需要学习相应的嵌入式教程部分,然后再学习PL端与PS端的数据交互方式即可。接下来,我将把我学习ZYNQ时记录的笔记以图片的方式附加上

2020-05-24 09:43:36 1702 2

卷积神经网络代码(HLS版本).zip

关于一些初步卷积神经网络的HLS代码及约束。通过这部分可以了解卷积神经网络在HLS上面的实现。具有一些借鉴意义,想要真正的了解还请参加Xilinx每年的暑期计划。

2020-08-09

High-Level-Synthesis-Flow-on-Zynq-using-Vivado-HLS-master.zip

四个HLS入门得例子,Xilinx暑假计划的作业,步骤特别详细,比一众的开发板教程要好的多,里面详细讲解了为什么进行这样的directives,以及这些directives的作用

2020-08-09

FIFO深度计算.pdf|FIFO深度计算.pdf

We need to employ an asynchronous FIFO between two modules working at different clock domains when some amount of data has to be transmitted from one module to the other to avoid the data loss. FIFO is required, only when you are slow at reading and fast in writing to buffer the data which is not read by the slower module.

2020-06-05

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除