自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第八章)密码锁实验例程

SW0~SW3设置2位数密码,每两位设置一位密码,SW[1:0]设置第一位数据对应的二进制数值,SW[3:2]设置第二位数据对应的二进制数值。S2作为确认按键,按下S2,输入的密码与设置的密码比对,如相同则显示8888,若不同则显示7777。当开锁密码与设定密码相同时开锁成功,数码管显示8888,密码错误时显示7777。S1-S0按键作为密码输入,按键按一下数字加1,数字由数码管显示,数字在0,1,2,3中循环。2、调整固定序列,通过轻触按键S1~S0调整输入密码,数码管实时显示输入密码;

2024-05-22 16:12:31 246

原创 【盘古 PGX-MINI 4K 开发板】熟悉Compa系列CPLD器件

作为时钟输入,这些管脚用来驱动时钟线,当这些管脚不需要驱动时钟线时,也可以作为通用I/O使用。包括有专用存储模块(DRM),多样的片上时钟资源,多功能的I/O资源,丰富的布线资源,并集成了SPI、I2C和定时器计数器等硬核。PLL支持多个时钟输出,每个时钟输出具有独立的分频器,支持1-128分频;PLL还支持精度为16位的小数分频时钟输出,可以让用户产生非整数的输出时钟。PLL是CPLD提供时钟资源的核心子系统,主要功能有时钟频率综合,降低时钟偏移,调整时钟相位以及低功耗管理等。

2024-05-16 15:10:16 629

原创 【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第七章)序列检测器实验例程

3、S2为序列检测开始和序列检测结束按键,初次按下S2,开始检测,此时LED2也会被点亮,显示当前状态,再按一下停止检测,LED2熄灭;由拨码开关提供待检测序列,接收按键控制模块传递过来的特定序列与检测使能信号控制与待检测序列进行比较;2、S1-S0按键作为特定信号输入序列,按键按下后对应的LED灯会亮起,表示对应位为1,再按一下会熄灭,表示对应位为0;4、按下轻触按键S2,退出检测,查看数码管显示的统计结果,重新执行前面三个步骤;左侧数码管显示的结果为LED[1:0]在SW[7:4]中出现的次数;

2024-05-11 18:32:08 253

原创 【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第六章)串口收发实验例程

Uart_data_gen模块产生一个间隔1S钟的触发信号,同时输出第一个发送字节,等待uart_tx输出的busy下降沿到来,获知uart_tx进入空闲状态可发送下一个byte时,再次给出串口发送的触发脉冲,并输出下一个字节;2.接收数据提取位置,前面讲发射的时候都是在波特周期开始的位置变更数据,接收数据提取时需要在rx稳定时刻取数,去波特周期的中间位置取数;从原理上分析波特率的计算是一个计数器,发射和接收可复用,我们在设计时为保持TX,或RX的完整性,故将波特周期计数器集成在各自模块内部;

2024-05-07 17:58:56 913

原创 【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第五章)数码管动态显示实验例程

按键S2控制左侧起第三个数码管,按一下数字加1,从0到9;PGX-Nano开发板为数码管的位选信号配置了驱动2N5401,其中当输入给2N5401低电平时,2N5401会输出高电平,而2N5401输入端与FPGA相连,2N5401的输出与数码管位选信号相连,因此FPGA输出低电平时,对应数码管位选信号有效。在设计数码管动态显示时,对于人眼观测来说,频率越高越好,但是数码管中的LED灯珠点亮对于高电平(关注发光响应时间)是有要求的,故而不是越高越好,取一个适当的刷新频率即可,实验中我们取刷新率为10KHz。

2024-04-30 18:06:07 865

原创 【紫光同创盘古PGX-Lite 7K教程】——(盘古PGX-Lite 7K开发板/PGC7KD-6IMBG256第八章)串口收发实验例程

