FPGA小学生
码龄6年
关注
提问 私信
  • 博客:401,539
    401,539
    总访问量
  • 48
    原创
  • 2,023,470
    排名
  • 1,864
    粉丝
  • 30
    铁粉

个人简介:控制科学与工程硕士在读。

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

FPGA小学生的博客

查看详细资料
个人成就
  • 获得613次点赞
  • 内容获得167次评论
  • 获得3,793次收藏
  • 代码片获得1,085次分享
创作历程
  • 32篇
    2021年
  • 16篇
    2020年
成就勋章
TA的专栏
  • FPGA笔试题
    20篇
兴趣领域 设置
  • 硬件开发
    fpga开发
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

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

双通道FPGA数据采集卡

采集卡指标:FPGA(altera)、AD(输入范围正负5V、AD9226、12bit、65MHz)、SDRAM(16bit数据位、13bit地址线)、串口(CH340)1. 电路:(1)FPGA最小系统:(2)SDRAM:(3)双路AD:(4)PCB布局:(5)实物图:2. 程序:依托双通路采集卡的电路板可以完成多种功能,这里面只展示一种,就是将两通道(每个采样率都为65MHz)的数据融合为一路(130MHz),然后在SDRAM中缓存,缓存一定量的数据之后,就将数据通过串口发送到
原创
发布博客 2021.12.22 ·
4953 阅读 ·
13 点赞 ·
2 评论 ·
54 收藏

四通道数据采集卡(ADS6445、4 channel、14bit、125MHz)

推荐给大家一款高性能的AD转换芯片,来自德州仪器的AZ6445(ADS6445),具有4个通道,每个通道都是14bit、125MHz的采样速率,数据传输采用LVDS接口,很适合高速传输数据。首先来看一下ADS6445的器件手册,下图是ADS6445的器件结构图:从上面的结构图可以看出4个通道的输入都是差分的输入信号,往往我们需要采集的信号都是单端的信号,所以将单端转差分,使用变压器或者单端转差分的运放都是可以的。这里我们采用的是单端转差分的运放。当然在器件手册里面这些信息都会给我们提供,我们就可以照图
原创
发布博客 2021.12.21 ·
6301 阅读 ·
4 点赞 ·
4 评论 ·
58 收藏

Xilinx Vivado (FFT IP核)

1.傅里叶变换FFT傅立叶变换是一种分析信号的方法,它可分析信号的成分,也可用这些成分合成信号。许多波形可作为信号的成分,比如正弦波、方波、锯齿波等,傅立叶变换用正弦波作为信号的成分。通过FFT将时域信号转换到频域,从而对一些在时域上难以分析的信号在频域上进行处理。其中,根据奈奎斯特采样定理,采样频率需大于信号频率的两倍;1.N为FFT采样点数,代表对信号在频域的采样数;2.采样频率Fs和采样点数N决定了信号的频域分辨力,即分辨力=Fs/N,即N越大,频域分辨力越好,反之频域分辨力越差。2.Vi
原创
发布博客 2021.12.06 ·
6094 阅读 ·
8 点赞 ·
4 评论 ·
105 收藏

微弱信号放大电路(电磁超声)

本篇主要分享一个微弱信号放大电路,可以放大微伏级别的小信号。本文电路的应用环境是电磁超声,其他环境下的小信号放大也是可以使用。**电磁超声信号特性:**电磁超声换能效率低,信噪比低,回波信号是微伏级别,十分微弱,对周围环境噪声敏感度高,会被噪声完全淹没。**设计方案:**针对电磁超声的噪声大,实验中设计的为三级模拟放大电路,前置放大、带通滤波以及二级放大组成,可以将电磁超声输出的几十微伏信号放大到几伏,回波接收电路具有100dB的增益(可以放大10万倍),20dB的信噪比。1.Multisim仿真:
原创
发布博客 2021.12.04 ·
8558 阅读 ·
12 点赞 ·
4 评论 ·
94 收藏

如何提升AD的采样频率

