ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

EP4CE15F17C8核心板设计实战:从原理图到PCB全流程

EP4CE15F17C8核心板设计实战:从原理图到PCB全流程 1. 方案定位EP4CE15F17C8核心板设计前要想清楚的事1.1 这块芯片到底适合干什么EP4CE15F17C8在Altera现在叫Intel FPGA的Cyclone IV家族里属于中低容量型号逻辑单元15408个内嵌M9K存储器块总计516Kbit还有56个18x18硬件乘法器4个PLL最大可用IO数量根据封装不同在82到343之间浮动。这颗芯片最吸引人的地方在于核心电压只需要1.2V静态功耗很小价格对学生党、个人开发者相当友好而且Quartus II软件支持成熟官方文档和社区资料铺天盖地。用来做入门级FPGA学习板、简易信号采集前端、电机控制逻辑、协议桥接、LED显示控制、传感器数据预处理这类项目性能和成本恰好卡在甜点上。但我要坦白说一句EP4CE15不是万金油。你想跑DDR3、挂PCIe、做高速SerDes通信这芯片直接出局它根本没有硬核收发器。它的定位是“逻辑胶水”和“中低速信号处理”超过100MHz的并行总线虽然有本事跑但布线稍微大意就给你脸色看。我做这个核心板的初衷说白了就是想给常用外设留好口子SDRAM、Flash、串口、网口、扩展GPIO以后不管做图像、做控制、做接口转换都能在一片稳定的底板上快速验证。1.2 为什么偏偏选F17封装EP4CE15有QFP封装比如EP4CE15F23实际上这个也有但多数人用的是TQFP144、BGA封装等选择而F17指的是256引脚的FBGA封装引脚间距0.8mm。很多人看到BGA就发怵觉得焊接难、布线难但我要给个反向建议对核心板来说BGA封装的电源引脚数量多、地引脚密集电源完整性比QFP好得多而且体积小、走线扇出做得好反而能省PCB面积。0.8mm间距在四层板工艺下是完全能手工做出来的不需要激光钻孔和盘中孔工艺我当然做了普通过孔不用盘中孔国内PCB打样厂家对这种封装见得太多了。选F17的另一个原因它引出的用户IO数量在中等水平比144脚QFP多一些又比更大量引脚封装布线压力小。EP4CE15F17C8的“C8”表示速度等级为8Cyclone IV速度等级有C6、C7、C8C8最慢但通常够用而且价格最低。你要是不确定项目是否需要更高速等级先按C8设计真到了资源紧张、时序收敛困难的时候再换C7芯片封装尺寸完全一样PCB不用改。这里有个容易踩的认知误区FPGA设计不是“芯片好板子好”五成以上的坑全在硬件底板上。电源纹波大导致逻辑跑飞、时钟走线过长导致时序余量不足、配置电路设计失误导致下载失败、SDRAM布线不等长导致高速读写时好时坏——这些我都经历过。下面内容全部是按“真正做一块能稳定跑起来的核心板”的角度写的不是教科书式的原理图堆砌。2. 原理图设计决定成败的细节2.1 电源树设计1.2V内核是核心中的核心EP4CE15F17C8的供电分三路VCCINT内核电压1.2VVCCIOI/O电压可以根据外设需求接1.2V、1.5V、1.8V、2.5V、3.3VVCCAPLL模拟供电要求比较讲究标准是2.5V有些资料会写1.2V选项具体要看数据手册里PLL供电章节我设计时直接用2.5V供电两颗磁珠隔离。电源设计第一原则VCCINT必须干净。FPGA内部逻辑切换瞬间电流变化率极高供电如果没有足够的去耦和响应速度内核电压跌落超过规格通常要求±50mV以内逻辑时序就会出问题表现为“偶尔跑飞”“某段逻辑时好时坏”。我这个板子采用两级电源方案外部输入5V用一颗DC-DC降压到3.3V给VCCIO和外围器件用再用一颗LDO从3.3V降到1.2V给VCCINT供电。为什么不用DC-DC直接出1.2V因为开关电源的纹波一般有10mV到30mV算上动态响应问题对1.2V内核来说余量太紧张。LDO纹波极小负载调整率也够虽然效率低一点但EP4CE15本身功耗不大实测空跑功耗不到200mW级别LDO的发热完全可控。电源设计细节我很看重这几点。第一每个电源引脚旁边必须有0.1uF陶瓷电容布局时紧贴引脚这个后面细说。第二1.2V内核电源在原理图上最好用单独的电源符号和FPGA电源引脚之间用磁珠隔开方便调试时断开局部供电排查短路。第三VCCA必须单独走线我用了两颗磁珠加10uF钽电容加0.1uF陶瓷电容组成滤波网络确保PLL不会被电源噪声干扰。第四核心板整体放一颗大容量钽电容或聚合物电容470uF级别稳住输入电源防止外部电源插拔瞬间掉电复位。VCCIO的分组问题也容易忽略。EP4CE15F17C8的IO分成多个Bank每个Bank的VCCIO可以独立供电不同Bank之间电压可以不同。我的设计里Bank 3接3.3V给SDRAM和Flash用Bank 8接3.3V给LED和按键用其余Bank统一3.3V。如果你某个外设需要1.8V或者2.5V接口电平一定单独分Bank供电不要混用。混供电的结果就是IO口烧毁或者电平不识别这是新手最容易犯的错误。2.2 配置电路与时钟部分的坑FPGA是SRAM工艺掉电即失忆每次上电要从外部配置芯片加载程序。EP4CE15F17C8支持JTAG、AS主动串行、PS被动串行三种配置方式我做了最常用的组合JTAG用于调试下载AS模式挂一颗EPCS16配置芯片用于上电自动加载。EPCS16容量16Mbit对于EP4CE15的单次配置文件SOF转JIC后一般在几百KB到1MB上下绰绰有余以后程序稍微变大也不慌。下载口电路有几个坑一定要避第一TMS、TCK、TDI、TDO这四根线都需要接上拉电阻到3.3VTCK串联22Ω电阻做阻抗匹配TDO可以不串但稳妥起见也加一个第二Altera的10针JTAG下载口是2.54mm间距双排针Pin2接3.3VPin10接地板上必须保留5V和GND的兼容设计实际上标准是Pin4、Pin6、Pin8、Pin10都是GND信号不同我按照官方下载器原理图对照过最稳妥不要凭印象乱画第三下载口到FPGA的走线尽量短单端线长度控制在30mm以内TCK频率默认是10MHz左右太长容易时序出错。AS配置模式的MSEL引脚必须拉到位。EP4CE15的MSEL[2:0]在不同配置方式下电平组合不同AS模式是MSEL20、MSEL10、MSEL00具体可用Quartus里Configuration Settings向导查而且必须接上下拉电阻而不是直接接电源或地。直接硬接电源地的问题在于后期想切换到PS模式或者调试模式时没法改留电阻位置是聪明的做法。DCLK、ASDO、DATA0这三个信号到EPCS16的走线别太长我控制在20mm以内并且DCLK和DATA0之间加了一个33Ω串联电阻实测对信号质量有改善。时钟部分EP4CE15F17C8有多个全局时钟输入引脚CLK0到CLK15分布在不同Bank我用量最大的是CLK0和CLK1。板载50MHz有源晶振输出接到专用时钟引脚这个简单但要注意有源晶振的输出电平类型和VCCIO是否匹配我选3.3V供电的晶振输出3.3V LVCMOS接到Bank 3VCCIO3.3V就没问题。如果晶振供电2.5V但VCCIO是3.3V信号幅度不匹配会导致时钟识别不可靠这种情况要串电阻分压或者用电平转换。另外晶振下方不要走其他信号线铺地铜皮最好晶振电源引脚旁边放一个0.1uF和10uF电容组合这颗电容不是装饰品它直接影响时钟抖动。2.3 去耦电容怎么放才不是白放去耦电容原理很简单给高速开关的芯片提供一个局部能量源缩短电流回流通路防止电压塌陷。但放置不当电容白装。我见过很多板子明明每个电源引脚都放了104电容但FPGA跑高速逻辑还是随机出错拆开一看全是电容离引脚太远或者过孔和走线太长引入额外电感。我的放置原则0.1uF电容放在FPGA背面对应每个电源引脚的正下方或正上方用两个过孔直连到电源引脚和地引脚走线长度不超过2mm。有人问为什么放背面而不是正面因为0.8mm间距的BGA正面引脚之间空间不够放背面打孔直连是最优解。10uF大电容放板子边缘或者电源入口处每个电源区放1到2颗位置不敏感但要靠近供电引脚轴线。另外VCCA的滤波电容我额外加了2颗放在磁珠之后靠近PLL引脚的位置。去耦电容的容值组合也有讲究。只用1040.1uF对高频噪声有效但低频瞬态响应还是要靠10uF以上钽电容或陶瓷电容。我在电源树效果测试时测过1.2V电源的纹波裸板在500MHz带宽示波器下纹波约8mV加上FPGA全速翻转信号后纹波到15mV虽然还在允许范围内但明显比空载要差去耦电容起了关键作用。总结一句去想耦不是数量取胜而是位置和连接方式取胜。3. PCB LayoutBGA扇出与叠层实战3.1 叠层方案选型四层板还是六层板核心板设计很多人纠结叠层我直接给结论EP4CE15F17C8这种0.8mm间距BGA、信号速率不超过100MHz、引脚数256的中等规模设计四层板完全够用叠层方案是L1信号层、L2地层、L3电源层、L4信号层。六层板的好处是信号层多、电源层可以分割更细但对这个项目性能提升有限成本却明显增加没必要。四层板的层间厚度会直接影响阻抗和回流路径我做板用的参数是常规的1.6mm板厚L1到L2间距0.2mmL2到L3间距1.0mm左右芯板L3到L4间距0.2mm这样信号到参考平面很近回流面积小。如果你是做阻抗控制的高速板需要和板厂确认走线宽度和介质厚度但EP4CE15F17C8的数据线速率最高到166MHz级别SDRAM走线长度控制在40mm以内阻抗控制不必追求50Ω±5%这么严格保持完整参考平面就足够稳定。叠层方案确定后有一件事必须提前做把FPGA和主要器件在PCB上大概摆好位置确定BGA扇出的所有过孔都在L1和L2之间打不能打过孔到电源层时碰到其他电源分割区域。我的经验是先扇出电源引脚和地引脚的过孔再扇出信号引脚信号过孔不要和电源过孔混在一起方便后面铺铜和分割。3.2 0.8mm间距BGA扇出策略0.8mm间距的BGA焊盘直径通常0.4mm相邻焊盘中心距0.8mm。这意味着焊盘之间只剩0.4mm空隙在四层板上做普通过孔过孔外径0.5mm、钻孔直径0.25mm是极限了因为过孔外径0.5mm放到0.8mm间距的焊盘旁边间距边缘到边缘只有0.3mm勉强满足常规工艺。如果你用的过孔更大或者焊盘更大扇出会非常痛苦甚至要扩层。我的扇出方案是“狗骨头式”从焊盘拉出一段很短比如0.25mm长的走线到过孔过孔打在四个焊盘交叉的中心位置。具体说BGA引脚间距0.8mm我用的过孔是外径0.45mm、内径0.2mm焊盘到过孔中心的距离约0.4mm-0.5mm这样才能保证过孔间不过分拥挤。扇出顺序很有讲究先扇最外圈的信号引脚这些引脚直接拉线到外围器件再扇中间圈的电源和地最后扇内圈信号。如果一开始就乱扇后期走线要绕远路或者换层打架。对于电源引脚的扇出有个经验值得分享同一电源域比如所有VCCINT引脚的过孔扇出后用一个铜皮区域把它们连起来这样在电源层分割时可以直接引用这片铜皮减小过孔到电源网络的路径长度降低直流压降。地引脚同理扇出后尽量用铜皮连通到地层。内圈信号引脚扇出后需要通过走线换层到L4或者L1其他区域这里注意换层过孔的位置不能挡住其他引脚的扇出走线。我的办法是先整体布局规划一个“过孔海”即信号过孔聚集在BGA中心区域两旁电源地过孔集中在BGA四周这样信号走线可以从过孔海中间穿过电源层分割也不容易被信号过孔破坏。3.3 电源完整性和地平面处理四层板的L2是完整地平面L3是电源层。电源层需要分割成3.3V、1.2V、2.5V几个区域。分割的原则是不同电源域之间不能跨过高速信号的回流路径。什么意思如果一根数据线在L1走线它的回流电流会紧贴在走线正下方的地平面或电源平面上流动如果这条走线下方正好是3.3V和1.2V电源分割的裂缝回流电流就得绕一个大圈回到源头这个环路面积变大等效电感变大信号质量自然变差甚至产生EMI问题。所以我会在布线前先把电源层分割图画好让分割线避开所有已知的关键走线区域高速信号走线尽量不走分割带。FPGA的VCCINT引脚相对集中在芯片中心区域所以1.2V电源区域做成一个大的方形或近似圆形区域正好在BGA正下方3.3V电源区域围绕其周围对外设供电2.5V的VCCA单独一个小岛避免和其他电源交叉。地平面的处理上有一个大坑BGA区域的地过孔如果数量不够内圈地引脚的回流路径会变得很差。EP4CE15F17C8有几十个地引脚我全部打了过孔并且在BGA中心区域额外打了8到10个地过孔形成一个“地针阵列”。这些额外过孔的作用是保证内圈信号换层时附近就有地过孔可以作为回流路径不然信号换层到L4时回流电流要绕到BGA外圈才能到达地平面后果就是信号完整性变差。实测原本SDRAM读写偶尔出错在BGA中心加满地过孔之后问题消失这算是很典型的回流路径问题。3.4 关键信号走线时钟、复位、配置时钟走线是核心板里最需要小心伺候的信号。50MHz晶振输出到FPGA时钟引脚的走线我做了两点处理走线宽度0.2mm长度尽量短约15mm两旁打了地过孔围栏也就是沿走线两侧每隔3mm左右放一个地过孔目的是把时钟信号和相邻信号隔离减少串扰。这条走线不要和任何其他信号平行长距离走在一起如果必须走背面L4下方也要保证是完整地平面不要有电源分割裂缝。复位信号我没做专用复位芯片而是简单用RC复位加按键手动复位。电阻10kΩ上拉3.3V电容0.1uF到地复位脚低有效。RC时间常数约1ms配合FPGA内部上电复位逻辑够用。不过要注意FPGA的nCONFIG和nSTATUS这两个配置引脚是漏极开路结构必须外部上拉10kΩ到3.3V很多人把这两个引脚当成普通IO处理结果配置芯片工作不稳定。nCEO引脚需要悬空如果只有一片FPGA或者接下一级芯片的nCE级联时不要默认接地不然JTAG配置会报错。配置芯片EPCS16的走线也属于信号完整性敏感类。DCLK、DATA0、ASDO、nCS四根线尽量一起走长度差别控制在10mm内因为它们本质上是SPI串行总线时序要求相对宽松但距离过长或走线分叉会导致时钟沿上的数据采样点偏移。我在原理图上就已经给这四根线加了33Ω串阻串阻放在驱动端FPGA侧这样可以抑制振铃。如果你打样回来发现配置偶尔失败、上电后部分程序不运行先查这四根线和EPCS16的供电、GND连接八成问题在这里。4. 焊接与调试从板子到手到跑起来4.1 BGA手工焊接经验很多人拿到BGA板子第一反应是“没法手工焊”实际上只要工具对路0.8mm间距BGA手焊并不难只是需要耐心。我用的是底部预热台加顶部热风枪的组合方式焊膏印好或者刷好之后把PCB放到预热台上加热至约100℃再拿热风枪在BGA上方均匀加热到250℃左右等焊球全部熔化、芯片自动下沉俗称“塌陷”后再缓慢降温。整个过程需要观察芯片边缘的助焊剂渗出情况看到芯片四边有均匀的焊料痕迹说明焊接良好。如果没有预热台单用热风枪也能焊但板子容易变形要控制风量和温度风速调低温度设定在300℃左右加热时间尽量短。最怕的是焊完发现个别引脚虚焊又不好补所以焊接前的焊膏量、贴片位置检查很重要。我每次焊BGA之前都要用放大镜确认焊膏没有连锡芯片方向绝对正确丝印一角对准Pin1焊完后还需要X-ray检查的话一般打样店都没有只能靠上电测试判断。这里分享一个判断BGA焊接是否良好的土办法用万用表二极管档量FPGA的VCCINT和GND之间的阻值如果导通或阻值很小说明有短路BGA内部引脚连锡或者电路设计短路如果阻值在几十到几百欧姆范围内基本正常。如果开路了可能芯片虚焊或者没对齐。上电前一定量这一步不然通电瞬间烧芯片不划算。4.2 上电调试第一步先测什么板子焊好之后不要急着插下载器。先不接FPGA程序上电用万用表量几个关键电压5V输入、3.3V、1.2V、2.5VPLL每个电压都正常再往下走。然后是静态电流判断核心板空载整板电流一般在几十毫安到一百毫安左右如果上电瞬间电流很大先查电源短路尤其是1.2V和3.3V之间有没有连锡。闻到糊味、看到芯片冒烟直接断电检查是否电源极性接反、钽电容方向装反钽电容反接是会炸的这点千万留意。电压正常后插上USB-Blaster打开Quartus II点击Hardware Setup确认能识别到下载器然后JTAG模式下扫描链看能否识别到EP4CE15F17C8。这一步能跑通说明FPGA的JTAG电路、供电、内核都基本正常。如果识别不到依次排查下载器驱动是否装好JTAG口线序是否反了TCK/TMS是否有上拉电阻nSTATUS是否为高电平如果配置失败会是低电平。我在调试中发现过一个非常隐蔽的问题JTAG口的Pin5是GND和Pin10也是GND在原理图中画错导致下载器检测不到芯片后来对照标准定义改线才解决。所以画下载口原理图时最好直接照抄官方原理图不要自己发明。JTAG识别通过后用Quartus的Test Bench或者简单写一个LED流水灯程序下载进去如果LED按预期闪烁说明功能基本通了。之后才去测试SDRAM读写、Flash读写、串口回环这些外设功能。我的习惯是先跑一个综合性的“hello world”测试程序把JTAG、LED、按键、串口都点亮确认主通路后再逐项添加外设模块测试这样定位问题快很多。4.3 常见问题速查表JTAG、配置、SDRAM整理几个我在调试EP4CE15F17C8核心板时遇到的高频问题直接给结论和排查路径。JTAG识别不到芯片。先从软件层面排查USB-Blaster驱动是否安装、Quartus里的Hardde Setup是否识别到设备。硬件层面优先查下载口线序、TCK/TMS上拉电阻、FPGA的VCCINT是否正常、nCONFIG和nSTATUS是否都为高。注意nSTATUS在配置失败时会拉低此时JTAG扫描也可能异常。如果新板子第一次上电就遇到这问题万用表量TCK对地阻值如果接近0说明有短路或者引脚连锡。AS模式配置失败。现象是JTAG能下载但断电重上电后FPGA没有加载程序。先确认MSEL电阻是否接对AS模式下的MSEL2/1/0应该为000或001具体看数据手册我遇到过MSEL引脚虚焊导致芯片进了非法配置模式其次查EPCS16的方向和丝印EPCS16的标记比较容易看反因为它是SO-8封装Pin1标记不显眼再者查DCLK和DATA0走线特别是33Ω串阻是否虚焊最后用Quartus的Convert Programming File把SOF转成JIC文件再下载到EPCS16这一步能帮你判断配置文件是否正确写入了。SDRAM读写不稳定。这是一个经典问题很多核心板做出来逻辑都对但SDRAM速率高了就出错。SDRAM数据线、地址线、控制线之间等长约束尽量做到±20mil约±0.5mm以内时钟线要单独处理最好比数据走线长一点点以建立保持时间余量。我板子上SDRAM走线长度在25mm到40mm之间做了等长蛇形线补偿测试跑166MHz时钟一切正常。如果出现低速率正常、高速率出错另一个常被忽视的原因是SDRAM的VDD和VDDQ去耦不够SDRAM电源引脚附近加4.7uF和0.1uF电容组合靠近引脚放置能解决不少偶发问题。SDRAM的DQ和DQS信号不同时切换翻转时回流路径如果跨分割也会出现随机错误建议SDRAM数据区下方的电源层保持完整不要有3.3V和1.2V的分割裂缝。时钟不稳定。如果你看到PLL锁不住或者锁定信号时好时坏先看有源晶振输出信号是否干净用示波器量波形正常是方波、幅度接近3.3V如果波形振铃严重在晶振输出串22Ω~33Ω电阻再查晶振电源的滤波电容是否紧贴晶振引脚最后查VCCA电压是否稳定VCCA纹波超标会导致PLL持续抖动。5. AD09工程文件与工具链记录5.1 AD09工程的打开与迁移注意事项这个项目我留下的AD09工程文件确实踩了不少兼容性的坑。Altium Designer 2009AD09是很多实验室、老工程师电脑里的工作版本它生成的工程文件后缀是.PrjPCB和.SchDoc、.PcbDoc。新版AltiumAD20、AD21、AD24等可以打开AD09工程但反向不行AD09打不开新版格式。如果你拿到的工程文件是AD09版本用新版打开时通常会有一个Upgrade提示选择只读打开或者另存为新版本格式即可。但AD09打开别家工程容易出现几个问题元件库路径失效原理图里的元件符号找不到对应库、封装库路径失效PCB上的封装映射不上、网表重新加载提示错误。我的处理经验是打开工程后先不急着看原理图先检查Project面板里的Available Documents和Libraries列表重新指定库路径如果网表文件缺失直接从原理图重新生成网表再导入PCB也可以。另一个老生常谈工程路径和文件名不要带中文和空格AD09对中文路径的支持极差容易导致文件关联出错、无法保存、导出Gerber失败。我建议把整个工程文件夹放在纯英文路径下比如D:\FPGA_Projects\EP4CE15_CoreBoard。5.2 Quartus II 版本选择与工程配置Altera Cyclone IV系列最稳定、最常见的开发环境是Quartus II 13.0sp1支持Cyclone V之前所有器件也是我长期使用的版本。这里有个历史细节Quartus II 13.0之后新版本改成了Quartus Prime免费版对Cyclone IV这类老器件支持反而不如旧版完善。所以如果你用的是EP4CE15建议直接装Quartus II 13.0sp1安装包在Altera/Intel官方存档和各大镜像站都有网上搜“altera fpga用什么软件开发”“quartus ii 13.0 download”能找到很多教程。注意安装时只选Cyclone IV系列器件库可以省不少空间。新建工程时器件选择EP4CE15F17C8速度等级-8。Quartus工程设置里有几个让我印象深刻的点Pin Planner的引脚分配一定要和原理图完全对应我一直习惯先在Pin Planner里导入引脚分配CSV文件然后核对原理图而不是手输手输容易漏。工程编译会生成.sof配置文件用于JTAG直接下载调试如果要固化到EPCS16需要先Convert Programming File生成.jic文件再通过JTAG下载到EPCS16。下载时注意勾选Erase、Program、Verify否则可能出现“验证失败”的提示。另外Cyclone IV器件在Quartus里默认要勾选“Enable device-wide reset”或者“Auto-Restart Configuration”之类的配置选项具体按你的应用需求选但至少在调试阶段把“Auto-Restart Configuration”打开这样每次下载完配置后芯片会自动启动运行方便快速验证。5.3 工程文件里我留了什么工程包里我放了完整的设计源文件AD09格式的原理图、PCB、元件库和封装库还额外导出了一份PDF格式的原理图和一份CSV格式的元件清单BOM。原理图里每个功能模块电源、时钟、配置、SDRAM、Flash、串口、LED/按键、扩展IO都用框线分块并且加了中文注释方便后来的人看懂设计意图。PCB里我保留了完整的布线约束文件.DCR和一些关键网络的等长设置你可以直接用这些约束文件来指导修改不必从头定义规则。额外的文件包括一份“EP4CE15核心板设计说明.docx”和“BOM表.csv”以及Quartus工程里的顶层顶层Verilog测试代码LED、按键、串口回环等可以编译后直接下载到板子上验证功能。需要说明的是这个AD09工程是在老版本环境下画的用新版Altium打开时3D显示和某些丝印样式可能轻微变化但电气连接和封装定义完全保留。如果你用的是AD09打开建议先打开Lib文件夹里的原理图库和封装库重新编译一遍库再做一次Design - Update PCB Document把更新同步到PCB这样可以消除一些库路径断链问题。工程文件里我用的是英制单位milPCB原点设在板子左下角这和大多数人的习惯一致便于后续修改。说回整体体验。做这块EP4CE15F17C8核心板前前后后打样了三个版本才稳定第一次是电源层分割没规划好SDRAM高速跑不稳第二次是JTAG下载口线序画错返工修线第三次才算真正把电路和布线做扎实。硬件设计这东西没有太多玄学无非是原理图把电源、时钟、配置、去耦想清楚PCB把参考平面、回流路径、走线顺序理顺剩下的就是细心和耐心。如果你也正在做或者准备做Cyclone IV核心板建议照着这个思路先画原理图再优化布局有问题欢迎在评论区交流折腾经验。最后补一句调试的时候手里有一台靠谱的示波器和逻辑分析仪能帮你省掉大半的排查时间。
返回列表