PGX-Lite 7K 开发板是一套基于紫光同创 compa 系列 PGC7KD-6IMBG256 芯片为核心的开 发套件,支持主自加载双启动功能,集成板载 jtag 调试接口,支持 Type-C 转串口通信,同 时预留非常丰富的扩展 IO、数码管、按键、led 灯等硬件资源,在提供用户基础的硬件环境 基础上,满足用户更加灵活的需求。从原理上分析波特率的计算是一个计数器,发射和接收可复用,我们在设计 时为保持 TX,或 RX 的完整性,故将波特周期计数器集成在各自模块内部;

2024-04-30 17:08:37 770

原创 【紫光同创盘古PGX-MINI-4K教程】——(盘古PGX-MINI-4K开发板/PGC4KD-6ILPG144第八章)​数字钟实验例程

数码管显示模块相比前一个实验需要增加一个功能:当进入校准模式时数码 管的校准位需要进行闪烁,故而引入一个 1S 的周期信号,在 1S 时间内 0.5s 正 常点亮,0.5s 不点亮使得数码管闪烁;按轻触按键 KEY0,进入校准模式,第一次按下 KEY1,进入分钟低位计数 校准调节,之后再次按下 KEY0,校准位将会往左移动 1 位,直到校准位为时钟 计数高位时,按下 KEY0 将推出校准模式,进入正常计数模式;2、 计时校准功能:通过对应按键控制调整分钟计时与时钟计时,调整的过程中对应位需要闪烁;

2024-04-29 18:28:12 377

原创 【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第四章)静态数码管显示实验例程

能并行显示四位数的数码管称为四位数码管。PGX-Nano开发板为数码管的位选信号配置了驱动2N5401,其中当输入给2N5401低电平时,2N5401会输出高电平,而2N5401输入端与FPGA相连,2N5401的输出与数码管位选信号相连,因此FPGA输出低电平时,对应数码管位选信号有效。共阳极数码管上每组8段发光二极管阳极连接在一起,阳极由位选信号控制,阴极由段选信号控制,当提供位选信号高电平,段选信号低电平时,发光二极管被点亮。段选:段选由8根led灯组成,分别为a,b,c,d,e,f,g,dp;

2024-04-29 14:43:11 567

原创 【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第三章)键控流水灯实验例程

子模块的设计主要是依据功能定位,确定输入输出,再做具体的设计;前后抖动时间约为5~10ms,取按键抖动区间开始标识,持续10-20ms后标识归零,在抖动区间内输出保持,非消抖区间,按键状态输出。统计按键按下次数,由于流水灯模式是3种,计数统计范围是0~2循环,将计数结果传递给LED控制模块;3种流水灯模式有按键传递过来的计数控制切换,每一个LED的显示状态完整后进入下一模式初始化。输入信号:时钟,流水灯模式控制信号;每按下一次KEY1,LED灯状态切换一次,总共三种LED模式供循环切换;

2024-04-28 17:44:33 677

原创 【紫光同创盘古PGX-MINI-4K教程】——(盘古PGX-MINI-4K开发板/PGC4KD-6ILPG144第七章)​密码锁实验例程

SW3~SW0 设置 2 位数密码,每两位设置一位密码,SW[1:0]设置第一位数 据对应的二进制数值,SW[3:2]设置第二位数据对应的二进制数值。KEY2 作为确认按键,按下 KEY2,输入的密码与设置的密码比对,如相同 则显示 8888,若不同则显示 7777。KEY1-KEY0 作为密码输入,按键按一下数字加 1,数字由数码管显示,数 字在 0,1,2,3 中循环。2、 调整固定序列,通过轻触按键 KEY1~KEY0 调整输入密码,数码管实时 显示输入密码;3、实时 显示 2 位输入密码;

2024-04-24 16:09:43 901

原创 【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第二章)按键消抖实验例程

