0

超前进位加法器

概述 之前学习了一位半加器与一/四位全加器的相关知识,接着学习超前进位加法器加深认识 八位级联进位加法器 设计文件 采用硬件行为方式描述八位全加器 仿真结构图 仿真文件 仿真波形 说明:首先在设计文件中,由最开始的进位输入ci逐级传递给c,最后传递给co,每位数据都需要传递一次上级数据,代码运算次数 ...

mxdon 发布于 2019-08-08 23:42 评论(0)阅读(22)
0

使用verilog编写锁存器与触发器

需要注意的地方有四点: 1、关于锁存器与触发器在原理上的不同点,以及代码的不同点 2、关于高电平有效与低电平有效之前的区别 3、理解实现复位与实现D触发器之间的区别 4、理解同步与异步之间的区别 锁存器代码编写 Module D_latch(d,clk,q); Input d; Input lck; ...

jevonFPGA 发布于 2019-08-03 11:08 评论(0)阅读(40)
0

Turbo码基本框架

1. 基本原理 1.1 定义 1.2 分量码设计 2. 编码方法 2.1 交织器的设计 2.2 分量编码器 2.3 删余矩阵及复用 3. 译码方法和算法 3.1 迭代译码 3.2 MAP类算法 3.3 SVOA 4. MATLAB仿真和实现 4.1 编码 4.2 译码 4.3 联合仿真 ...

嗨喽来了 发布于 2019-07-24 18:28 评论(0)阅读(29)
0

ZYNQ笔记(2):PS端——Hello World !

PL端使用过后,来到了ZYNQ核心的部分:PS端,现在用Vivado软件对ZYNQ-7000开发板的PS端进行第一个程序设计:Hello World。 一、新建Vivado工程 1.打开Vivado,新建一个工程,Next 2.设置工程名称和工程所在目录,Next 3.选择第一项:RTL Proje ...

咸鱼FPGA 发布于 2019-07-13 19:46 评论(0)阅读(134)
1

基于verilog的分频器设计(半整数分频,小数分频:下)

第二种方法:对进行奇数倍n分频时钟,首先进行n/2分频(带小数,即等于(n-1)/2+0.5),然后再进行二分频得到。得到占空比为50%的奇数倍分频。下面讲讲进行小数分频的设计方法。 小数分频:首先讲讲如何进行n+0.5分频,这种分频需要对输入时钟进行操作。基本的设计思想:对于进行n+0.5分频,首 ...

ylLiu 发布于 2019-07-12 09:03 评论(0)阅读(47)
0

乘法器——booth编码

博主最近在学习加法器、乘法器、IEEE的浮点数标准,作为数字IC的基础。当看到booth编码的乘法器时,对booth编码不是很理解,然后在网上找各种理解,终于豁然开朗。现将一个很好的解释分享给大家,希望能对大家有所帮助。 首先,看看这几个公式: 可以证明的是,这三个公式是相等的,一个有符号的二进制数 ...

小k_2019 发布于 2019-07-06 22:05 评论(0)阅读(113)
1

FGPA异步信号问题

FPGA在处理异步信号时,尽量打1~2拍寄存器,否则在线调试会发现各种奇怪问题。 下面是verilog代码 在线调试发现,计数器在跳变 原因是cmd_start由ARM输出,与FPGA时钟异步,需要打1~2拍寄存器 这样修改后不会出现计数异常跳变 ...

愤怒的小龙虾 发布于 2019-06-26 20:16 评论(0)阅读(55)
0

cache verilog实现

cache原理: https://www.cnblogs.com/mikewolf2002/p/10984976.htmlcache的verilog实现实现的cache是16k, 4way组相连cache,每个set是256 个cacheline,每个cacheline是16 byte,所以总的si... ...

迈克老狼2012 发布于 2019-06-06 14:51 评论(0)阅读(163)
1

【实战经验】--Xilinx--IPCore--FIFO

1.简介 定义: FIFO(First In First Out)一种先入先出(读写数据是只能顺序写入顺序读出)的数据缓存器,读写数据时,其内部读写指针自动加1,因此没有外部地址线,使用简单。 分类: FIFO可以分为同步FIFO和异步FIFO。同步FIFO的写入时钟和读取时钟完全一样,内核时一个简 ...

要努力做超人 发布于 2019-06-03 17:24 评论(0)阅读(96)
0

数字IC设计入门必备——VIM自定义模板调用与VCS基本仿真操作示例

一、前言 毕业论文答辩结束,闲下来写篇文章。芯片研发人员都在Linux系统下借助各种EDA工具和代码语言完成工作,因此提高代码开发效率,熟练运用开发工具是十分必要的。本文讲述VIM编辑神器的verilogHDL自定义模板调用以及VCS仿真软件的基本使用方式。 二、VIM编辑器自定义模板调用 在之前的 ...

没落骑士 发布于 2019-05-23 20:26 评论(2)阅读(385)
0

