FPGA从入门到跑路
码龄6年
关注
提问 私信
  • 博客:105,804
    105,804
    总访问量
  • 76
    原创
  • 33,742
    排名
  • 1,413
    粉丝
  • 29
    铁粉
  • 学习成就

个人简介:微信公众号:FPGA从入门到跑路

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2019-04-24
博客简介:

FPGA入门到跑路

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    787
    当月
    29
个人成就
  • 获得1,770次点赞
  • 内容获得23次评论
  • 获得1,651次收藏
  • 代码片获得854次分享
创作历程
  • 76篇
    2024年
成就勋章
TA的专栏
  • OFDM802.11a的FPGA实现
    30篇
  • 脉冲压缩雷达
    3篇
  • FPGA入门
    27篇
  • 计算机算法中的数字表示法
    6篇
  • FPGA搭积木
    9篇
兴趣领域 设置
  • 网络与通信
    网络安全网络协议5G信号处理信息与通信
  • 硬件开发
    硬件工程驱动开发fpga开发基带工程pcb工艺
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

FPGA入门系列:计数器

60进制计数器的显示需要两个数码管。其中一个数码管显示计数低位0-9,另一个数码管显示计数高位0-5。为了与两个数码管相连,可以设计两个4位寄存器变量:一个寄存器变量为0-9的变化;链接:https://mp.weixin.qq.com/s/YGLIwpxsCxuMrUC-zXGYoQ。计数器是一种典型的时序器件,常用于对时钟脉冲的个数进行计数,还用于定时、分频、产生同步脉冲等。在使用硬件描述语言设计计数器时,不需要专门设计触发器,而是直接对寄存器变量进行操作。按触发方式分:同步计数器和异步计数器。
原创
发布博客 2024.08.02 ·
591 阅读 ·
8 点赞 ·
0 评论 ·
5 收藏

FPGA入门系列:亚稳态 (metastablility)

由于异步输入信号不依固定的频率或相位关系相对于采样它的时钟到达,可以在任意时间改变,这样异步输入信号在一些点上破坏了触发器的建立/保持窗口,从而可能使触发器保持旧值、或者改变为新的值、或者可能变成亚稳态。当异步信号被触发器采样时,信号可能正在发生翻转,将以一定的概率采样到 在触发器建立或保持时间内的逻辑值;异步信号同步化(将异步信号同步到采样时钟域,即采用高达一个时钟周期的延时来消释第一个触发器的亚稳态)
原创
发布博客 2024.08.02 ·
419 阅读 ·
9 点赞 ·
0 评论 ·
1 收藏

FPGA入门系列:寄存器是如何构成的&移位寄存器

(4)触发器有记忆功能,由它构成的电路在某时刻的输出不仅取决于该时刻的输入,还与电路原来状态有关。而门电路无记忆功能,由它构成的电路在某时刻的输出完全取决于该时刻的输入,与电路原来状态无关。需要注意的是,在同一时钟上升沿,所有的数值都是同时移位的。可以把4个1位寄存器模块组合在一起,构成4位的寄存器,同理,可以用N个1位寄存器构造成1个N位寄存器。8位移位寄存器由8个D触发器串联构成,在时钟信号的作用下,前级的数据向后移动。移位寄存器是一种在时钟脉冲的作用下,将寄存器中的数据按位移动的逻辑。
原创
发布博客 2024.07.23 ·
1485 阅读 ·
12 点赞 ·
0 评论 ·
30 收藏

verilog行为建模(五):条件语句

in的值赋给o1,但其每位赋值的强度及延迟可能不同。如果o1是一个标量(scalar)信号,则其延迟和前面的条件缓冲器上的门延迟相同。对向量线网(net)的赋值上的延迟情况不同。0赋值使用下降延迟,Z赋值使用关断延迟,所有其他赋值使用上升延迟。这种行为描述方式可以非常灵活的描述时钟,可以控制时钟的开始时间及周期占空比。while:只要表达式为真(不为0),则重复执行一条语句(或语句块)。上面的例子显示出持续赋值的灵活性和简单性。:赋值语句或空语句;:赋值语句或空语句;
原创
发布博客 2024.07.22 ·
1387 阅读 ·
27 点赞 ·
0 评论 ·
26 收藏