集成下载器芯片,极大的便利 了用户的使用。机械式弹片按键,在按下或松开时会有机械抖动,导致在按下或松开时按键的状态不稳定,在快速的变化,在使用按键输入信号时如果采集了抖动时的状态,会导致工程出现不可控的变化,故而我们需要将这段时间的抖动信号给滤除掉,故此实验称之为按键消抖;前后抖动时间约为5~10ms,取按键抖动区间开始标识,持续10-20ms后标识归零,在抖动区间内输出保持,非消抖区间,按键状态输出。2、此时点击PB0,观察到消抖前按键信号有明显的抖动,消抖后按键信号保持稳定。对按键PB0进行按键消抖。

2024-04-24 15:28:57 161

原创 【紫光同创盘古PGX-Lite 7K教程】——(盘古PGX-Lite 7K开发板/PGC7KD-6IMBG256第七章)数字钟实验例程

数码管显示模块相比前一个实验需要增加一个功能:当进入校准模式时数码 管的校准位需要进行闪烁,故而引入一个 1S 的周期信号,在 1S 时间内 0.5s 正 常点亮,0.5s 不点亮使得数码管闪烁;按轻触按键 KEY0,进入校准模式,第一次按下 KEY1,进入分钟低位计数 校准调节,之后再次按下 KEY0,校准位将会往左移动 1 位,直到校准位为时钟 计数高位时,按下 KEY0 将推出校准模式,进入正常计数模式;2、计时校准功能:通过对应按键控制调整分钟计时与时钟计时,调整的过程中对应位需要闪烁;

2024-04-24 14:27:39 710

原创 【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第一章)LED灯闪烁实验例程

当计数器计数到25'd24_999_999时,计数过程包含了从0~26'd2499_9999的时钟周期,故而总时长时25’d25_000_000×������������;复位设计是低电平有效,PGX-Nano开发板提供了5个用户按键(PB0~PB4),按键低电平有效,但按键按下时,IO上的输入电压为低;在module之前添加文件头,文件头中包含信息有:公司,作者,时间,设计名,工程名,模块名,目标器件,EDA工具(版本),模块描述,版本描述(修改描述)等信息;通常的时,分,秒的计时进位大家应该不陌生;

2024-04-19 18:30:20 1011

原创 【紫光同创盘古PGX-Lite 7K教程】——(盘古PGX-Lite 7K开发板/PGC7KD-6IMBG256第六章)密码锁实验例程

PGX-Lite 7K 开发板是一套基于紫光同创 compa 系列 PGC7KD-6IMBG256 芯片为核心的开 发套件,支持主自加载双启动功能,集成板载 jtag 调试接口,支持 Type-C 转串口通信,同 时预留非常丰富的扩展 IO、数码管、按键、led 灯等硬件资源,在提供用户基础的硬件环境 基础上,满足用户更加灵活的需求。所以密码是 由 0,1,2,3 组成的四位数。KEY1-KEY0 作为密码输入,按键按一下数字加 1,数字由数码管显示,数 字在 0,1,2,3 中循环。

2024-04-18 18:32:53 765

原创 【紫光同创盘古PGX-Lite 7K教程】——(盘古PGX-Lite 7K开发板/PGC7KD-6IMBG256第五章)序列检测器实验例程

PGX-Lite 7K 开发板是一套基于紫光同创 compa 系列 PGC7KD-6IMBG256 芯片为核心的开 发套件,支持主自加载双启动功能,集成板载 jtag 调试接口,支持 Type-C 转串口通信,同 时预留非常丰富的扩展 IO、数码管、按键、led 灯等硬件资源,在提供用户基础的硬件环境 基础上,满足用户更加灵活的需求。3、 K4 为序列检测开始和序列检测结束按键,初次按下 KEY4,开始检测, 此时 LED4 也会被点亮,显示当前状态,再按一下停止检测,LED4 熄灭;

2024-04-10 18:41:53 749

原创 【紫光同创盘古PGX-Lite 7K教程】——(盘古PGX-Lite 7K开发板/PGC7KD-6IMBG256第四章)数码管动态显示实验例程