问题:如何提升AD的采样频率?答:只有改变AD的内部结构。所以本文题目说的是有毛病的,一块网上购买的现成的AD芯片,我们并不能改变它的采样速率。AD的作用是采集模拟,如果,信号的20Mhz,根据奈奎斯特定理,那么采样的频率至少为40Mhz,也就是两倍的速率采样,在实际的应用中我们可能会涉及到超采样,那么采集20Mhz的信号,需要AD的采样频率就要更高了。如果我们只有一种型号为100Mhz的AD芯片,还想以200Mhz的频率采样怎么办呢?可以采用两个相同的100Mhz的AD芯片同时对这一路20Mhz的信
原创
发布博客 2021.12.04 ·
5096 阅读 ·
6 点赞 ·
0 评论 ·
17 收藏

乒乓操作(Verilog)

RTL代码:module fsm( input clk, input rst_n, input [7:0]data_in, output reg[7:0]data_out); reg [7:0]data_buffer1; reg [7:0]data_buffer2; reg wr_buf1; reg wr_buf2; reg [1:0]c_state; reg [1:0]n_state; parameter s0 = 2'b01; parameter s1 = 2'b10;
原创
发布博客 2021.09.14 ·
2193 阅读 ·
4 点赞 ·
0 评论 ·
9 收藏

串并转换(Verilog)

