- 博客(61)
- 资源 (1)
- 收藏
- 关注
原创 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十五讲)
(6) days in other month:将日历中当前月份的其他日期设置,可以设置背景颜色以及字体的大小颜色和格式。(7) days in current month:将日历中当前月份的日期设置,可以设置背景颜色以及字体的大小颜色和格式。(5) today:指代码设置当天的标识状态,目前是灰色背景,在该界面中可以修改背景颜色以及字体大小和格式。o 今天(你指定的日期)有较厚的边框(使用主题的主色) - 突出显示的日期具有一定透明度的主题主颜色。(1) mian:指的是当前主体的阴影、边框与背景。
2025-06-05 16:36:10
866
原创 LVDS系列15:Xilinx Ultrascale系可编程输入延迟(五)
前面曾讲述过,TIME模式下,在BISC过程中将使用输入延迟线的多个抽头来消除接收器的第一个数据捕获器处的数据与时钟之间的插入延迟差Align_Delay,当数据经过IDELAYE3,输出数据线的延时总量是Align_Delay和DELAY_VALUE的总和,当然这里应该也要加上仿真中我们看到的一个0.144ns(不一定是该值)的固有的延时。如果需要的延时值不是非常精确,我们可以取官方提供的Align_Dealy抽头值的中间值54,作为要进行计算的Align_Dealy的抽头值;
2025-06-03 09:13:19
744
原创 手把手使用FPGA设计NVMe固态硬盘读写控制器
SSD数据存储(本课讲解方向)X86架构直接存储SSD一个是体积大,第二个通过OS操作系统操作NVME固态硬盘效率相对低,而直接使用FPGA作为主控操作NVME固态盘可以实现6-7GB/s的读写吞吐量(持续稳定传输)。难点是需要用RTL管理SSD初始化读写过程,作为更加完美的产品方便与第三方读取数据支持exFAT文件系统或者FTP远程访问数据,再或者是通过自定义软件和数据结构实现数据高效读取。此架构FPGA作为主机rootport,NVME固态盘作为从机 endpoint。
2025-05-30 15:41:17
143
原创 LVDS系列14:Xilinx Ultrascale系可编程输入延迟(四)
IDELAYE3在仿真时,只有在EN_VTC拉低,也就是原语补偿功能关闭时,输出的CNTVALUEOUT值才是一个正常值,当EN_VTC拉高,补偿功能开启时,CNTVALUEOUT输出为红色的不定态的值,出现这种情况的原因大概是因为原语的仿真没有实现补偿功能,所以仿真时补偿功能开启就无法给出一个确定值,所以显示不定态;可以看到,0ps时抽头为0,延时0.144ns,1100ps时抽头为275,延时1.244ns;8 等待1个时钟周期,将LOAD置1保持1个周期, 更新值稳定1个周期后再拉高LOAD;
2025-05-29 15:02:21
757
原创 使用DDR4控制器实现多通道数据读写(十四)
当awaddr_cnt计数到ddr4的最大地址时,将计数器awaddr_cnt归零,怎样判断awaddr_cnt计数到ddr4的最大地址呢,ddr4的地址空间是固定的,在配置ddr4 IP时地址的位宽为32位,当awaddr_cnt计数到地址的最大值-64时,并且wvalid == 1 && wready == 1,此时ddr4的地址空间已经写到最大值。在每次写突发将数据发送出去后,开始接收写响应,在写响应通道中会接收响应的通道标识bid,在响应状态为正常,bid与awid相同时,表明写响应正确。
2025-05-28 11:38:29
467
原创 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十四讲)
首先打开GUI_guider软件打开工具栏将滑动条拖拽到界面中,这里设置滑动条范围在[0,100],初始值设置为20,使用普通模式。上一期讲解了滑动条的模式以及模块划分,这一期我们将在GUI_guider中讲解具体的使用以及信号。//在该屏幕界面下创建滑动条。//设置滑动条的位置与大小。//聚焦模式下背景渐变方向。//聚焦模式下背景圆角半径。//禁用模式下背景渐变方向。//设置滑动条的背景颜色。//设置滑动条的渐变方向。//设置滑动条的圆角半径。//聚焦模式下背景透明度。//禁用模式下背景透明度。
2025-05-27 15:17:37
473
原创 使用DDR4控制器实现多通道数据读写(十三)
与写开始标志同时产生。写地址可以为0,或者为64的整数倍,因为每个数据都需要64个地址来存储,ddr4的地址空间为4GB,使用64的整数倍作为起始地址,这样当写到ddr4的最后一个地址空间时,可以将完整的512位数据存储进去。如果将随意的地址作为写起始地址,当写到ddr4的最后一个地址空间时,不足以将完整的512位数据放进去。为了可以读出写入的数据,所以产生读开始标志时刻相比写开始标志晚几个时钟周期,当计数器计数到’d999时产生读开始标志。我们的目的时将写入的数据读出来,所以读起始地址与写起始地址相同。
2025-05-23 15:15:31
973
原创 LVDS系列13:Xilinx Ultrascale系可编程输入延迟(三)
可以看到同步模式下,在抽头0变化到抽头511,变化前的数据沿延时0.2ns,变化后的第一个数据沿延时0.2ns,变化后的第二个数据沿延时2.755ns,延时在inc和ce属于有效后,再等到datain信号一个跳变沿才生效,所以变化后第二个沿延时生效;其中抽头为0时,延时0.2ns,抽头为100时,延时0.7ns,抽头为511时,延时2.755ns,这里仿真中单个抽头延时为5ps,DELAY_TYPE设置为FIXED,该模式下DELAY_VALUE参数设置的值为抽头值,范围0~511,且配置后不能更改;
2025-05-21 15:05:56
632
原创 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十三讲)
这样滑动条的起始值可以不是0,使用 lv_bar_set_start_value(bar, new_value, LV_ANIM_ON / OFF) 设置起始值。还有一种拓展模式,在某些情况下,需要将滑动条设置为仅对拖动旋钮做出反应,可以通过添加 LV_OBJ_FLAG_ADV_HITTEST lv_obj_add_flag(slider, LV_OBJ_FLAG_ADV_HITTEST) 来启用此功能。可以使用 lv_slider_set_mode(slider, LV_SLIDER_MODE_…
2025-05-20 14:24:40
398
原创 使用DDR4控制器实现多通道数据读写(十二)
这一节使用interconnect RTL ip核将DDR4与四个读写通道级联,在测试工程中,将四个通道同时写入/读出地址与数据,并使用modelsim仿真器仿真,四个通道同时发送写请求或读请求后,经过interconnect后,观察数据的读写功能。为了测试在不同的时钟域时的读写情况,0、2、3通道为75MHz时钟,1通道为125MHz时钟。IP核的系统复位为低有效复位,由ddr4输出的用户复位信号取反得到。下图为通道1和通道3的读写测试波形,由于通道1的读写请求最晚,所以通道1的响应优先级最小。
2025-05-16 09:15:26
1047
原创 LVDS系列12:Xilinx Ultrascale系可编程输入延迟(二)
使用VARIABLE或VAR_LOAD模式时,需主动操作EN_VTC管脚,也就是要修改抽头值时,将EN_VTC管脚置0,停止校准操作,等待写入修改抽头值完毕后,再将EN_VTC管脚置1,也就是组件正常工作时要将EN_VTC管脚置1,保证工作时EN_VTC管脚置1能校准延迟;12ps,至于使用时延迟时间具体为其中哪个值,这个没法获取,所以该模式下不要纠结延时多少,延时多长时间不重要,延迟线的抽头数量才重要,所以COUNT模式下延时的计量靠抽头数量而不是延时时间;此模式适用于始终定期切换的时钟或数据。
2025-05-14 14:05:41
920
原创 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十二讲)
返回值:当前选中的选项的索引(从 0 开始),如果没有选中任何项,则返回 LV_DROPDOWN_RESULT_NONE。Key: 将键发送给对象,用lv_indev_get_key(lv_indev_active());• LV_EVENT_VALUE_CHANGED 在选择新选项或打开/关闭列表时发送。Press Lost: 对象仍在被按下,但滑动光标/手指离开对象。Clicked: 如果没有被滚动,在释放时被调用(与长按无关)。Pressing: 对象正在被按下(在按下期间持续调用)。
2025-05-13 14:38:40
771
原创 LVDS系列11:Xilinx Ultrascale系可编程输入延迟(一)
按照IDELAYCTRL的参考时钟频率可以准确计算获取到,如200M参考时钟抽头分辨率为78ps,Ultrascale系列相对于7系列架构大改,体现便是U/U+系列的抽头增加到512个,同时每个抽头的分辨率就无法像7系列那样能得到一个准确的值,是一个波动的范围值,抽头分辨率随着工艺温度电压的变化而变化。EN_VTC:电压温度补偿开启的使用信号,COUNT模式下不能使用,必须保持为0,TIME模式下需要使用,在延迟工作时要启用温度电压补偿,在修改抽头值时需要关闭温度电压补偿,修改完后启用;
2025-05-09 09:46:36
1179
原创 使用DDR4控制器实现多通道数据读写(十一)
只有一个主设备,四个从设备,多个主机读写一个从机是通过主机的ID号不同来实现的,每个主机具有不同的ID号,连接到AXI Interconnect RTL IP的从机接口,AXI Interconnect RTL IP的主机接口连接到DDR4。在这里将主机id位宽设置为4,那么作为从机的DDR4的id位宽为8。在interfaces界面中,数据位宽为512位,不进行转换,使用异步时钟,仲裁模式选择轮询仲裁,插入寄存器切片,用于解决时序问题,减少时钟域之间的延迟,并确保数据在跨时钟域传输的正确性。
2025-05-08 15:27:46
819
原创 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十一讲)
这一期讲解lvgl中下拉框的基础使用,下拉列表允许用户从选项列表中选择一个值,下拉列表的选项表默认是关闭的,其中的选项可以是单个值或预定义文本。在右侧的属性列表中,下拉框分为三个模块分别是main主模块、selected选择模块、list列表模块、scrollbar滚轮模块。以下图片是selected选择模块的使用,主要用来设置点击下拉框后,选中条的属性设置,分别有选中的边框粗细以及颜色的设置。以下指的是列表的属性设置具体有列表背景颜色、边框大小以及字体设置,最后的高度指的是列表展开的长度设置。
2025-05-06 17:01:30
809
原创 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十讲)
/ 获取输入框中的文本。// 获取输入框中的文本。// 这里编写按钮点击后的处理代码。
2025-04-30 14:27:17
351
原创 使用DDR4控制器实现多通道数据读写(十)
所以只要根据fifo_1的几乎满(wrfifo_almost_full)信号为低电平状态就可以控制数据写入,根据fifo_2d的空(rdfifo_empty)信号为低电平状态就可以控制数据输出。如果写入的数据和读取的数据不相同,error_1就会拉高,可以通过error_1的状态判断ddr循环读写的功能是否正确。上图中,可以看到,读出的数据数量和存入的数据数量相等,并且可以观察到,测试工程中可以存储的数据数量为ddr4的最大存储量加上两个fifo的存储量。2、读出数据测试代码。本文章由威三学社出品。
2025-04-29 13:51:56
1199
原创 USB3.0 、 PCIE、RFSoC、NVMe 新课程课程直播发布公告
hello各位小伙伴,大家好久不见!我们将于4月29号本周二晚上20:00在B站对: USB3.0 、 PCIE、RFSoC、NVMe;新课程进行发布直播,对课程感兴趣的小伙伴可以来直播间和我们进行交流沟通;期待明天晚上20:00直播和大家见面https://live.bilibili.com/23601432;大家可以提前预约直播以免错过。
2025-04-28 17:47:02
163
原创 LVDS系列10:Xilinx 7系可编程输入延迟(三)
效果如上图所示,ldpipeen端口拉高了几次去寄存,最后图中三次ld拉高,实际加载到线上的抽头值为3、7、11,都是在拉高ld前的最后一次ldpipeen拉高寄存的值,说明ldpipeen使能后加载到寄存器里的值会被新值覆盖,最后ld加载时以最新的值为准。从上图中可以看到,VAR_LOAD模式下,inc=1/ce=1和ld同时使能时,ld控制的cntvaluein端口值成功写入,inc/ce的递增操作未生效,说明在该模式下ld控制的优先级较高,但是在使用改模似时,尽量避免出现控制逻辑冲突的情况;
2025-04-28 11:45:26
721
原创 LVDS系列9:Xilinx 7系可编程输入延迟(二)
可以看到上图中,此时IDELAY_VALUE设置为0,此时cntvalueout为0,表示此时原语正在工作的抽头值为0,idatain和dout的两个上升沿间隔了0.6ns,也就是之前所讲的200M的延时基准;上图为将IDELAY_VALUE参数设置为30(0x1e),此时cntvalueout为0x1e,可以看到此时的idatain和dout的延时为2.94ns=0.6ns+30*78ps,与理论的延时时间相符;REFCLK如果出现异常如保持一个周期的1或0,RDY就会拉低,此时就需要重新复位该原语;
2025-04-24 15:42:27
1025
原创 使用DDR4控制器实现多通道数据读写(九)
使用fifo_1的rd_data_count表示fifo_1中可以读出多少个数据,ddr的深度-addr_left表示ddr中可以存多少个数据。因为写长度最大为255,所以当rd_data_count和addr_vac和awaddr_sub_cnt都大于255时,wr_len就为255,否则,就取这仨中最小的值-1。因为读长度最大为255,所以当addr_left和rd_fifo_left和araddr_sub_cnt都大于255时,rd_len就为255,否则,就取他仨中最小的值-1。
2025-04-23 15:03:46
509
原创 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第九讲)
函数有三个分别为:(1)lv_cont_set_fit4(lv_obj_t * cont, lv_fit_t left, lv_fit_t right, lv_fit_t top, lv_fit_t bottom)以上函数的作用都是设定容器的自适应方式,第一个设定四个方向的自适应方式,第二个是设定水平和垂直方向上的自适应方式,第三个是将四个方向的自适应方式统一设定。这一期讲解GUI_guider中的容器控件的使用以及相关函数,容器本质上是具有布局和自动调整大小功能的基本对象 ,通常用来装载其他子控件。
2025-04-22 14:01:37
685
原创 使用DDR4控制器实现多通道数据读写(八)
用两个fifo连接ddr:首先由generate_data模块产生数据,把数据存入fifo_1中,再通过wr_ddr_start(写ddr开始信号)控制ddr把fifo_1中的数据写进ddr。在将DDR4中的数据读出后写入fifo_2时,需要控制从DDR4读取的长度和地址,DDR4每次读突发最长可以读出256个数据,之前将数据写进DDR4时,前一次突发和后一次突发的地址是相连的,所以每次读突发时,初始地址必须紧跟上一次突发后读出最后一个数据的地址。读出的数据做为fifo_2的写数据。
2025-04-17 16:15:47
580
原创 LVDS系列8:Xilinx 7系可编程输入延迟(一)
INC:抽头延迟的增量减量,搭配CE使用,只有当CE为高时,INC才有效,当CE为低时INC值不起作用,其中INC=1时抽头值递增,INC=0时抽头值递减,且INC和CE都与时钟C同步,且当CE保持高,每个C的时钟周期,根据INC的值设置,抽头值会在下一个时钟C的上升沿开始进行抽头值的递增递减操作;IDELAYE2原语的可编程延迟抽头会执行环绕操作,原语的延迟抽头值为0~31共32个数,环绕是指当抽头值当前到达边界,如0或31,在0时如果递减,抽头值将变为31,在31时如果递增,抽头值将变为0;
2025-04-16 10:05:44
921
1
原创 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第八讲)
这一期我们来讲解GUI_guider中消息框的基本使用以及相关函数,消息框(Message Box)是一个用于显示消息、警告、通知或提示信息的常见 GUI 元素。ui->screen_2_msgbox_1 = lv_msgbox_create(ui->screen_2, “提示”, “账号或密码不得为空!//声明lv_style_t类型变量。//声明lv_style_t类型变量。//声明lv_style_t类型变量。//设置消息框的位置以及大小。//用于设置标题文本字母间隔。//用于设置标题文本透明度。
2025-04-15 15:01:49
635
原创 使用DDR4控制器实现多通道数据读写(七)
DDR4写模块根据ddr4_test模块发来的写开始信号,写数据数量,初始地址,首先通过写地址通道发送写数据的初始地址、写数据数量、和控制参数,wstrb信号作为写数据的掩码。在DDR4读模块中,根据ddr4_test模块发出的读开始信号,在读地址通道中发送读起始地址、读长度和控制信号,给DDR4发起读请求,根据读数据通道读出数据,rd_data作为读数据,rd_en作为读数据有效信号发送给ddr4_test模块。如图所示,读起始地址为0,读出16个数据,读出的第一个数据中,每个DW值为0x10。
2025-04-11 09:34:33
925
原创 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第七讲)
默认是第一种键盘模式,当需要切换模式,进入到ta_event_cb函数修改模式,下面代码以数字模式举例子lv_keyboard_set_mode(kb, LV_KEYBOARD_MODE_NUMBER);在该界面中可以设置键盘文字的大小和文本类型,最下方判断键盘是否支持中文输入(中文输入,当汉字库不够大时,用户点击中文输入会少很多字)。//当LV_USE_KEYBOARD为1时启用虚拟键盘,LV_USE_ZH_KEYBOARD为1时支持中文输入。随后在系统设置界面中点击项目选项,选择显示键盘。
2025-04-10 13:50:08
1017
原创 LVDS系列7:Xilinx Ultrascale系ODDRE1原语
Clk上升沿(C_inter上升沿)采集din1和din2,din1在上升沿采集后立刻输出到dout,din2在上升沿采集后寄存到clk下降沿(C_inter下降沿)再输出到dout;Clk下降沿(C_inter上升沿)采集din1和din2,din1在下降沿采集后立刻输出到dout,din2在下降沿采集后寄存到clk上升沿(C_inter下降沿)再输出到dout;SR:异步置位复位端口,高有效,在正常工作前,输出Q将保持4个时钟周期的复位值;参数IS_C_INVERTED:反转输入时钟C,置1有效;
2025-04-09 09:19:51
761
原创 使用DDR4控制器实现多通道数据读写(六)
在图1中,T3-T4时刻,从设备接收第一个数据,T5-T6时刻,从设备接收第二个数据,T7-T8时刻,从设备接收第三个数据,T8-T9时刻,从设备接收低四个数据。主设备在传输第4个数据时,WLAST为高,表示第四个数据为本次写突发的最后一个数据。本章节讲述了DDR4的AXI读写时序,并通过仿真验证了DDR4的读写功能,本次仿真输入的有效数据为全部字节有效,后续会为大家演示数据掩码的作用,和突发类型的作用,主要验证FIXED、INTR、WRAP模式下的突发机制的不同,并详细介绍 WRAP模式的地址边界。
2025-04-03 11:03:10
602
原创 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第六讲)
这一期来讲文本框控件的基本使用以及注意事项,首先文本区域是由一个Label与光标组合而成,用于文本输入。第六行指的是是否开启换行模式,新建文本框默认是开启换行模式,当文本框内容超出一行显示时,将在文本框的下方与右方出现滚动条。这里我们选择12号宋体,边框为黑色,字间距为2,内边距分别为距离顶部4,右侧4,左侧4,最后是关于阴影的设置保持不变即可。第三行最大长度指的是文本框输入最长为多少,当超过这个长度用户输入的内容将不在文本框内显示。第一行文本指的是在文本框中显示的文本,由用户进行输入。
2025-04-02 10:22:54
928
原创 LVDS系列4:Xilinx 7系ODDR原语
由于从上面截取的官方文档的时序波形图中可以看出,正确的数据输入应该是din1和din2每个clk时钟周期保持不变,但是如此按时序图提供的输入方式的话这两种模式下,输出格式都是一致的,那么我们就无法看到这两种模式有何区别了,所以这里将输入改为半个周期变换一次,所以我们就可以看出,上图两个模式下,输入信号其实是完全一致的,但是输出的dout信号却大不相同;每个时钟周期内,Q输出两个数据,上升沿输出D1,下降沿输出D2,两个模式下输出数据格式相同;每个时钟周期内,Q输出两个数据,上升沿输出D1,下降沿输出D2;
2025-04-01 17:51:49
713
原创 使用DDR4控制器实现多通道数据读写(五)
在写地址传输完成后,才能传输数据,主设备发起需要传输的数据,并置WVALID为高,当从设备准备好接收数据时,会拉高WREADY,当WVALID和WREADY同时为高时,表示数据成功传输了一个数据,在主机发送最后一个数据时,需要将WVALID和WLAST同时拉高,表示本次传输为本次突发的最后一个数据,当WVALID、WREADY和WLAST同时为高时,表示本次写突发结束。写数据通道(W):主设备----->从设备(WDATA,WVALID,WREADY,WLAST等)
2025-03-28 09:21:03
735
原创 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第五讲)
点击clicked信号右上角的if按键,在弹出的弹窗中点击加号,在if右侧的条件栏填写“flag_btn。在触发事件中选择需要做出回应的对象,这里我们点击led_1控件,点击确认。• lv_led_set_brightness: 设置 LED 的亮度。• lv_led_get_brightness: 获取 LED 的亮度。• lv_led_set_color: 设置 LED 的颜色。• lv_led_get_color: 获取 LED 的颜色。• lv_led_set_style: 设置 LED 的样式。
2025-03-27 10:27:42
545
原创 LVDS系列5:Xilinx Ultrascale系IDDRE1原语
C)=C=C_inter,此时C_inter和CB_inter同相,那么原语功能就会失效,此时C_inter和CB_inter的上升沿都在C的上升沿,C的下降沿处没有上升沿的采集时钟,没有双沿的采样时钟就无法触发DDR的双沿采集功能,原语无法工作,且有可能造成亚稳态时序违例等影响系统稳定的错误;sclk,CB_inter=clk_b=sclk,符合C_inter和CB_inter互补情况,此时仿真图中clk和C_inter反相,clk_b和CB_inter同相,
2025-03-25 14:37:05
646
原创 使用DDR4控制器实现多通道数据读写(四)
在创建完DDR4的仿真模型后,我们为了实现异步时钟的读写,板卡中在PL端提供了一组差分时钟,可以用它通过vivado中的Clock Wizard IP核生成多个时钟,在这里生成两个输出时钟,分别作为用户的读写时钟,这样就可以用异步时钟来读写ddr4数据。在基本配置中可以使用时钟输入(clk_in),时钟输出(clk_out),复位(reset),时钟锁(locked)等信号来完成Clock Wizard IP核的基本配置,其中locked用来指示输出的时钟是否稳定,当locked有效后方可使用输出时钟。
2025-03-19 15:15:31
649
原创 LVDS系列4:Xilinx 7系IDDR原语
注意:在使用置位S和复位R端口时,两者不能同时置1有效,否则可能会导致输出状态不确定,还会有出现亚稳态时序风险导致系统异常,且两个端口同时控制还增加了逻辑复杂度,所以推荐在使用时优先R复位端口,将S置位端口置0,减少逻辑复杂度的同时避免出错,置位端口置1有效时,Q1、Q2将强制输出1;Q1在第一个时钟周期上升沿采样的数据D0A在第一个时钟周期的上升沿采样后直接输出,Q2在第一个时钟周期下降沿采样的数据D1A在第二个时钟周期的上升沿采样才输出,第一个时钟周期时Q2保持不关心的无效值;
2025-03-18 15:16:12
852
原创 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第三讲)
在样式列表中第一行是关于按键模块的状态设置,我们只设置初始状态即可,下一栏是背景颜色和透明度的设置,再下面是字体的设置,我们选择16号字体与宋体格式,文字对齐方式为居中,最下面俩栏是美化方面的设置,我们可以根据边框背景颜色以及粗细自己自定义,也可点击更多预设样式选择官方提供的三种样式修改使用。就这样关于一个按键的设计就完成了,然后点击右上角的运行,在运行中点击c语言运行,开发者可以在该平台初步看到项目实现的样式与功能。//设置标签的宽度为按钮百分比。//设置标签文本换行方式。//创建按键上的标签。
2025-03-14 09:15:41
610
原创 LVDS系列3:Xilinx的IOBUFDS原语
前述的IBUFDS原语只能接收外部差分信号,此时连接管脚为input管脚,OBUFDS只能向外部输出差分信号,此时连接管脚为output管脚,但差分信号还有可能出现IO类型,也就是inout管脚,一对差分信号,可以输入,也可以输出,此时使用IBUFDS和OBUFDS就不能解决问题,需要使用到IOBUFDS原语;此时T=1,输出缓存启用,可以看到在原语的图中,IO、IOB到O的路径没有受到T端口开关的影响,此时O的输出来自IO、IOB,而IO、IOB的值此时来自于I,所以O值与I值相同。
2025-03-11 17:29:38
1518
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人