自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Reborn Lee

个人微信公众号:FPGA LAB

  • 博客(38)
  • 资源 (36)
  • 收藏
  • 关注

原创 Verilog初级教程(9)Verilog的运算符

不能处理的数据是没有用的,在数字电路和计算机系统中总是需要一些形式的计算,让我们来看看Verilog中的一些运算符,这些运算符可以使综合工具实现相应的硬件元素。

2020-06-27 18:11:25 4913 1

原创 Verilog初级教程(8)Verilog中的assign语句

wire类型的信号需要连续赋值。例如,考虑一根电线用于连接面包板上的元件。只要将+5V电池施加在电线的一端,连接在电线另一端的元件就会得到所需的电压。

2020-06-27 17:19:03 68950 7

原创 Verilog初级教程(7)Verilog模块例化以及悬空端口的处理

所有的端口声明都隐含地声明为wire,因此在这种情况下端口方向就足够了。然而需要存储值的输出端口应该声明为 reg 数据类型,并且可以在程序块中使用,比如 always 和 initial only。输入或inout类型的端口不能声明为reg,因为它们是由外部连续驱动的,不应该存储值,而是尽快反映外部信号的变化。连接两个不同向量大小的端口是完全合法的,但以向量大小较小的端口为准,而另一个宽度较大的端口的剩余位将被忽略。

2020-06-27 15:11:25 25355 1

原创 Verilog初级教程(6)Verilog模块与端口

模块化设计思想是Verilog的核心,也是数字设计的核心,模块化设计就像搭建积木一样搭建数字电路。

2020-06-27 01:48:52 9215 2

原创 Verilog初级教程(5)Verilog中的多维数组和存储器

本篇博文进一步延伸,Verilog中也存在多维数组,它对应的硬件逻辑可以是存储器,诸如RAM,ROM,以及FIFO等。

2020-06-26 21:55:04 74037 22

原创 Verilog初级教程(4)Verilog中的标量与向量

一个没有指定范围的net或reg声明被认为是1位宽,是一个标量。如果指定了范围,那么net或reg就变成了一个多比特的实体,称为向量。

2020-06-26 20:08:37 18678 6

原创 Verilog初级教程(3)Verilog 数据类型

本篇博客讲的是Verilog HDL中的数据类型,我最常用的数据类型,无非就三种,reg、wire,integer;其中integer 主要在for 循环中使用。

2020-06-26 16:45:30 9041 3

原创 Verilog初级教程(2)Verilog HDL的初级语法

学习Verilog和学习任何一门编程语言一样,都需要从语法开始,不会语法去学习设计是几乎不可能的,当然从另一门类似语言转来的除外(例如VHDL是你的第一门硬件描述语言)。学会了语法不懂硬件思维也不可以,因为你不能使用软件思维来设计硬件电路。

2020-06-26 15:35:54 6938

原创 Verilog初级教程(1)认识 Verilog HDL

集成电路的设计经历了从原理图绘制(工程师在纸上绘制晶体管及其连接,以便对其设计,使其可以在硅上制造)到硬件描述语言的转变,这是因为大型的设计,如果使用原理图的方式进行设计会耗费大量的人力、时间和资源等,这催生着硬件描述语言的诞生!

2020-06-25 17:29:00 6415 2

翻译 芯片设计抽象层及其设计风格

在了解Verilog语言的更多细节之前,我们最好先了解一下芯片设计中的不同抽象层。

2020-06-25 16:32:15 3335

原创 FPGA基础知识极简教程(10)二进制到BCD转换算法

Double-Dabble Binary-to-BCD Conversion Algorithm

2020-06-25 01:02:15 3780

原创 FPGA基础知识极简教程(9)七段数码管显示的Verilog简单设计

七段显示器是FPGA设计人员通常用来向用户显示信息的指示器。在VHDL和Verilog中可以轻松完成将二进制文件转换为兼容七段显示器的代码。有许多应用程序可能需要使用一个或多个八段显示器,例如:* 闹钟* 秒表* 按钮计数指示器* 电压测量(从模拟到数字转换器)

2020-06-21 01:59:41 36970 5

原创 Verilog以及VHDL所倡导的的代码准则

1. 提高代码的可读性,使代码易于理解;2. 编写代码的统一性,规范代码设计;3. 使得代码不容易出错。

2020-06-20 16:40:06 3193

原创 FPGA基础知识极简教程(8)详解三态缓冲器

三态缓冲器可以处于以下三种状态之一:逻辑0,逻辑1和Z(高阻抗)。它们的使用允许多个驱动程序共享一条公共线路。这使得它们在半双工通信中特别有用。让我们首先讨论半双工和全双工通信之间的区别。

