什么网站可以用手机做兼职赚钱wordpress很卡
2026/3/27 10:01:52 网站建设 项目流程
什么网站可以用手机做兼职赚钱,wordpress很卡,广告制作公司注册,官方网站首页FPGA升级#xff0c;FPGA远程更新。 使用串口更新x1 QSPI Flash上的用例使用的是串口#xff0c;理解原理后可更换为其它接口。 带校验#xff0c;防止变砖和双冗余设计#xff0c;无需任何ip。Xilinx FPGA 7系列上纯逻辑FPGA实现远程更新#xff0c;使用串口进行#xf…FPGA升级FPGA远程更新。 使用串口更新x1 QSPI Flash上的用例使用的是串口理解原理后可更换为其它接口。 带校验防止变砖和双冗余设计无需任何ip。 Xilinx FPGA 7系列上纯逻辑FPGA实现远程更新使用串口进行提供上位机Verilog源码带flash仿真模型testbench。 上位机源码。 说明文档。 自己已经验证的是artix-7n25q128 注释齐全文档细节仿真到位。 无论是学习还是工程都值得参考。 搞过FPGA的兄弟都懂现场设备刷固件时扛着烧录器跑现场有多蛋疼。最近用Xilinx 7系FPGA折腾了个远程更新方案不依赖任何IP核纯Verilog实现今天咱们扒开代码看看怎么玩的。核心思路就是通过串口劫持QSPI控制权图1。上电时FPGA先检查升级标志位没升级需求就直接启动。有升级包来了就接管Flash控制器把新固件塞进备用区最后切换启动分区——这过程听着简单实际要考虑的坑可不少。先看命令解析部分always (posedge clk) begin case(state) IDLE: if(uart_rx_valid uart_data 8hAA) state CMD_HEADER; CMD_HEADER: if(uart_rx_valid) begin cmd_type uart_data[7:4]; payload_len uart_data[3:0]; crc_acc uart_data; state PAYLOAD; end //...后续状态机省略 endcase end这个状态机专门处理上位机发来的升级指令注意cmdtype用高四位实现指令扩展payloadlen低四位表示数据长度。故意没做超时退出是为了避免网络抖动导致中断但实际工程要考虑加狗。Flash双分区操作是防变砖的关键// 分区切换逻辑 assign active_partition (golden_reg 8hA5) ? PARTITION_B : PARTITION_A; always (posedge reconfig) begin if(verify_ok) begin flash_write(GOLDEN_REG_ADDR, 8hA5); // 写切换标志 soft_reset 1b1; end endgolden_reg这个标志位存在Flash固定地址升级成功后写入特定值下次启动自动切分区。万一新固件启动失败硬件看门狗会触发回滚——这就是双保险的精髓。上位机协议设计有个骚操作每512字节数据包后面跟两个CRC16校验字节。但实测发现直接用TCP自带校验更香所以代码里留了校验开关parameter USE_CRC 1; // 0:禁用校验 1:启用 generate if(USE_CRC) begin crc16 crc_inst(.clk(clk), .data_in(uart_data), .rst(state IDLE)); end endgenerate想换其他通信方式直接把uartrxvalid替换成ethrxvalid之类的信号就行协议处理逻辑不用大改。实测用SPI转WiFi模块能跑到500kbps比原生串口快十倍。仿真模型是另一个亮点用$readmemh直接加载Flash初始内容reg [7:0] flash_mem [0:16*1024*1024-1]; initial begin if($test$plusargs(load_image)) $readmemh(fw_image.hex, flash_mem); end配合VCS跑回归测试能模拟各种异常场景比如突然断电后验证标志位是否完整故意传错误固件看校验是否拦截。这套方案在矿机的FPGA上跑了半年多经历过网络丢包、电压不稳这些破事目前还没翻过车。代码里最值钱的其实是那堆异常处理状态——比如擦除超时自动重试、发现坏块自动跳过这些坑文档里可都记着血泪史。下次准备移植到国产FPGA平台到时候再跟大伙聊聊怎么适配不同的Flash型号。源码和上位机工具已扔Github需要的老铁自取记得Star就行~

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询