verilog行为建模(四):过程赋值

非阻塞赋值不阻塞过程流,仿真器读入一条赋值语句并对它进行调度之后,就可以处理下一条赋值语句。阻塞过程赋值执行完成后再执行在顺序块内下一条语句。
原创
发布博客 2024.07.22 ·
410 阅读 ·
5 点赞 ·
0 评论 ·
10 收藏

Verilog中的高级结构:任务及函数(下)

函数返回值可以声明为其它register类型:integer, real, 或time。在任何表达式中都可调用函数。在关键词begin或fork后加上 : 对块进行命名。disable disable
原创
发布博客 2024.07.19 ·
891 阅读 ·
22 点赞 ·
0 评论 ·
5 收藏

Verilog中的高级结构:任务及函数(上)

结构化设计是将任务分解为较小的,更易管理的单元,并将可重用代码进行封装。这通过将设计分成模块,或任务和函数实现。
原创
发布博客 2024.07.19 ·
633 阅读 ·
7 点赞 ·
0 评论 ·
10 收藏

verilog行为建模(三):块语句

b和a的值被立即采样(时刻0),保存的值在时刻5被赋值给他们各自的目标。注意,另一个过程块可以在时刻0到时刻5之间影响a和b的值。b的值被立即采样(时刻0),这个值在时刻5赋给a。a的值在时刻5被采样,这个值在时刻10赋给b。注意,另一个过程块可能在时刻0到时刻5之间影响b的值,或在时刻5到时刻10之间影响a的值。注意fork-join块是典型的不可综合语句,并且在一些仿真器时效率较差。块语句用来将多个语句组织在一起,使得他们在语法上如同一个语句。并行语句在同一时间同步发生,但由仿真器在另外一个时间执行。
原创
发布博客 2024.07.05 ·
425 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

verilog行为建模(二):命名事件和行为描述

在行为代码中定义一个命名事件可以触发一个活动。下面的RTL例子中只使用单个边沿敏感时序控制。
原创
发布博客 2024.07.05 ·
725 阅读 ·
16 点赞 ·
0 评论 ·
8 收藏

verilog行为建模(一):基本概念