AHB总线协议(二)

下图是8拍回环字突发传输:地址将在 32 字节边界处回环因此地址 0x3C 之后的地址是 0x20。下图是8增量半字突发传输,所以地址每次增加 2 个字节并且突发在递增因此地址连续增加通过了 16 字节边界。下图是未定义长度的增量突发。两个半字传输在地址 0x20 处开始。半字传输地址增加为 2。 ... ...

迈克老狼2012 发布于 2019-05-23 09:10 评论(0)阅读(274)
2

FPGA+ADV7511实现HDMI显示

一、前言 目前FPGA成为了视频图像实时处理的主要平台。显示作为图像应用设备的必要功能,对整体系统处理效果非常关键。HDMI是现阶段主流的显示接口,本文基于ADV7511芯片的HDMI显示系统,讲述HDMI显示过程中的一些原理和经验总结。 二、色彩空间转换 之前通过VGA接口显示图像时只清楚RGB图 ...

没落骑士 发布于 2019-05-14 14:41 评论(0)阅读(685)
0

FPGA控制RGMII接口PHY芯片基础

一、前言 网络通信中的PHY芯片接口种类有很多,之前接触过GMII接口的PHY芯片RTL8211EG。但GMII接口数量较多,本文使用RGMII接口的88E1512搭建网络通信系统。这类接口总线位宽小,可以降低电路成本,在实际项目中应用更广泛。 二、从GMII过度到RGMII 先看看GMII和RGM ...

没落骑士 发布于 2019-05-13 11:20 评论(0)阅读(1000)
1

【转载】数字IC设计流程及开发工具

原文链接:https://www.zhihu.com/question/28322269/answer/42048070 Design Flow <img src="https://pic1.zhimg.com/50/c21722c94ed307d02d10330460cf68 ...

没落骑士 发布于 2019-05-06 16:31 评论(0)阅读(186)
0

数字信号处理专题(3)——FFT运算初探

一、前言 FFT运算是目前最常用的信号频谱分析算法。在本科学习数字信号处理这门课时一直在想:学这些东西有啥用?公式推来推去的,有实用价值么?到了研究生后期才知道,广义上的数字信号处理无处不在:手机等各种通信设备和WIFI的物理层信号处理、摄像头内的ISP、音频信号的去噪等。各种算法中,FFT是查看信 ...

没落骑士 发布于 2019-04-22 20:26 评论(0)阅读(357)
1

【转载】Verilog中的parameter

1. 概述 在Verilog中我们常常会遇到要将一个常量(算法中的某个参数)赋给很多个变量的情况,如: x = 10;y = 10;z = 10;如果此时10要改为9,就需要在代码中修改3个地方,非常的不方便,并且这个10是没有任何意义的,我们不知道它代表什么,所以为了代码的易重用、易读性,我们应使 ...

没落骑士 发布于 2019-04-16 11:03 评论(0)阅读(157)
0

FPGA高速ADC接口实战——250MSPS采样率ADC9481

一、前言 最近忙于硕士毕业设计和论文,没有太多时间编写博客,现总结下之前在某个项目中用到的一个高速ADC接口设计部分。ADC这一器件经常用于无线通信、传感、测试测量等领域。目前数字系统对高速数据采集的需求与日俱增,本文使用了米联客的一款速率较高的AD/DA模块ADQ9481来阐述利用FPGA设计高速 ...

没落骑士 发布于 2019-04-03 12:50 评论(0)阅读(1833)
0

ARM与FPGA通过spi通信设计2.spi master的实现

这里主要放两个代码第一个是正常的不使用状态机的SPI主机代码;第二个是状态机SPI代码 1.不使用状态机:特权同学《深入浅出玩转FPGA》中DIY数码相框部分代码: 2.使用状态机的SPI master(来源网络) 第二个例子实现了较为全面的spi主机功能,可以设置SPI相位和极性,有较高的参考价值 ...

三石li 发布于 2019-03-27 21:08 评论(0)阅读(378)
0

【基本知识】verilog中 `define 的使用

背景: 在最近实战开发中发现:对外部芯片进行初始化时,往往需要定义大量参数。 若直接在module中通过localparam或者parameter进行参数定义的话,会带来两个问题: 1.代码长度增加,不够美观; 2.不利于参数和代码修改; 为了解决这两个问题,我想到了在之前在《verilog数字系统 ...

要努力做超人 发布于 2019-03-25 18:40 评论(0)阅读(1237)
0

Vivado中xilinx_courdic IP核(求exp指数函数)使用

由于Verilog/Vhdl没有计算exp指数函数的库函数,所以在开发过程中可利用cordic IP核做exp函数即e^x值; 但前提要保证输入范围在(-pi/4—pi/4) 在cordic核中e^x = sinh + cosh所以在配置cordic时点选sinh and cosh即可 如下图: i ...

VagueCheung 发布于 2019-03-07 15:00 评论(0)阅读(487)