2020-06-20 01:45:30 5521

原创 Verilog设计实例(8)按键防抖设计之软件防抖

使用一种相当简单的方法来查找开关的n个连续稳定读数,其中n是一个从1(完全没有反跳)到看似无穷大的数字。 通常,代码会先检测到跳变,然后开始递增或递减计数器,每次重新读取输入时,直到n达到一些安全的,无抖动的计数。 如果状态不稳定,则计数器会重置为其初始值。

2020-06-19 15:46:05 7872

原创 Verilog设计实例(7)基于Verilog的数字电子钟设计

基于模块化的设计思想, 采用 Verilog HDL 语言设计一个能进行时、分、秒计时的二十四小时制的数字电子钟, 并具有整点报时功能。 采用数码管进行时间显示,要求显示格式为:小时-分钟-秒钟。

2020-06-17 21:51:43 39200 22

原创 FPGA/ASIC初学者应该学习Verilog还是VHDL?

对于FPGA或者ASIC的初学者来说,选择哪种语言貌似应该根据自身的需求而定,例如实验室项目需要使用哪种语言,或者实验室师兄师姐使用了哪种语言,或者导师推荐你学习哪种原因,这都是硬性需求了,因为你需要完成项目的接手,所以必须根据要求而来!但如果你没有这些顾虑呢?该如何做出选择?

2020-06-16 20:10:34 4957

原创 FPGA基础知识极简教程(7)详解亚稳态与跨时钟域传输

这篇文章主要是对过去对于亚稳态以及跨时钟域传输问题的一次总结,作为这个系列博文的一次梳理吧。注:微信公众号也会更新,欢迎大家关注,我有了新文章会通过微信公众号推送通知大家,让你有选择的看到我的最新动态。

2020-06-16 01:15:10 5239 2

原创 移位寄存器专题(verilog HDL设计)

目录移位寄存器简介分类4位右移位寄存器工作原理1、16位右移位寄存器2、16位左移寄存器3、串行输入并行输出寄存器4、并行输入串行输出移位寄存器移位寄存器简介移位寄存器内的数据可以在移位脉冲(时钟信号)的作用下依次左移或右移。移位寄存器不仅可以存储数据,还可以用来实现数据的串并转换、分频,构成序列码发生器、序列码检测器,进行数值运算以及数据处理等,它也...

2020-06-13 23:06:31 75584 12

原创 移位寄存器之右移位寄存器(Verilog HDL语言描述)

目录背景测试一Verilog HDL语言描述测试代码仿真波形图测试二Verilog HDL语言描述测试代码仿真图ISE综合RTL Schematic测试三环形移位寄存器(右移)Verilog HDL描述测试代码仿真波形图ISE综合背景之所以单独把这个简单的东西拿出来,就是因为这个东西我可能要用到,不能眼高手低,以为简单就一...

2020-06-13 23:06:24 20338 5

原创 【 FPGA 】设计一个通用移位寄存器