RTL代码:module serial_parallel( input clk, input rst_n, input en, input data_in, //一位输入 output reg[7:0] data_out //8位并行输出 ); //移位寄存器方式 always @(posedge clk or negedge rst_n) begin if (!rs
原创
发布博客 2021.09.14 ·
2427 阅读 ·
2 点赞 ·
1 评论 ·
8 收藏

统计第一个出现的1后面0的个数(Verilog)

RTL代码:module fsm( input clk, input rst_n, input start, input [7:0]data, output reg[3:0]count_out); reg [3:0]cnt; reg en; reg [7:0]data_r; always@(posedge clk or negedge rst_n)begin if(!rst_n) en <= 1'b0; else if(start) en <= 1
原创
发布博客 2021.09.13 ·
1225 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

非整数倍位宽转换(Verilog)

RTL代码:module fsm( input clk, input rst_n, input [7:0]data_in, output reg [11:0]data_out); reg [11:0]data_out_r1; reg [11:0]data_out_r2; reg [1:0]cnt; always@(posedge clk or negedge rst_n)begin if(!rst_n) cnt <= 'd0; else if(cnt == 'd
原创
发布博客 2021.09.13 ·
1259 阅读 ·
2 点赞 ·
0 评论 ·
14 收藏

统计1的个数(Verilog)

RTL代码:module test( input [7:0]data_in, output [3:0]out);// 写法一: reg [3:0]width; reg [3:0]cnt; always@(data_in)begin cnt = 'd0; for(width = 0; width < 8; width = width + 1)begin if(data_in[width]) cnt = cnt + 1'b1; else cnt =
原创
发布博客 2021.09.07 ·
13983 阅读 ·
14 点赞 ·
5 评论 ·
68 收藏

异步FIFO设计实现(Verilog)

RTL代码:module asyn_fifo #( parameter data_width = 16, parameter data_depth = 8, parameter ram_depth = 256 ) ( input rst_n, input wr_clk, input wr_en, input [data_width-1:0] data_in, output full,
原创
发布博客 2021.08.27 ·
1998 阅读 ·
6 点赞 ·
9 评论 ·
31 收藏

排序(Verilog)

RTL代码:module sort( input clk, input rst_n, input sort_start, output reg sort_end, output reg [7:0]data_out); //输入要排序的数组 wire [7:0]data_in[7:0]; assign data_in[0] = 8'd5; assign data_in[1] = 8'd8; assign data_in[2] = 8'd9; assign data_in[3]
原创
发布博客 2021.08.24 ·
4175 阅读 ·
2 点赞 ·
3 评论 ·
31 收藏

序列检测:状态机和移位寄存器(Verilog)

RTL代码://实现序列1101//状态机实现和移位寄存器两种方式实现//状态机方式:module fsm( input clk, input rst_n, input data_in, output reg flag); reg [4:0]c_state; reg [4:0]n_state; parameter s0 = 5'b00001; parameter s1 = 5'b00010; parameter s2 = 5'b00100; parameter s3 =
原创
发布博客 2021.08.23 ·
911 阅读 ·
0 点赞 ·
1 评论 ·
6 收藏

异步跨时钟域握手处理(Verilog)

RTL代码:module req_ack( input clk_a, input rst_n, input pulse_a, input clk_b, output pulse_b); reg req; //请求信号 reg [2:0]req_b; reg ack; //应答信号 reg [2:0]ack_a; always@(posedge clk_a or negedge rst_n)begin if(!rst_n) req <= 1'b0; else
原创
发布博客 2021.08.23 ·
2770 阅读 ·
3 点赞 ·
0 评论 ·
38 收藏

有符号和无符号相加(vivo)

描述如下代码,实现加法;C = A + B;A是21bit无符号数;B是18位有符号数;如何实现才能保证正确得到一个不溢出的有符号数C;module unsign_sign( input wire [20:0]A, input wire signed [17:0]B, output wire signed [22:0]C);assign C =$signed({1'b0, A})+$signed({{4{
原创
发布博客 2021.08.02 ·
876 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

Verilog笔试编程题(紫光展锐IC)

请用Verilog RTL描述如下图设计:以clk为基准,设计一个秒计数器,在指定的计数值产生中断,实时输出当前的秒数计数值。(紫光展锐数字IC岗)<1>clk是时钟输入,频率为32.768KHz。<2>rst_n是异步复位输入,低电平有效,复位整个系统,为高则整个系统开始工作,其上升沿已经同步于clk。<3>start是启动信号,一个clk时钟周期的正脉冲,同步于clk。alarm[7:0]是配置信息,单位为秒,同步于clk。<4>工作模式:收到st
原创
发布博客 2021.08.02 ·
1443 阅读 ·
1 点赞 ·
1 评论 ·
17 收藏

单bit信号进行毛刺滤除(Verilog)

RTL代码:module filter( input clk, input rst_n, input data_in, output reg data_out); reg data_in_r; wire data_edge; reg [2:0]cnt; always@(posedge clk or negedge rst_n)begin if(!rst_n) data_in_r <= 1'b0; else data_in_r <= data_in;
原创
发布博客 2021.07.29 ·
4595 阅读 ·
4 点赞 ·
0 评论 ·
26 收藏

Moore状态机(Verilog)

题目:用三段式moore型状态机实现序列“1011”的不重叠检测。注意点:三段式状态机,Moore状态机,不重叠检测。代码:module fsm( input clk, input rst_n, input data_in, output reg data_out); reg [4:0]c_state; reg [4:0]n_state; parameter s0 = 5'b00001; parameter s1 = 5'b00010; parameter s2 = 5'b
原创
发布博客 2021.07.29 ·
2383 阅读 ·
0 点赞 ·
0 评论 ·
8 收藏

单bit信号由快到慢跨时钟域(Verilog)

代码:module signal_clock( input clk_a, input rst_n_a, input signal_a, input clk_b, input rst_n_b, output signal_b); reg state_a; reg state_b1; reg state_b2; reg state_b3; //将signal_a脉冲信号转化为沿信号 always@(posedge clk_a or negedge rst_n_a)begin
原创
发布博客 2021.07.29 ·
965 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

按键抖动消除电路(Verilog)

用Verilog实现按键抖动消除电路,抖动时间可以设置。RTL代码:module key_glitch #( parameter CNT_KEY = 6 )( input clk, input rst_n, input key_in, output reg key_flag); reg [7:0]cnt; reg key_in_r0; reg key_in_r1; wire key_edge; always@(posedge clk or negedge rst_n)
原创
发布博客 2021.07.20 ·
1724 阅读 ·
3 点赞 ·
0 评论 ·
12 收藏
加载更多