当 LED_BIT1 为低电平时,A4 为高电平,对应位数码管 亮,当 LED_BIT2 为低电平时,A3 为高电平,对应位数码管亮,当 LED_BIT3 为低电平时,A2 为高电平,对应位数码管亮,当 LED_BIT4 为低电平时,A1 为高电平,对应位数码管亮。八个数码管显示不同的数字,按键 K0 控制右侧起第一个数码管,按一下 数字加 1,从 0 到 9,按键 K1 控制右侧起第二个数码管,按一下数字加 1, 从 0 到 9,按键 K2 控制右侧起第三个数码管、依次类推。

2024-03-27 16:18:44 1027

原创 【紫光同创盘古PGX-MINI-4K教程】——(盘古PGX-MINI-4K开发板/PGC4KD-6ILPG144第五章)​序列检测器实验例程

盘古 PGX-MINI 4K 开发板是一套基于紫光同创 compa 系列 PGC4KD-6ILPG144 芯片为核心的开发套件,支持主自加载双启动功能,集成板载 jtag 调试接口, 预留两组 20PIN 扩展 IO、数码管、按键、led 灯等硬件资源,为用户提供基本的 开发环境。3、 K3 为序列检测开始和序列检测结束按键,初次按下 KEY3,开始检测, 此时 LED3 也会被点亮,显示当前状态,再按一下停止检测,LED3 熄灭;数码管显示的结果为 LED[1:0]在 SW[3:0]中出现的次数;

2024-03-26 14:33:08 991

原创 【紫光同创盘古PGX-MINI-4K教程】——(盘古PGX-MINI-4K开发板/PGC4KD-6ILPG144第四章)​数码管动态显示实验例程

当 LED_BIT1 为低电平时,A4 为高电平,对应位数 码管亮,当 LED_BIT2 为低电平时,A3 为高电平,对应位数码管亮,当 LED_BIT3 为低电平时,A2 为高电平,对应位数码管亮,当 LED_BIT4 为低电平时,A1 为高电平,对应位数码管亮。将 12 脚配置高电平,其他位选脚配置(6,8,9)低 电平;如果数码管是共阴极, 给高电平 1,相应的火柴就会被点亮,反之如果是共阳极,相应的火柴就会被点 亮。段选:段选由 8 根 led 灯组成,分别为 a,b,c,d,e,f,g,dp;

2024-03-21 15:05:04 920

原创 【紫光同创盘古PGX-Lite 7K教程】——(盘古PGX-Lite 7K开发板/PGC7KD-6IMBG256第三章)键控彩灯实验例程

机械式弹片按键,在按下或松开时会有机械抖动,导致在按下或松开时按键 的状态不稳定,在快速的变化,在使用按键输入信号时如果采集了抖动时的状态, 会导致工程运行出现不可控的变化,故而我们需要将这段时间的抖动信号给滤除 掉,故此实验称之为按键消抖;前后抖动时间约为 5~10ms,前后抖动共在 20ms,以最大 20ms 做设计,使 用计数到 N 归零的计数器来做时间刻度计时;上电后下载完固件,默认 LD1~LD4 流水,每按下一次 KEY0,彩灯状态切 换一次,总共 8 种状态可供循环切换;

2024-03-19 10:21:08 762

原创 【紫光同创盘古PGX-Lite 7K教程】——(盘古PGX-Lite 7K开发板/PGC7KD-6IMBG256第二章)​LED 流水灯实验例程

PGX-Lite 7K 开发板是一套基于紫光同创 compa 系列 PGC7KD-6IMBG256 芯片为核心的开 发套件,支持主自加载双启动功能,集成板载 jtag 调试接口,支持 Type-C 转串口通信,同 时预留非常丰富的扩展 IO、数码管、按键、led 灯等硬件资源,在提供用户基础的硬件环境 基础上,满足用户更加灵活的需求。8 个 led 依次被点亮,后一个灯被点亮时前一个灯熄灭,依次往返,让亮起 来的 led 灯像是在 8 个 led 灯上流动起来一样,故而此实验称之为流水灯。

