FPGA
文章平均质量分 53
FPGA学习中的一些模块和经验以此来记录
云影点灯大师
有问题可以加企鹅群 658476482 交流
展开
-
FPGA ——Verilog语法示例
genvar i;i原创 2024-04-22 23:14:09 · 409 阅读 · 0 评论 -
FPGA模块——SPI接口设计
实际上就是加入了(芯片命令cmd + 寄存器地址) 的数据。读写操作的位数可以由spi控制器来控制,用于完成各种spi协议芯片的读写任务。user输入: valid信号 , 要输出的值。输出 :一个周期读valid , 读到的值。连续读出存在FIFO中的数据。原创 2024-02-14 15:56:53 · 942 阅读 · 0 评论 -
FPGA模块——IIC接口设计
【代码】FPGA模块——IIC接口设计。原创 2024-02-22 02:17:35 · 774 阅读 · 0 评论 -
FPGA模块——FIFO
界面12.3.4.原创 2024-02-05 20:05:44 · 446 阅读 · 0 评论 -
FPGA时序分析与时序约束(Vivado)
Tsu裕量 = (Tskew + 时钟周期 - Tsu) - (Tco + Tdelay)Thd裕量 = Tco + Tdelay - Thd。时间分析,还要考虑数据变化的建立时间与保持时间。两个时间都大于0,才能保证系统不产生亚稳态。建立时间裕量、组合逻辑延时决定时钟最高频率。后缀L的这个单元中,会生成锁存器。一级逻辑级数延迟约为0.4ns。3.查看详细计算过程。原创 2024-01-18 15:17:36 · 632 阅读 · 0 评论 -
FPGA的电平标准
TTL:三极管单端输出(FPGA板子上的IO电平标准) 几十MHZCMOS:MOS管单独输出,功耗低,翻转快(<150MHZ)LVDS:低压差分信号LVPECL:高速差分,PECL差值更大,干扰更强,速度大于LVDS当外部电平输入为LVPECL,而FPGA是LVDS时:硬件需要使用电阻网络将LVPECL转换为LVDS.TMDS:差分,针对HDMI视频传输.要求10bit 数据串行通过端口SSTL,HSTL:专用于DDR存储器的单端标准单端:信号由一根导线输出。原创 2024-01-10 13:54:42 · 1279 阅读 · 0 评论 -
FPGA——时序分析与约束(Quartus II)
通过分析FPGA内部各个存储器之间的数据和时钟传输路径,来分析数据延迟和时钟延迟的关系,保证所有寄存器都可以正确寄存数据。数据和时钟传输路径是:由EDA软件,通过针对特定器件布局布线得到的。:告知EDA软件,尽力达到约束指标。原创 2024-01-08 20:18:55 · 1668 阅读 · 0 评论 -
FPGA——VIVADO生成固化文件,掉电不丢失
vivado固化代码文件原创 2024-01-04 21:25:49 · 1941 阅读 · 0 评论 -
FPGA模块——以太网(1)MDIO读写
MDIO是串行管理接口。MAC 和 PHY 芯片有一个配置接口,即 MDIO 接口,可以配置 PHY 芯片的工作模式以及获取 PHY 芯片的若干状态信息。1.MDIO部分的接口结构2.千兆以太网在接口上兼容百兆和十兆以太网。3.YT8511 是一个千兆以太网物理层收发器,支持 1000/100/10Mbps 通信速率,该芯片内部的参数可以通过MDIO接口进行配置。原创 2023-12-20 01:32:00 · 1708 阅读 · 3 评论 -
FPGA模块——DA转换模块(AD9708类)
给DA转换器一个时钟,这个时钟是对clk时序时钟的取反。由于DA也是上升沿锁存数据,这样就保证DA模块读到的数据都是稳定了的数据。这样只是为了保证系统的稳定。由于电路接了反相器,所以对应就不一样了。用软件生成各个对应的点。原创 2023-11-27 23:49:44 · 2119 阅读 · 0 评论 -
FPGA模块——AD高速转换模块(并行输出转换的数据)
AD9280 支持输入的模拟电压范围是 0V 至 2V,0V 对应输出的数字信号为 0,2V 对应输出的数字信号为 255。而 AD9708 经外部电路后,输出的电压范围是-5V到+5V,因此在 AD9280 的模拟输入端增加电压衰减电路,使-5V到+5V 之间的电压转换成 0V 至 2V 之间。并行输入8位数据和超量程标志,要提供一个AD_clk给AD转换芯片。包括电压跟随器,反向放大器,减法器。工作电压2.7到5.5v。原创 2023-11-27 22:46:37 · 2544 阅读 · 0 评论 -
FPGA模块——SPI协议(读写FLASH)
有个输入时序的要求 开始时CS拉低等待(tSLCH要求最小5ns)再开始, 结束时CS拉高等待(tSHSL用100ns )再进行下一次操作。写使能:开始时CS拉低等待(tSLCH要求最小5ns)再开始,结束时CS拉高等待(tSHSL取100ns )再进行下一次操作。方便进行读取和局部操作。100m时钟和clk_cnt配合进行数据的读取和输出(clk_cnt有等于1和0的时候)主机和从机在时钟上升沿放入要输出的数据,在时钟下降沿读取要输入的数据。数据写多了会把之前的数据覆盖掉,要判断操作是否完成。原创 2023-11-25 17:29:40 · 4377 阅读 · 1 评论 -
FPGA模块——IIC协议(读写PCF8591)
低功耗8位CMOS数据采集设备,4路模拟输入,1路模拟输出,分时多路复用,读取数据用串型iic总线接口,最大100khz。这个芯片中是有自己要求的,但是也符合iic协议的时序。写的8位数据就是DAC转换得到的电压值,控制字节(iic中写寄存器地址位8b)读的数据就是ADC转换得到的8位数据。原创 2023-11-18 02:21:12 · 842 阅读 · 0 评论 -
FPGA模块——IIC协议(FPGA做主机操作24C64)
重点是:SCL在低电平期间SDA可以进行数据变化,而SCL在高电平期间,SDA的数据要保持稳定。当SCL和SDA为高,SDA突然拉低的时候,是起始信号(下降沿)。掉电不丢失,采用固定的读写协议。数据的稳定性和可重复擦写性突出。当SCL为高时,SDA突然拉高,是结束信号(上升沿)。有16位,24C64实际用到13位寄存器地址。要先向器件进行虚写命令,再进行读命令。电路设计,可以配置24C64的地址。不读了主机FPGA进行非应答。原创 2023-11-15 01:26:45 · 1114 阅读 · 0 评论 -
FPGA——IP核 基础操作
找到模版加入代码原创 2023-11-16 21:14:57 · 513 阅读 · 0 评论 -
FPGA模块——HDMI输出模块
HDMI解析原创 2023-11-10 02:21:13 · 489 阅读 · 0 评论 -
FPGA模块——串口发送和接收模块
【代码】FPGA模块——串口发送和接收模块。原创 2023-10-29 02:21:37 · 263 阅读 · 0 评论 -
FPGA模块——按键消抖+松手检测
作为按键模块,加入了松手检测,通过判断按键的值来检测是否松手。如果按照两个always语句来写,会出现问题。以下代码仿真没问题,实际上上板操作,灯不会亮。原创 2023-10-28 19:46:02 · 328 阅读 · 0 评论 -
FPGA ——(二)VIVADO建立工程以及编译下载
保存后可以看到引脚约束文件,也可以直接添加管脚约束文件。为了系统的稳定性,要进行周期约束。doc: 说明文件夹。prj: 工程文件夹。rtl: 代码文件夹。sim: 仿真文件夹。原创 2023-09-09 23:25:37 · 169 阅读 · 0 评论 -
FPGA ——(二)Quartus II建立工程以及编译下载
将引脚配置文件放入doc文件夹下,并且打开进行引脚配置。找到安装quartus ii软件的文件夹下面驱动的路径。rtl: 代码文件夹。这个路径存放在工程文件夹里面吧。再Add File 添加文件。par: 工程文件夹。sim: 仿真文件夹。直接点击下一步安装即可。doc: 说明文件夹。再步骤5,编译一下。原创 2023-07-21 00:11:59 · 2189 阅读 · 0 评论 -
FPGA ——(一)Verilog基本语法
基本语法原创 2023-05-17 16:55:01 · 190 阅读 · 0 评论