FPGA千兆以太网SGMII接口配置实战

一:背景环境

        物理环境:外部为标准千兆网络RJ45接口,经过PHY芯片后,转化为SGMII接口连接在XILINX芯片的GTX上,需要正确对网络数据进行获取。

        采用1G/2.5G Ethernet PCS/PMA or SGMII(PG047)Tri-Mode Ethernet MAC(PG051)的IP核。

二:1G/2.5G Ethernet PCS/PMA 配置和说明

本次选择的MAC IP核,如果和PS连接可以选择ZYNQ PS ;

本次选择SGMII,如果电口可以选择1000BASEX,则为SFP端口。

本次选择MDIO不勾选,勾选配置有问题。

GTX一个bank共用一组差分时钟,如果多个SGMII端口,则一个选择包含,其它选择不包含。

       多个SGMII端口的共享一个core的连接图示:

        IP核其它端口说明配置:

// input ports .independent_clock_bufg (clk_200m ), // must 200m clk ; .configuration_vector (5'b10000 ), // .an_adv_config_vector ('d33 ), // .an_restart_config ('b0 ), // .speed_is_10_100 (speedis10100 ), // link MAC IP Core speedis10100 .speed_is_100 (speedis100 ), // link MAC IP Core speedis100 .sigal_detect ('b1 ), // // output ports .status_vector (),// IP Core & sgmii link status

status_vector可以查看当前IP核以及链路状态,各个bit位说明:

三:Tri-Mode Ethernet MAC 配置和说明

不配置MDIO和自适应,直接1000M。

关闭包过滤和统计功能:

       IP核其它端口说明配置:

//----------------------------------// // input ports .gtx_clk (userclk2_out ), // link SGMII IP Core userclk2_out .pause_val ('b0 ), // .pause_req ('b0 ), // // output ports .speedis10100 (speed_is_10_100), // link SGMII IP Core speed_is_10_100 .speedis100 (speed_is_100 ), // link SGMII IP Core speed_is_100

三:上版验证 

        环境:芯片xc7z045ffg900-2 ,bank109一共四路SGMII端口。

        结果:四路逻辑端接收的AXIS数据正确,接收正常;发送数据正常;

        过程以及遗留问题:

(1)两个IP核都强制的千兆,未验证自适应。

(2)MAC IP与SGMII IP配置MDIO后有问题未进一步验证。

Read more

ComfyUI保姆级安装指南:从零配置Python环境到共享WebUI模型库(避坑大全)

ComfyUI终极安装指南:复用WebUI资源与高效配置实战 第一次接触ComfyUI时,我被它那类似Blender的节点式界面震撼到了——这完全颠覆了我对AI绘画工具的认知。但随之而来的安装过程却让我这个有三年Stable Diffusion使用经验的老用户也踩了不少坑。最头疼的问题莫过于:如何在保留现有WebUI模型库的同时,让ComfyUI也能共享这些资源?毕竟谁也不想在已经塞满3TB硬盘的模型库里再复制一份几十GB的数据。 1. 环境预检与准备工作 在开始安装前,我们需要确保系统满足ComfyUI的基本运行要求。与WebUI不同,ComfyUI对环境的纯净度要求更高,特别是Python版本的管理。 1.1 硬件配置核查 最低配置: * 显卡:NVIDIA GTX 1060(4GB显存) * 内存:16GB DDR4 * 存储:SSD剩余空间≥50GB(仅系统+程序) 推荐配置: * 显卡:RTX 3060(12GB显存)及以上 * 内存:32GB DDR4 * 存储:NVMe SSD(模型库单独存放) 提示:显存不足8GB的用户建议关闭--hig

安利一款超实用的前端可视化打印设计器:Vue Print Designer

安利一款超实用的前端可视化打印设计器:Vue Print Designer

做前端开发的朋友应该都懂,业务开发中遇到打印需求真的头大 —— 手写分页逻辑繁琐、不同框架适配麻烦、票据 / 快递单这类定制化打印场景不好实现,找个趁手的打印插件更是难上加难。最近发现了一款开源的可视化打印设计器Vue Print Designer,完美解决了这些痛点,不管是快速开发还是企业级定制化需求都能满足,今天就跟大家详细聊聊这款工具。 一、Vue Print Designer 是什么? Vue Print Designer 是一款面向业务表单、标签、票据、快递单等打印场景的可视化设计器,核心主打模板化、变量化设计,还提供了静默打印、云打印能力,同时支持 PDF / 图片 / Blob 等多种导出方式,完全能覆盖日常开发中的各类打印需求。 它不是简单的打印插件,而是一套完整的打印解决方案,从可视化设计模板,到参数配置、多端打印,再到定制化扩展,一站式搞定,而且项目还在持续更新,最新版本已经支持英寸、厘米作为单位,对国际化和精细化设计更友好了。 项目地址:https://gitee.com/

前端安全:别让你的网站成为黑客的游乐场

前端安全:别让你的网站成为黑客的游乐场 毒舌时刻 前端安全?这不是后端的事吗? "我只是个前端,安全关我什么事?"——结果网站被XSS攻击,用户信息泄露, "我用了框架,应该很安全吧?"——结果框架有漏洞,被人轻松突破, "我的网站小,没人会攻击的"——结果被黑客当作练手的靶子。 醒醒吧,前端安全不是可有可无的,而是必须重视的! 为什么你需要这个? * 保护用户数据:防止用户信息被窃取 * 维护网站声誉:避免安全事件影响品牌形象 * 遵守法律法规:如GDPR、CCPA等数据保护法规 * 防止业务损失:避免因安全问题导致的经济损失 反面教材 // 反面教材:直接拼接HTML字符串 function renderUserInput() { const userInput = document.getElementById('user-input').value; // 危险!直接将用户输入插入到DOM中