- 博客(41)
- 收藏
- 关注
原创 FPGA面试题(6)
总线是连接两个或多个组件的通信路径,是计算机各功能部件之间传送信息的公共通信干线。可以分为数据总线,地址总线,控制总线。特点包括分时:某一时刻只允许一个部件向总线发送信息;共享:多个部件可以同时从总线上接收相同的信号。
2023-10-11 15:34:24 449
原创 FPGA面试题(5)
流水线设计就是将组合逻辑系统的分割,并在各个部分之间插入寄存器,并暂存中间数据的方法。将一个大操作分解成若干的小操作,每一步操作时间较小,可以提高频率,各小操作可以并行,可以提高数据吞吐率。
2023-10-11 11:30:32 298
原创 FPGA面试题(4)(跨时钟域处理)
打拍的作用:第一拍是异步信号转同步信号,第二拍及以后是防止亚稳态传递。理论来说,打两拍也不是完全消除亚稳态,只是降低了亚稳态出现的概率。触发器进入亚稳态的时间计算可以用参数MBTF计算,其公式如下其中MBTF的值越大,亚稳态出现的概率越小。而打拍可以增大MBTF的值。简而言之就是:打一拍仍然有很大概率出现亚稳态,打两拍出现亚稳态概率不大,打三拍相较于打两拍亚稳态出现的概率更低,但是除非超高频没必要。
2023-10-10 16:43:43 2119
原创 FPGA面试题(3)
一.FPGA和CPLD区别FPGA:现场可编程门阵列CPLD:复杂可编程逻辑器件二.多位异步信号如何同步单比特异步信号慢时钟域->快时钟域:同步打拍快时钟域->慢时钟域:先拓展位宽再同步打拍多比特异步信号1.异步FIFO2.保持寄存器+握手信号3.特殊的具体应用电路结构,根据应用的不同而不同三.FPGA芯片内部有哪两种存储器资源BLOCK RAM:由一定数量固定大小的存储块构成的,不占用额外的逻辑资源,并且速度快。分布式RAM:由LUT配置成的内部存储器
2023-10-10 11:31:09 1058
原创 FPGA面试题(2)
一.同步复位和异步复位同步复位:当clk有效时,复位才有效。优点:有利于时序分析,防止毛刺现象出现。缺点:复位信号必须大于时钟周期,大部分逻辑器件中D触发器都只有异步复位端口,需要在寄存器数据输入插入组合逻辑,需要考虑组合逻辑延迟因素。异步复位:复位信号与clk无关,只与自身输入信号有关。优点:无需插入组合逻辑,省资源,设计相对简单。缺点:可能不满足建立时间和保持时间要求,容易出现亚稳态,易受毛刺影响。二.同步电路和异步电路同步电路:存储电路中所有触发器的时钟端都接入同一个时钟脉冲源,
2023-10-10 09:51:22 310
原创 FPGA面试题(1)
一.FPGA内部结构可编程I/OPLL锁相环(其作用为:分频,倍频,相位调节、占空比)逻辑阵列块LAB(每个LAB由16个逻辑器件LE组成,每个LE包括一个查找表LUT和一个RAM构成。Cyclone IV EP4CE6F17C8中包含6272(392 * 16)个LE)嵌入式存储单元(M9K)嵌入式乘法单元(DSP:数字信号处理)可编程物理连线二.查找表结构&原理结构:LUT本质是一种RAM。FPGA使用4输入LUT,所以每一个LUT可以视为是一个有4位地址线的RAM。原理
2023-10-10 08:49:26 346
原创 SPI读写FLASH
存储结构:FLASH包括32个扇区(sector),每个扇区包含256个页(page),每个页包含256个字节(byte)。因此,每个字节的存储地址需要8bit的扇区地址+8bit的页地址+8bit的字节地址才能定位。指令集常用的指令有WREN(读使能),RDID(读ID),RDSR(读状态寄存器),READ(读数据),PP(页编程),SE(扇区擦除)时间满足条件:页写,全擦除,扇区擦除指令执行完成需要一定的时间指令与指令之间需要相隔一段时间。
2023-10-08 18:48:20 566
原创 AHT10读取温湿度
由图可知我们不同状态的命令不同,需要符合起始位/写数据/读数据/停止位/校验位,对应的关系存在如下情况。(iic_interface可直接用前文IIC读写EEPROM一文的接口模块)读数据和写数据时 8bit,起始位,校验位,停止位都是 1bit。温度测量命令同理,读数据更改为 7 个字节,也就是循环 7 次。其中用到了仿真模型,完整工程可以通过。因为图片太长,分两部分截图。
2023-09-29 16:28:35 571 1
原创 FPGA实现滤波器
根据如图的电路图实现滤波器功能其中h[0]–>h[11]为抽头系数输入的波形数据详情可见。其中包含coe_q.txt 为抽头系数文件,wave_bin.txt 为输入的数据波形文件,仿真.png 为我们最终要实现的效果。
2023-09-29 14:10:09 201
原创 IIC读写EEPROM
EEPROM的全称是“电可擦除可编程只读存储器”,即Electrically Erasable Programmable Read-Only Memory。本项目中使用的是24LC04B器件ID(可以视为是7’b1010000加上一位的0/1)单字节写页写当前地址读随机地址读顺序地址读24LC04B存储空间包括2个block,每个block中包含256个字节。
2023-09-23 16:47:50 269
原创 DS18B20读取温度实验
DS18B20数字温度传感器提供9-12bit的摄氏温度测量精度和一个用户可编程的非易失性且具有过温和低温报警功能。采用单总线接口方式通信每个设备内部ROM上烧写了一个独一无二的序列号可以由数据线供电而不需要外部电源供电测量范围在-55℃~125℃在温度范围超过-10摄氏度至85摄氏度之外时还具有±0.5℃的精度。
2023-08-26 14:21:41 946 1
原创 uart串口环回(加校验位)
根据传输的数据计算出一个校验位和我们传输的校验位做对比。使能信号需要保证在传输的校验位和计算的校验位相等时才有效。根据无校验位,奇校验位,偶校验位三种情况,需要改变状态转移图。
2023-08-24 15:38:33 1285
原创 uart串口环回(加FIFO)
UART(universal asynchronous receiver-transmitter)是一种采用异步串行通信方式的通用异步收发传输器。定义如上,那么出现问题了,什么叫异步串行通信?请关注下文原理。
2023-08-24 10:58:35 2203
原创 ws2812动态滚动显示图片
如图所示:第一帧为红色框,显示第一个8 * 8的图像,然后向右平移,显示绿色框内的第二个8 * 8的图像…到最后显示紫色框内最后一个8 * 8的图像。可以设置帧与帧之间延时500ms,在视觉上就得到了滚动的状态。3.rom核中地址值的考量,(横坐标+帧数)取余32+纵坐标乘32。2.加入一个状态,在此状态计数500ms,跳转到显示下一帧。4.rom核的数据深度需要调整,不然会溢出,影响最后显示。1.在静态基础上加入帧计数器。
2023-08-15 21:04:42 379
原创 ws2812静态显示图片
我们可以理解为共64个位置,每个位置需要24bit的数据,我们生成64*24bit的数据,这些数据每经历一个位置,就把这个位置给足24bit的数据,然后再经历下一个位置,走完64个位置也就把数据给完了。上图中,高低电平时间给的是范围,那么我们可以根据范围内取合适的值,例如T0H取300ns,T0L取900ns,T1H取600ns,T1L取600ns(保证T0H+T0L=T1H+T1L)可以读出mif文件的数据,这里rom用在ws2812_ctrl模块中。注意:要将mif文件保存至工程文件夹prj文件夹下!
2023-08-15 19:12:33 555
原创 综合之自动售货机2.0
1.初始状态按key[0]开始购物,按key[3]进入管理员模式。2.开始购物后选择商品,按key[0]切换商品。3.选择商品后按key[1]选择商品数量,按key[1]加一,按key[2]减一。4.选择商品和数量后,可以按key[0]返回继续购物,也可以按key[3]现在结算。5.初始状态按key[3],输入正确的密码进入管理员模式。6.进入管理员模式后可以选择商品,按key[0]切换商品。7.选择商品后按key[3]可以修改单价,按按key[1]加一,按key[2]减一。
2023-08-14 19:42:49 272
原创 EP4CE6F17C8程序固化
1.File->Convert Programming Files2.配置如下3.加入.sof文件生成.jic文件4.Programming界面delete原本的sof文件5.加入.jic文件6.勾选Programming Configure再下载即可
2023-08-12 15:38:36 180
原创 IP核之RAM
RAM(Random Access Memory),即随机存取存储器,可以将数据写入地址,可以随时从任意指定地址读取数据。时钟频率决定了读取速度。
2023-08-12 10:52:11 1407
原创 IP核之PLL
IP,知识产权。其可分为三种:软核,固核,硬核PLL(锁相环),其功能有:时钟分频,时钟倍频,调节相位,调节占空比。PLL核就是一种硬核。PLL原理是一个反馈电路,原理如下图:我们使用的EP4CEF17C8芯片有两个PLL,每个PLL可以有5路输出注意:!!!FPGA内部生成的信号不能控制PLL!!!
2023-08-07 19:55:01 499
原创 蜂鸣器播放《粉刷匠》
每两个“ | ”之间设定为1s,那么每一拍设定为250ms,有一些空拍,我们将空拍设定为保持上一个音符的频率。于是我们可以对应每一个音符应该是DO,RE,MI,FA,SO,LA,SI中的哪一个。我们想播放《粉刷匠》,需要得到它的乐谱如下。
2023-08-07 17:22:08 324
原创 改进电子门锁并加入数码管
前文已经发过电子门锁初步设计,但是后来发现有缺陷:多错误几次就很容易猜到正确的密码,有损安全性,于是本文做改进设计,并补充加入数码管显示键入密码功能。
2023-08-02 20:16:50 57
原创 动态数码管
2.考察状态:确定对应的sel应该哪个亮;并data赋给对应的值。3.考察data:data值对应真值表给seg赋值。1.flag状态转移条件:计满1s。
2023-07-30 13:51:49 126 1
原创 状态机点亮流水灯
有限状态机(Finite State Machine, FSM),又称有限状态自动机,简称状态机,是指在有限个状态之间按照一定规律转换的时序电路。有限状态机主要包括:米勒状态机和摩尔状态机。其中摩尔状态机输出只依赖于当前状态而与输入无关。米勒状态机不仅依赖于当前状态,还取决于该状态的输入条件。
2023-07-27 20:26:17 337 1
原创 按键消抖补充
该时序图实现的是一位按键的情况。在使用消抖后按键信号的时候,可以在顶层调用消抖模块多次;也可以写多位按键消抖情况。1、4位按键信号赋值需要4位位宽的二进制数。5、如何赋值可以实现输出的脉冲信号。2、上升沿和下降沿如何求值。原理:仍然是采用延时方法。
2023-07-27 19:25:06 195 1
原创 按键消抖&蜂鸣器
由于按键的物理特性,芯片会识别信号出现多次高低电平变化,会出现如下图的未消抖信号。影响我们的整个项目。所以我们在使用按键时需要消抖,以确保按键被按下时只检测到一次低电平,我们期望的效果如下。根据延时计数器获取状态(是否抖动)的按键信号。
2023-07-26 20:58:00 681 1
原创 PWM呼吸灯
PWM就是在合适的信号频率下,通过一个周期里改变占空比的方式来改变输出的有效电压。频率很高时,看不到闪烁,占空比越大,LED越亮;频率很低时,可看到闪烁,占空比越大,LED越亮。
2023-07-24 19:37:47 325
原创 时序逻辑基础之D触发器&分频器
由图可知Q值不仅与D有关,同时需要考虑到clk上升沿到来后有效。仍然以5分频和8分频为例,探究奇数和偶数的仿真效果。D触发器模拟波形图如下。
2023-07-22 16:45:03 5170
原创 组合逻辑基础之全加器
全加器也是由半加器进而实现的,不仅可以用verilog代码实现,也可以用模块图实现。N位全加器可以成为一个模板,需要不同位数的全加器只需要修改N值即可,仿真文件的修改需要对应我们修改的N值来定义激励信号和输出信号的位宽。
2023-07-22 15:50:41 289
原创 多路选择器
使用组合逻辑电路,always语句中需使用reg类型,所以先定义一个reg类型的out_r在always语句中使用,最后再用assign out = out_r实现同步。回到wave界面对波形crtl+A,再ctrl+G可以对信号进行分类。再点击Restart和Run all,即可得到最终的信号波形。Quartus上面的菜单栏中,如图中框1是全编译,如图中框2为分析综合。仅分析综合可以实现语法检错,并且比全编译要更快一些。四个输入信号,一个输入的选择信号,一个输出信号。观测例化模块波形按下图操作。
2023-07-20 19:51:55 4539
原创 LED流水灯
打开Quartus后选择File->New Project Wizard或者直接点击主页上的New Project Wizard。笔者个人习惯先在vscode中写好代码后建立项目,因此此处我直接添加的代码文件。选择工程路径(放在3.1中新建文件夹的prj子文件夹中)以及为工程命名。右键左侧芯片EP4CE6F17C8后点击Device。点击Device and Pin Options。引脚配置如下(注意编译通过后方可配置引脚)选择芯片EP4CE6F17C8。
2023-07-19 19:05:06 93
原创 verilog基本语法
逻辑 X:表示未知,有可能是高电平,也有可能是低电平;逻辑 Z:表示高阻态,外部没有激励信号是一个悬空状态。逻辑 0:表示低电平,也就是对应我们电路的 GND;逻辑 1:表示高电平,也就是对应我们电路的 VCC;
2023-07-19 19:01:13 207
AHT10读取温湿度工程
2023-09-29
FPGA实现滤波器资源
2023-09-29
ws2812b实现静态点亮图片和动态滚动播放图片
2023-08-15
FPGA实现自动售货机
2023-08-12
FPGA实现多功能电子时钟(时钟+闹钟+设置时钟+设置闹钟+蜂鸣器)
2023-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人