2024-03-11 16:21:03 362

原创 【紫光同创盘古PGX-Lite 7K教程】——(盘古PGX-Lite 7K开发板/PGC7KD-6IMBG256第一章)​控制 LED 灯实验例程

PGX-Lite 7K 开发板是一套基于紫光同创 compa 系列 PGC7KD-6IMBG256 芯片为核心的开 发套件,支持主自加载双启动功能,集成板载 jtag 调试接口,支持 Type-C 转串口通信,同 时预留非常丰富的扩展 IO、数码管、按键、led 灯等硬件资源,在提供用户基础的硬件环境 基础上,满足用户更加灵活的需求。在 module 之前添加文件头,文件头中包含信息有:公司,作者,时间,设 计名,工程名,模块名,目标器件,EDA 工具(版本),模块描述,版本描述(修改描述)等信息;

2024-03-08 16:55:40 1159

原创 【紫光同创盘古PGX-MINI-4K教程】——(盘古PGX-MINI-4K开发板/PGC4KD-6ILPG144第三章)​键控彩灯实验例程

机械式弹片按键,在按下或松开时会有机械抖动,导致在按下或松开时按键 的状态不稳定,在按键信号状态快速的变化时,使用按键作为输入信号,如果采 集了按键抖动时的状态,会导致工程运行出现不可控的变化,故而我们需要将这 段时间的抖动信号给滤除掉,故此实验称之为按键消抖;前后抖动时间约为 5~10ms,前后抖动共在 20ms,以最大 20ms 做设计,使 用计数到 N 归零的计数器来做时间刻度计时;统计按键按下次数,由于彩灯模式是 8 种,计数统计范 围是 0~7 循环,将计数结果传递给 LD 控制模块;

2024-03-08 16:14:25 788 1

原创 【紫光同创盘古PGX-MINI-4K教程】——(盘古PGX-MINI-4K开发板/PGC4KD-6ILPG144第二章)​LED 流水灯实验例程

盘古 PGX-MINI 4K 开发板是一套基于紫光同创 compa 系列 PGC4KD-6ILPG144 芯片为核心的开发套件,支持主自加载双启动功能,集成板载 jtag 调试接口, 预留两组 20PIN 扩展 IO、数码管、按键、led 灯等硬件资源,为用户提供基本的 开发环境。8 个 led 依次被点亮,后一个灯被点亮时前一个灯熄灭,依次往返,让亮起来的 led 灯像是在 8 个 led 灯上流动起来一样,故而此实验称之为流水灯。相比上一个 LED 闪烁的实现,只需要改变 LED 的状态。

2024-03-06 18:19:28 518

原创 【紫光同创盘古PGX-MINI-4K教程】——(盘古PGX-MINI-4K开发板/PGC4KD-6ILPG144第一章)控制 LED 灯实验例程

外部输入时钟为 50MHz 时钟周期为 20n(s 在 verilog 设计中的计数器的计时 原理基本上是一致的,确认输入时钟周期,目标计时时间后可得到计数器的计数 值到达多少后可得到计时宽度);在 module 之前添加文件头,文件头中包含信息有:公司,作者,时间,设 计名,工程名,模块名,目标器件,EDA 工具(版本),模块描述,版本描述(修改描述)等信息;本实验输入时钟和复位即可,输出是 控制 LED 的亮灭,盘古 PGX-MINI 4K 板卡上共有 8 个 LED,故而输出 8bit 位宽的信号;

2024-03-04 16:16:40 934

原创 【紫光同创国产FPGA教程】——(盘古EU22K开发板/PGL22G第四章)数字时钟实验例程