通用移位寄存器可以加载并行数据,将其内容向左移位(向高位移)、向右移位(向低位移)或保持原有状态。它可以实现并转串(首先加载并行输入,然后移位)或串转并(首先移位,然后并行输出)。实现这种操作需要两位控制信号ctrl,如下:`timescale 1ns / 1ps////////////////////////////////////////////////////////////////...

2020-06-13 23:05:11 7085

原创 HDLBits 系列(20)移位寄存器(逻辑移位、算术移位、循环移位)

目录4 bit的右移寄存器设计100 bit循环移位寄存器算术移位寄存器4 bit的右移寄存器设计先给出一个4位右移寄存器的设计题:Build a 4-bit shift register (right shift), with asynchronous reset, synchronous load, and enable.areset: Resets shift r...

2020-06-13 23:04:05 2746

原创 Verilog设计实例(6)基于Verilog的各种移位寄存器实现

在数字电子产品中,移位寄存器是级联的触发器,其中一个触发器的输出引脚q连接到下一个触发器的数据输入引脚(d)。 因为所有触发器都在同一时钟上工作,所以存储在移位寄存器中的位阵列将移位一个位置。

2020-06-13 23:03:23 20396 6

原创 FPGA基础知识极简教程(6)UART通信与移位寄存器的应用

UART(Universal Asynchronous Receiver/Transmitter)代表“通用异步接收器/发送器”,它是由Digital Equipment Corporation的Gordon Bell在1960年代开发的。 “通用”部分是关于数据格式和传输速度是可配置的事实。

2020-06-13 01:28:41 3021

原创 FPGA基础知识极简教程(5)什么是锁存器以及如何在FPGA开发中避免生成锁存器?

在FPGA设计中永远不要使用锁存器!但好像没人在FPGA设计中故意设计锁存器,那为什么要讨论锁存器呢?话虽如此,虽然你没有有意设计锁存器,但你能保证你的代码中没有锁存器了吗?

2020-06-11 03:28:46 4144 4

原创 FPGA/ASIC笔试面试题集锦(1)知识点高频复现练习题

本文其实就是整合了一下去年秋招时总结的笔试题或者各大平台的练习题,只不过去年由于边笔试面试边总结,比较粗糙,这里再次整理润色一下,前人栽树,方便后人乘凉!

2020-06-10 22:11:47 13998 17

原创 FPGA基础知识极简教程(4)从FIFO设计讲起之异步FIFO篇

一开始是想既然是极简教程,就应该只给出FIFO的概念,没想到还是给出了同步以及异步FIFO的设计,要不然总感觉内容不完整,也好,自己设计的FIFO模块不用去担心因IP核跨平台不通用的缺陷!那我们开始吧。

2020-06-09 01:46:12 10573 35

原创 FPGA基础知识极简教程(3)从FIFO设计讲起之同步FIFO篇

FIFO可以认为是汽车可以驶过的单向隧道。隧道的尽头是一个带门的收费站。门一旦打开,汽车便可以离开隧道。如果那扇门从未打开,而更多的汽车继续进入隧道,那么最终隧道将充满汽车。这称为FIFO溢出,通常这不是一件好事。

2020-06-08 07:47:26 9900 14

原创 FPGA基础知识极简教程(2)抛却软件思维去设计硬件电路

学过一门或多门软件语言的数字设计初学者经常会犯一些错误 ,例如硬件语言的并发性,可综合以及不可综合语句区分,循环语句的使用等等。本文的建议将带你区别并扫除这些易错点,助你成为一名优秀的硬件设计师。

2020-06-07 22:49:27 3370 1

原创 FPGA基础知识极简教程(1)从布尔代数到触发器

从初学者对数字设计的疑问?到什么是FPGA?什么是ASIC?在到布尔代数如何在FPGA内部实现?最后到数字设计的核心元件触发器?本文将从简洁的角度带你认识这些数字设计的必备基础知识!

2020-06-07 18:16:16 3680 2

原创 Verilog设计实例(5)详解全类别加法器(二)

超前进位加法器能够在完全加法器完成其运算之前计算进位。 这比起波纹加法器具有优势,因为它能够更快地将两个数字加在一起。 缺点是需要更多逻辑。

2020-06-05 23:18:23 3069 5

原创 Verilog设计实例(4)详解全类别加法器(一)

本文详细地总结了一系列的加法器,包括半加器、全加器、等波纹进位加法器,作为训练材料是一种不错的选择。

2020-06-05 04:05:44 6234

原创 Verilog设计实例(3)基于Verilog的单端口同步读写RAM设计

为什么要写单端口同步读写RAM呢?没有那么多为什么?就是因为简单、基础,能清晰说明单端口RAM的原理,顺手给出设计,也能说明你的设计基础

2020-06-04 22:24:25 4276 2

原创 详解ASIC设计流程

参考中外文以及互联网资料,写一篇ASIC设计流程文章供大家参考,文中有不妥之处,还望批评指正,谢谢!

2020-06-04 04:09:58 15497 1

原创 FPGA设计心得(9)基于DDS IP核的任意波形发生器设计

花了几个小时了解并写了这篇博客,不得不说的是了解的还是皮毛而已,但尽力写的详细点,这比较适合新手,老手可以忽略繁琐的部分。

2020-06-03 22:01:31 6900 5

原创 Verilog设计实例(2)一步一步实现一个多功能通用计数器

多功能计数器,英文名为:多功能计数器;所谓多功能,这里包括二进制计数,格雷码计数以及线性反馈移位寄存器(LFSR)三种,本文通过从普通的计数器开始,也就是单个功能的计数器开始,一步一步过渡到多功能计数器。

2020-06-02 22:17:33 4154 2

原创 Verilog设计实例(1)线性反馈移位寄存器(LFSR)

LFSR代表线性反馈移位寄存器,它是一种在FPGA内部有用的设计。 LFSR易于合成,这意味着它们占用的资源相对较少,并且可以在FPGA内部以很高的时钟速率运行。

2020-06-01 15:51:50 11571

原创 FPGA设计心得(8)Verilog中的编译预处理语句

Verilog中编译预处理语句不是一般的语句,Verilog编译器会对其进行预处理,然后预处理的结果和源程序一起进行通常的编译处理。其作用范围从定义开始到文件结束。

2020-06-01 01:40:20 3475

反馈清零以及反馈置数计数器(内含Verilog HDL代码及文档)

任意模值计数器包含反馈清零计数器以及反馈置数计数器等,本文档给出了反馈清零计数器和反馈置数计数器的verilog设计代码以及文档描述,仿真等

2018-05-19

模60计数器(通过计数器级联得到)

下面描述的是一个模60计数器,该计数器通过将模10计数器和模6计数器级联的方式构成,每当模10计数器计数到1001时,模6计数器就会计数加1,直至计数到60时,即模6计数器到达0101、模10计数器到达1001时,计数状态又回到00000000,然后重新计数。

2018-05-19

数字时钟计数器(包含代码及说明文档)

简单的数字时钟计数器,其实现方法也是通过计数器的级联,由两个模60计数器和一个模24计数器子模块共同构成,下面的这段代码采用结构性描述方法,U1,U2,U3为调用的两个模60计数器和一个模24计数器子模块,模60计数器实现分秒的计数,模24计数器实现小时的计数。

2018-05-19

乘法器的verilog HDL设计汇总

从做实验遇到Wallace树乘法器开始,对乘法器的理解受到了阻碍,于是接下来的一个星期,专门研究汇总乘法器的verilog HDL设计,最终算是大概完成。这里给出了7种乘法器的设计。希望遇到问题而无助的你能够找到方向。

2018-05-15

移位相加乘法器的verilog HDL设计代码

从被乘数的最低位开始判断,若为1,则乘数左移i(i=0,1...(WIDTH-1))位后,与上一次和相加;若为0,则乘数左移i位后,以0相加。直至被乘数的最高位。

2018-05-15

流水线乘法器verilog HDL代码设计

多级流水线结构,是一种并行的方式,将相邻的两个部分的结果再加到最终的输出乘积上,即排列成一个二叉树形式的结构。

2018-05-15

串行乘法器verilog HDL设计代码

移位相加法乘法器设计原理是从被乘数的最低位开始判断,若为1,则乘数左移i(i=0,1...(WIDTH-1))位后,与上一次和相加;若为0,则乘数左移i位后,以0相加,直至被乘数的最高位。

2018-05-15

查表法乘法器verilog HDL设计代码及其测试文件

查找表乘法器就是将乘积放在存储器中,将操作数作为地址访问存储器,得到的输出结果就是乘法器的运算结果。这种乘法器的运算速度就等于所使用的存储器的速度,一般用于较小规模的乘法器。

2018-05-15

复数乘法器的verilog HDL设计代码及其测试文件(修改版)

本压缩文件包括复数乘法器以及其测试文件,复数乘法器本身原理简单,但其乘积项运用到了Wallace树乘法器,所以本代码是在Wallace树乘法器的基础上的复数乘法器。

2018-05-15

向量乘法器的verilog HDL设计代码及其测试文件(修改版)

本压缩文件包括向量乘法器以及其测试文件,向量乘法器本身原理简单,但其乘积项运用到了Wallace树乘法器,所以本代码是在Wallace树乘法器的基础上的向量乘法器。

2018-05-15

向量乘法器的verilog HDL设计代码

基于Wallace乘法器生成乘积项,向量乘法器自然而然得到。

2018-05-14

复数乘法器的verilog HDL设计代码

复数乘法器本身十分很简单,这里复数乘法器的乘积项的计算调用了wallace树乘法器,故本乘法器的verilog HDL代码中包括了wallace树乘法器模块。仔细内容请浏览我的博客。

2018-05-14

Wallace树乘法器专题研究

看了很多个博客,看了很多本书,就为了研究一个wallace树乘法器,研究了几天,没有任何一个资源把这个问题写的仔仔细细,明明白白,痛苦万分。功夫不负有心人,经过几天的研究以及同学的帮助,最终解决了这个问题,于是同大家分享。希望你们遇到这个问题能够前进地更容易点。

2018-05-14

Wallace树乘法器verilog代码

在乘法器的设计中采用树形乘法器,可以减少关键路径和所需的加法器单元数目,Wallace树乘法器就是其中的一种。下面以一个4*4位乘法器为例介绍Wallace树乘法器及其Verilog HDL实现。

2018-05-14

巴克码相关器设计

巴克码相关器能够检测巴克码序列峰值,并且能够在1bits错误的情况下检测巴克码序列峰值。

2018-05-05

数字频率计verilog代码

设计一个8位数字显示的简易频率计。能够测试10Hz~10MHz的防波信号。电路的基准时钟为1Hz,要求测量值以8421BCD码形式输出。系统有复位键。

2018-05-05

chapter2_clocks_resets

文中谈到了FPGA以及ASIC设计中的复位策略,对于实际工程实践以及笔试面试还有专业人员阅读都是很好的资料,复位是一个常谈的话题,这个文档就能让你明白复位的设计。

2020-06-10

AN10007-Jitter-and-measurement

时钟抖动问题很常见,也是笔试面试常考的内容,该文档提供了时钟抖动的定义以及测量方式,对于想要了解时钟抖动的学生以及专业人士可以参考。

2020-06-10

Best-FPGA-Development-Practices-2014-02-20

这是一篇讲解FPGA开发的论文,从PCB设计、RTL设计以及FPGA设计的各种流程都有涉及,有兴趣的可以看下!

2020-06-10

aurora_8b10b_0_ex_framing.7z

这是一个用户接口格式为framing格式的aurora协议工程,配合博客使用:https://reborn.blog.csdn.net/article/details/106088264 详细分析在博客上。

2020-05-14

aurora streaming工程例子程序.zip

自己定制的一个通道的aurora IP核生成的例子程序,包含仿真,仅仅是为了学习aurora协议,streaming 用户接口。

2020-05-13

KC705.rar压缩包

资源内容包括Kc705相关资料,原理图(kc705_Schematic_xtp132_rev1_1)(ug810_KC705_Eval_Bd)(ug883_K7_KC705_Eval_Kit)(xapp554-xadc-layout-guidelines)

2019-12-31

阵列信号处理及其MATLAB实现

很多人求之不得的一本书,这本书对于阵列信号处理的学习至关重要,可以这么难说,弄懂了这本书,你的科研道路将会容易很多,但是弄懂也不容易哦。

2018-11-15

Spartan-6 Libraries Guide for HDL Designs

本文档是Spartan-6的设计元素用户手册,包括各种原语,IP核以及硬件宏等底层资源的详细讲解。

2018-08-11

EV10AQ190(ADC采样芯片)数据手册

本ADC采样芯片说明书说明了ADC采样的工作模式,以及一些时序图,对硬件的学习很有帮助!

2018-07-15

西电数值分析ppt合集

数值积分是一门重要的学科,展现了一些列运算的数值计算方法,这些方法可以直接应用到计算机中,例如微积分运算,曾在高等数学中计算的方法,不适合用于编程实现,或者计算机实现,而数值积分正是研究这些问题的,数值积分内容很多,需要认真研究。本教程只包括知识点的介绍,不包括计算机编程的知识。

2018-07-12

数值分析总览

本讲义为数值分析讲义的绪论,大体介绍了数值分析的发展,以及数值分析解决的一些列问题,让我们对数值分析有一个总体的认识,这是后面学习的一个铺垫,同时,本教程也讲了绝对误差,相对误差,有效数字以及它们之间的关系,仔细阅读能让人受益匪浅。

2018-06-28

插值与曲线拟合专题

插值问题和函数逼近问题都可归结为函数逼近问题,本文档重要讲插值法,包括一般插值概念,由于其局限性,由此引申到拉格朗日插值,牛顿插值,分段低次插值等等。

2018-06-28

信号产生器

内含状态转移类型信号产生器、移位寄存器型信号产生器、计数器加组合输出网络类型信号产生器

2018-05-20

8421BCD码计数器(内含文档及Verilog HDL设计代码)

计数器实现的模制为24,clr为异步清零信号,当时钟上升沿到来或clr下降沿到来, clr = 0时,计数器清零为0000_0000。该计数器的计数过程为,当输出信号的低4位(即 dout[3:0])从0000计数到1001后(即十进制的0 ~ 9),高4位(即dout[3:4])计数加1,当计数计到23时(即0010_0011),计数器又清零为0000_0000,然后重新开始计数。

2018-05-19

可逆计数器(内含文档及Verilog HDL设计代码)

可逆计数器是一种双向计数器,可以进行递增计数,也可以进行递减计数,根据计数控制信号的不同,在时钟脉冲的作用下,计数器可以进行加1或减1的操作。 下面描述的是一个位宽为4的可逆计数器,即该计数器在不同控制信号下可以分别实现加法计数和减法计数的功能。

2018-05-19

环形计数器、扭环计数器(内含文档及verilog HDL代码)

移位型计数器包括环形计数器以及扭环计数器,原理差不多,几乎相同,但又各自有各自的精彩之处。本资源包括二者的Verilog HDL设计代码以及文档分析。

2018-05-19

空空如也

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

TA关注的人

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