时序控制@可以用在RTL级或行为级组合逻辑或时序逻辑描述中。可以用关键字posedge和negedge限定信号敏感边沿。敏感表中可以有多个信号,用关键字or连接。下面 的输出锁存的加法器的行为描述中,使用了用关键字or的边沿敏感时序以及用wait语句描述的电平敏感时序。在test bench中使用简单延时(#延时)施加激励,或在行为模型中模拟实际延时。wait用于行为级代码中电平敏感的时序控制。
原创
发布博客 2024.07.05 ·
765 阅读 ·
16 点赞 ·
0 评论 ·
7 收藏

Verilog进行结构描述(四):Verilog逻辑强度(strength)模型

微信公众号获取更多FPGA相关源码:例:onitor例如:
原创
发布博客 2024.06.28 ·
596 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

Verilog进行结构描述(三):Verilog模块实例化

微信公众号获取更多FPGA相关源码:2.实例数组(Array of Instances)实例名字后有范围说明时会创建一个实例数组。在说明实例数组时,实例必须有一个名字 (包括基本单元实例)。其说明语法为:如果范围中MSB与LSB相同,则只产生一个实例。一个实例名字只能有一个范围。下面以模块comp为例说明这些情况微信公众号获取更多FPGA相关源码:
原创
发布博客 2024.06.27 ·
732 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

Verilog进行结构描述(二):Verilog基本单元(primitives)

基本单元是Verilog开发库的一部分。大多数ASIC和FPGA元件库是用这些基本单元开发的。基本单元库是自下而上的设计方法的一部分。基本单元引脚的数目由连接到门上的net的数量决定。因此当基本单元输入或输出的数量变化时用户不需要重定义一个新的逻辑功能。Verilog基本单元提供基本的逻辑功能,也就是说这些逻辑功能是预定义的,用户不需要再定义这些基本功能。条件基本单元有三个端口:输出、数据输入、使能输入。
原创
发布博客 2024.06.27 ·
419 阅读 ·
3 点赞 ·
0 评论 ·
9 收藏

OFDM 802.11a的FPGA实现:发射部分,bug更正,以及更新说明。

经过各位朋友的提醒,这部分内容有些许bug,目前已经更正,后续还会持续更新。获取更新内容,可以进上述链接,进文末的链接二进行下载,或者根据文末的指引,在后台回复,也可获取最新工程的下载链接。
原创
发布博客 2024.06.27 ·
1064 阅读 ·
33 点赞 ·
0 评论 ·
7 收藏

Verilog进行结构描述(structural modeling)(一):基本概念

微信公众号获取更多FPGA相关源码:# 1.结构描述(structural modeling)的内容:Verilog HDL不同于C语言这类程序语言,在写Verilog HDL代码时,一定要清楚是在描述硬件,而不是在编写程序。上图电路图可用如下硬件语言描述:上图的RS触发器,可用如下硬件语言描述:Verilog结构描述表示一个逻辑图结构描述用已有的元件构造。
原创
发布博客 2024.06.25 ·
473 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

Verilog HDL语法入门系列(四):Verilog的语言操作符规则(下)

微信公众号获取更多FPGA相关源码:# 7.移位操作符。
原创
发布博客 2024.06.25 ·
1013 阅读 ·
21 点赞 ·
0 评论 ·
25 收藏

Verilog HDL语法入门系列(三):Verilog的语言操作符规则(上)

逻辑反操作符将操作数的逻辑值取反。例如,若操作数为全0,则其逻辑值为0,逻辑反操作值为1。逻辑反操作符将操作数的逻辑值取反。例如,若操作数为全0,则其逻辑值为0,逻辑反操作值为1。integer和reg类型在算术运算中,integer是有符号数,而reg是无符号数。当两个操作数位数不同时,位数少的操作数零扩展到相同位数。下表以优先级顺序列出了Verilog操作符。按位操作符对矢量中相对应位运算。
原创
发布博客 2024.06.25 ·
593 阅读 ·
13 点赞 ·
0 评论 ·
9 收藏

Verilog的逻辑系统及数据类型(三):寄存器数组(Register Arrays)

STS一个周期的16个时域样值被存入片内ROM中,该ROM共有16个地址空间,每个地址对应16位的字长,其中高8位存储STS样值的虚部,低8位存储STS样值的实部(与IFFT输出保持一致)。STS_din_rdy作为ROM的读使能信号,代表后面的模块准备好接收数据。当STS_din_rdy为高时,计数器以模161形式开始计数161个时钟,生成的地址信号为计数器的低4位,即cnt[3:0]控制ROM将其中存储的16个STS样值重复读取10个周期,形成标准所规定的短训练序列。
原创
发布博客 2024.06.25 ·
507 阅读 ·
5 点赞 ·
0 评论 ·
7 收藏

Verilog的逻辑系统及数据类型(二):参数和参数重载

【代码】Verilog的逻辑系统及数据类型(二):参数和参数重载。
原创
发布博客 2024.06.25 ·
436 阅读 ·
4 点赞 ·
0 评论 ·
11 收藏

Verilog的逻辑系统及数据类型(一):四值逻辑系统

信号可以分为端口信号和内部信号。出现在端口列表中的信号是端口信号,其它的信号为内部信号。对于端口信号,输入端口只能是net类型。输出端口可以是net类型,也可以是register类型。若输出端口在过程块中赋值则为register类型;若在过程块外赋值(包括实例化语句),则为net类型。内部信号类型与输出端口相同,可以是net或register类型。判断方法也与输出端口相同。若在过程块中赋值,则为register类型;若在过程块外赋值,则为net类型。
原创
发布博客 2024.06.25 ·
1041 阅读 ·
28 点赞 ·
0 评论 ·
24 收藏
加载更多