数码管显示模块相比前一个实验需要增加一个功能:当进入校准模式时数码管的校准位需要进行闪烁,故而引入一个1S的周期信号,在1S时间内0.5s正常点亮,0.5s不点亮使得数码管闪烁;按轻触按键KEY1,进入校准模式,第一次按下KEY1,进入分钟低位计数校准调节,之后再次按下KEY1,校准位将会往左移动1位,直到校准位为时钟计数高位时,按下KEY1将推出校准模式,进入正常计数模式;此功能的实现由两个细节功能实现:1S计时控制,与前面的实验中需要计时功能模块实现方式一致,注意此处计时的周期为1S即可;

2024-02-23 18:08:45 1273

原创 【紫光同创国产FPGA教程】——(盘古EU22K开发板/PGL22G第三章)数码管静态显示实验例程

如果数码管是共阴极,给高电平1即可相应点亮,反之如果是共阳极,给低电平0即可相应点亮。由于是数码管静态显示,故只需要将四位八段数码管的四个位选信号全部置高,即可使得四个数码管全亮,然后在1hz的时钟下产生一个0~9的计数器,将这个计数器的值作为数码管显示的值,即可循环显示数字0~9。例:如果我们只点亮第一位的A:需要将11脚配置高电平,其他段选(1-5,7,10,11)配置低电平;将12脚配置低电平,其他位选脚配置(6,8,9)高电平;段选:段选由8根led灯组成,分别为a,b,c,d,e,f,g,dp;

2024-02-21 11:40:10 952

原创 【紫光同创国产FPGA教程】——(盘古EU22K开发板/PGL22G第二章)键控流水灯实验例程

一个是构造条件 generate 结构,用来在多个块之间最多选择一个代码块,条件 generate 结构包含 if--generate 结构和 case--generate 形式。还有一个是用来断言。子模块的设计主要是依据功能定位,确定输入输出,再做具体的设计;前后抖动时间约为 5~10ms,取按键抖动区间开始标识,持续 10-20ms 后标识归零,在抖 动区间内输出保持,非消抖区间,按键状态输出。统计按键按下次数,由于流水灯模式是 3 种,计数统计范围是 0~2循环,将计数结果传递给 LED 控制模块;

2024-01-05 14:47:31 1347

原创 【紫光同创国产FPGA教程】——(盘古EU22K开发板/PGL22G第一章)LED流水灯实验例程

当计数器计数到 25'd24_999_999 时,计数过程包含了从 0~26'd2499_9999 的时钟周期, 故而总时长时 25’d25_000_000 ×?在 module 之前添加文件头,文件头中包含信息有:公司,作者,时间,设计名,工程名, 模块名,目标器件,EDA 工具(版本),模块描述,版本描述(修改描述)等信息;单个状态计数 25_000_000,即 24_999_999 = 25’b1_0111_1101_0111_1000_0011_1111;IO 输出状态只有两种:1 或 0;

2024-01-02 16:45:41 1225 1

原创 【重磅新品】小眼睛科技推出紫光同创盘古系列FPGA开发板套件,盘古200K开发板,紫光同创PG2L200H,Logos2系列

紫光同创Logos2系列采用先进成熟工艺,提供丰富的片上资源和高性能接口,支持Serdes\PCle\Gen2\DDR3等特性,相较于第一代Logos,性能提升50%,功耗降低40%,适用于大批量、低功耗、高性能的应用需求,在通信、视频图像处理、工业控制、医疗、消费电子等领域应该广泛。盘古200K核心板是基于紫光同创Logos2系列(PG2L200H-FBB484)开发的全新国产高性能核心板,具有高数据带宽、高存储容量的特点,适用于视频图像处理、高速数据采集、工业控制等多元应用场景。

2023-12-29 15:21:03 1081

原创 【紫光同创PCIE教程】——DMA读写/PIO内存读写TLP解析

