自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 FPGA-IP-ROM

双端口 ROM 与单端口 ROM 类似,区别是其提供两个读地址端口和两个读数据端口,基本上可以看做两个单口 RAM 拼接而成。ROM 作为只读存储器,在进行 IP 核设置时需要指定初始化文件,即写入存储器中的 图片数据,图片要以规定的格式才能正确写入 ROM,这种格式就是.mif 文件。比如位宽为8,深度为256的ROM,生成的ROM IP核名称应该为 rom_8×256.格式),在 FPGA 运行时通过数据文件给 ROM 模块初始化,ROM 模块的内容必须提前在数据文件中写死,无法在电路中修改。

2023-09-25 09:15:04 96

原创 FPGA-DDS信号发生器

将一个周期的正弦波信号,沿横轴等间隔采样 2^12 = 4096 次,每次采集的信号幅度用 1 字节数据表示,最大值为 255,最小值为 0。相位调制器接收相位累加器输出的相位码, 在这里加上一个相位偏移值 P,主要用于 信号的相位调制,如应用于通信方面的相移键控等,不使用此部分时可以去掉,或者将其 设为一个常数输入,同样相位字输入也要做寄存。fs.max大于信号中最高频率fmax的2倍时(fs.max>2fmax),采样之后的数字信号完整地保留了原始信号中的信息),K 的。应小于 2^N / 2。

2023-09-24 18:28:53 231

原创 FPGA简易频率计