对于Mwr的Header,对着协议格式分析,很容易知道第一个Header地址(32bit)是df20_2000,携带数据长度Length(以DW为单位)为1,报文类型[Fmt,Type]=0x40(表明为3DW Mwr),字节使能[last DW BE,first DW BE]=0x0f,其他信息对座入号就行了,特别注意的是TLP是大端格式,[Fmt,Type]=axis_master_tdata[31:24],实际代表的是0Byte的位置,其他DW数据亦如此。主机的3次MWr TLP是什么呢?

2023-12-01 18:32:28 1285

原创 【紫光同创PCIE教程】——使用官方驱动在Windows下进行DMA读写操作/PIO读写操作

紫光同创官方主推的是在linux系统下开发驱动和上层软件,相应地,官方提供了在linux一个基于GTK+2.0的PCIE测试平台,该平台能够很好去操作官方生成的例程。官方也提供了一个Windows的驱动例程,该例程能够完成PCIE的DMA读写操作和PIO内存读写操作,但是该驱动并未完全适配IP生成的官方例程,官方提供另一份的FPGA的工程与之适配。最后简单声明一下,更改驱动只是适配紫光同创IP生成的例程,把IP自带例程的DMA机制通信成功起来,当然也可以去更改IP生成例程DMA的逻辑设计来适配原来的驱动。

2023-11-30 18:21:50 960 1

原创 【合集二】每日一练30讲,轻松掌握Verilog语法

可通过仿真验证,在第五个时钟上升沿处,#(n)的写法,modelsim认为test信号已经为高电平,repeat(n)@(posedge clk)的写法认为此时test信号仍为低电平,在信号“打拍”识别信号边沿的仿真过程中注意两种写法的细节区别。用case语句实现8段数码管对应数字显示的控制,4bit的dig信号表示应显示的数字(0~9),8bit的seg信号表示数码管8段led的控制,且数码管为共阳数码管,[7:0]seg从高位到低位分别表示DP、A、B、C、D、E、F、G;

2023-11-29 11:56:31 132

原创 【合集一】每日一练30讲,轻松掌握Verilog语法

data_in的接收顺序为高位在前,所以使用位拼接符将每次接收到的data_in放在data[7:0]的最低位,同时将原data[7:0]的低六位即data[6:0]往高位移一位,先接收的数据会逐步移位到高位,后接收的数据放在低位,接收完8bit数据后data[7:0]就是最终的结果。按位异或,^a等效于a[7]^a[6]^a[5]^a[4]^a[3]^a[2]^a[1]^a[0],二进制中1的个数为奇数个的时候结果为1,二进制中11的个数为偶数个的时候结果为0。定义变量reg [7:0]a;

2023-11-24 17:55:58 119

原创 【紫光同创PCIE教程】——使用WinDriver驱动紫光PCIE

紫光的logos系列的PGL50H/PGL100H、logos-2全系列都集成gen2×4的PCIE硬核,且官方也提供了例程。紫光的PCIE用起来还是挺方便的,生成IP的同时生成了对应的PCIE example例程。紫光的PCIE IP虽然没有像xilinx那样可以直接使用Block Design设计,但是仔细读一遍官方例程的DMA模块,进而开发自己的东西,还是能够很好用起来紫光的PCIE。对于毫无PCIE知识和经验的小白来说,比如我来说,使用好紫光的PCIE还是有难度的。

2023-11-21 14:28:36 946

原创 【紫光同创国产FPGA教程】——【PGL22G第十一章】以太网传输实验例程

在接收首部的同时进行校验和的检查,将首部接收的所有数据相加,存入32位寄存器,再将高16位与低16位相加,直到高16位为0,再将低16位取反,判断其是否为0,如果是0,则检验正确,否则错误,进入IDLE状态,丢弃此帧数据,等待下次接收。工程中的arp_rx.v为ARP接收模块,实现ARP数据接收,在IDLE状态下,接收到从MAC层发来的arp_rx_req信号,进入ARP接收状态,在此状态下,提取出目的MAC地址,源MAC地址,目的IP地址,源IP地址,并判断操作码OP是请求还是应答。

2023-11-10 15:39:40 929

原创 【紫光同创国产FPGA教程】——【PGL22G第十章】DDR3读写实验例程

盘古22K开发板是基于紫光同创Logos系列PGL22G芯片设计的一款FPGA开发板,全面实现国产化方案,板载资源丰富,高容量、高带宽,外围接口丰富,不仅适用于高校教学,还可以用于实验项目、项目开发,一板多用,满足多方位的开发需求。HMIC_H IP包括了DDR Controller、DDR PHY和PLL,用户通过AXI4接口实现数据的读写,通过APB接口可配置DDR Controller内部寄存器,PLL用于产生需要的各种时钟。2.选择DDR3 IP,取名,然后点击Customize;

2023-11-10 14:51:47 779

原创 【紫光同创国产FPGA教程】——PDS安装教程

(3)为方便管理license文件,建议在PDS软件安装目录下新建一个license文件夹存放license文件。若电脑之前未安装过则需要安装此运行库后才能运行PDS,点击“是”按钮进行安装;若电脑之前已安装过此运行库则无需再次安装,点击“否”按钮不进行安装即可。(5)选择接受许可协议,点击“I Agree”按钮,进入选择安装路径选择框,如下图所示,默认安装路径为C:\pango\PDS_2022.1,建议采用默认路径。(9)点击“是”进入运行库安装界面,选择同意许可条款和条件,点击安装按钮进行安装。

2023-11-09 16:06:46 2361 2

原创 【紫光同创国产FPGA教程】——【PGL22G第九章】HDMI环路实验例程

盘古22K开发板是基于紫光同创Logos系列PGL22G芯片设计的一款FPGA开发板,全面实现国产化方案,板载资源丰富,高容量、高带宽,外围接口丰富,不仅适用于高校教学,还可以用于实验项目、项目开发,一板多用,满足多方位的开发需求。显示器上一整幅画面由多个像素点组成,实际的显示过程是很快速的把显示器的各个像素点点亮。以上图为例,每行 5 个像素点,每完成一行信号的传输,会转到下一行信号传输,直到完成第五行数据的传输,就完成了一个画面的数据传输了,一个画面也称为一场或一帧,显示每。秒中刷新的帧数称为帧率。

2023-11-09 15:29:47 643

原创 【紫光同创国产FPGA教程】【PGC1/2KG第七章】7.数字钟实验例程

数码管显示模块相比前一个实验需要增加一个功能:当进入校准模式时数码管的校准位需要进行闪烁,故而引入一个1S的周期信号,在1S时间内0.5s正常点亮,0.5s不点亮使得数码管闪烁;按轻触按键KEY1,进入校准模式,第一次按下KEY1,进入分钟低位计数校准调节,之后再次按下KEY1,校准位将会往左移动1位,直到校准位为时钟计数高位时,按下KEY1将推出校准模式,进入正常计数模式;此功能的实现由两个细节功能实现:1S计时控制,与前面的实验中需要计时功能模块实现方式一致,注意此处计时的周期为1S即可;

2023-11-08 17:49:40 359

原创 【紫光同创国产FPGA教程】【PGC1/2KG第六章】密码锁实验例程

SW1- SW4 设置 2 位数密码,每两位设置一位密码,BM[0:1]设置第一位对应 BM1和 BM2,BM[2:3]设置第二位。K4 作为确认按键,按下 K4,输入的密码与设置的密码比对,如相同则显示 8888,若不同则显示 7777。1、对4个按键输入信号均做消抖处理,2、KEY4和KEY3取下降沿输出,3、KEY[2:1]以下降沿来变更各自的输入密码,每次数字加1(0~3循环,2bit即可)KEY1-KEY2 作为密码输入,按键按一下数字加 1,数字由数码管显示,数字在 0,1,2,3 中循环。

2023-11-08 17:04:39 631

空空如也

空空如也

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

TA关注的人

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