常用频率测量法:1.频率测量法(计频法):在时间 t 内对被测时钟信号的时钟周期 N 进行计数,然后求出单位时间 内的时钟周期数,即为被测时钟信号的时钟频率,测量频率为f=1/(t/N)=N/t。2.周期测量法(计时法):先测量出被测时钟信号的时钟周期 T,然后根据频率 f = 1/T 求出被测 时钟信号的频率。频率测量法适合于测量高频时钟信号,而周期测量法适合于低频时钟信号的测量,但二者都不能兼顾高低频率同样精度的测量要求。)内测量被测试时钟的周期个数,得到的是没有±1 个被测时钟周期(

2023-09-22 10:24:51 97

原创 FPGA-逻辑分析仪-SignalTap II的在线(板级)调试(自用 仅供参考)

板级调试使用情况①:tb仿真不全面,覆盖率不高;②:板卡级别的数据交互中出现数据异步的情况,该种情况很难做仿真,或做仿真耗时很长;③:板卡互联、芯片之间的干扰等问题。软件进行数据交互,进行板级调试;缺点:a.存储器的大小决定了能够查看的数据的深度(可人为设定,但不能超过拥有的逻辑资源)。缺点:a.管脚不够,数据无法引出分析;b.可能会改变输出数据;板级调试:把综合后的程序下载到FPGA芯片中,分析代码的运行情况。在设计过程中插入嵌入式逻辑分析仪,使用。①:将FPGA信号通过引脚传出到。

2023-09-21 10:36:20 106

原创 RS232串口总结

tb中task和for循环。

2023-09-18 22:28:49 35

原创 FPGA之异步信号经过D触发器之后发生的亚稳态

高频信号到低频可能会出现数据的漏采,如何解决?

2023-09-15 16:27:58 31

原创 fpga 三大低速总线 UART、SPI、IIC(自用 仅供参考)(待补充同步通信接口)

UART 通信只有两根信号线,一根是发送数据端口线叫 tx(Transmitter),一根是接收数据端口线叫 rx(Receiver),如图 30-1 所示,对于 PC 来说它的 tx 要和对于 FPGA 来 说的 rx 连接,同样 PC 的 rx 要和 FPGA 的 tx 连接,如果是两个 tx 或者两个 rx 连接那数据 就不能正常被发送出去和接收到,所以不要弄混,记住 rx 和 tx 都是相对自身主体来讲的。UART 是一种通用的数据通信协议,也是异步串行通信口(串口)的总称,它在。

2023-09-15 10:31:01 203

原创 quartusii&modelsim联合仿真错误error loading design情况①(自用 仅供参考)

在两个没有例化对方的模块(其中有一个模块为顶层模块,假设为A.v,另一个为B.v)当中,若在测试文件tb中同时对两个模块例化时,modelsim开始仿真后会出现error loading design的情况,此时需要在quartusii中assignment-seething-simulation填加tb.v的地方同时添加B.v,才能顺利成功进行联合仿真。在ip核例化测试时,也需要在相应的文件下找到ip核生产的.v文件,并按上述加入simulation中,不然也会报出相同的错误。

2023-09-15 09:27:37 1000

原创 FPGA中怎么提前时序逻辑always块中延后的周期(自用 仅供参考)(待补充举例)

在利用always块编写时序逻辑时,在该块always块中输出的信号会延后always块所用周期信号一个周期,导致电路中信号不同步,可利用相关的变量如cnt信号进行减1操作将有效信号提前,便可以将延后的信号同步。

2023-09-13 15:00:35 75

原创 FPGA之VGA显示器(自用 仅供参考)

电压高低由输入的数字信号决定。输入的 R、G、B 数字信号不同,输出的三原色红、绿、蓝电压不同,颜色深浅不同,三原色相结合可以产生多种颜色。)、其他的图像模式还有RGB332(8bits).RGB888(24bits),数据位宽越大,表示颜色种类越多,显示图像越细腻。图像模式(由厂家提供的电路图定):如下图,本次使用的是RGB565(位宽为5+6+5=16bits)(图中VGA_D[15:0]表示 FPGA 传入权电阻网络的数字图像信号,经过权电阻网络的。,生成能够被 VGA 识别的模拟图像信号。

2023-09-13 14:55:30 75

原创 FPGA IP核(自用 仅供参考 待补充)

等简单的存储器 IP 核和较为复杂的 ROM、RAM、FIFO 和 Flash 存储器等模块。)Altera 的数学运算 IP 核分为整数运算和浮点运算两大类:(1)整数运算:有。9、设计调试 IP 核。用到一个,补充一个,写出的代表已经使用过了。用到一个,补充一个,写出的代表已经使用过了。用到一个,补充一个,写出的代表已经使用过了。用到一个,补充一个,写出的代表已经使用过了。用到一个,补充一个,写出的代表已经使用过了。用到一个,补充一个,写出的代表已经使用过了。5、数字通信 IP 核包括 (

2023-09-10 11:22:23 211

原创 FPGA中变量索引与拓展(自用 仅供参考)

例:创建一个1位宽的256对1多路复用器。256个输入in[255:0]全部打包成单个256位输入向量out。Sel =0选择[0],Sel =1选择[1]中的位,Sel =2选择[2]中的位,等等。有了这么多选项,case语句就没那么有用了。矢量指数可以是可变的,只要合成器能算出被选择的比特的宽度是恒定的。特别是,使用可变索引(sel)从向量in[255:0]中选择一个位是可行的。

2023-09-08 14:16:16 68

原创 BCD加法器的实现(自用 仅供参考)

基本原理:BCD码为8421码,仅在0~9(4‘b0000~4'b1001)内算数有效,若两个位宽为4bits的数a、b相加,若a、b、cin相加之后小于4’b1001,则进位cout为0,sum[3:0] = a + b + cin;若a、b、cin相加之后大于4’b1001,此时cout = 1'b1,sum_temp[3:0] = a+b+cin;最后运算的sum应该加上6才是正确的、在0~9之间的正确和,即sum[3:0] = sum_temp[3:0] + 4'b0110(4’d6);

2023-09-07 10:27:00 1183

原创 FPGA中对一个简单模块多次重复例化

编译后的RTL视图,综合成为了8bit 操作数的加法器。1. generate语法有。(应该还有更多,待补充)使用generate语句。关键字定义for的变量。

2023-09-07 09:54:46 446

原创 FPGA自用笔记(持续更新)(自用 仅供参考)

首先中间变量 in_reg 一定要等待复位被释放后且第一个时钟上升沿来到时才会被赋值为输入信号 in 的值,所以会比输入信号 in 延迟一拍,而中间变量 in_reg 和输出信号 out 却没有延迟一拍的关系了,而是在同一时刻同时变化的,因为我们使用的是阻塞赋值,也就是说只要赋值号右边的表达式的值有变化,赋值号左边的表达式的值也将立刻变化,所以我们最终看到的结果是中间变量 in_reg 和输出信号 out 是同时变化的。第二类是长线资源,用于完成芯片 Bank间的高速信号和第二全局时钟信号的布线;

2023-09-06 15:43:54 152

原创 有限状态机的3种书写方式-两段式、三段式、新两段式(自用 仅供参考)

三段式并不一定是要写三个always块,若状态机更为复杂,always块也相应增加。有限状态机通常用两段式或者三段式书写。

2023-09-04 21:08:22 130

原创 FPGA单比特信号的边沿检测:精准找到单比特信号的上升沿/下降沿(自用 仅供参考)

边沿检测主要作用是能够准确的识别出单比特信号的上升沿或下降沿,也就是我们希望当上升沿或下降沿来到时,能够产生一个唯一标识上升沿或下降沿的脉冲信号来告诉我们上升沿或下降沿来了,我们就可以根据这个脉冲信号作为后续电路功能的启动。如图所示,对同一信号打一拍,在①位置处就可以检测到上升沿,使之拉高一个时钟的脉冲;在②位置处可以检测到下降沿,使之拉高一个时钟的脉冲。(1.1与1.2的核心逻辑互为德摩根定律)(2.1与2.2的核心逻辑互为德摩根定律)1.2或逻辑实现podge脉冲。2.2或逻辑实现nedge脉冲。

2023-09-04 20:47:27 228

原创 按键消抖模块(硬件消抖与软件消抖)(自用 仅供参考)

图为与非门 RS 触发器。当按键未按下时,输出为 0;当键按下时, 输出为 1。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开 B), 只要按键不返回原始状态 A,双稳态电路的状态不改变,输出保持为 0,不会产生抖动的波形。通过计数器计数到一定时间后(等抖动消除,按键完全按下,一般为20ms)再进行检测有效的按键信号。即使 B 点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。时可用硬件方法消除键抖动。硬件去抖常见的是使用RS触发器。

2023-09-04 10:56:55 670

原创 FPGA的奇分频总结(以5分频为例)(自用,仅供参考)

观察波形图可知clk1和clk2进行与运算便可得到占空比为50%的5分频时钟信号clk_div_5。方法三:在第(M-1)/2个sys_clk的下降沿进行反转,得到占空比为50%的五分频时钟信号。方法一: 两个时钟信号(clk1与clk2)进行与运算获得。观察波形图可知得到占空比为20%的五分频信号。clk1特点:上升沿触发,占空比60%clk2特点:下降沿触发,占空比60%方法二:clk_flag标志信号法。

2023-09-04 10:37:33 231 1

空空如也

空空如也

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

TA关注的人

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