紫光同创 FPGA 开发工具 PDS 入门
近日使用紫光同创 TITAN2 系列 FPGA PG2T390H-6FFBG676 进行卷积神经网络加速实验,需要使用 PDS 软件,其操作思路与 Vivado 以及 Quartus 大体一致,将其中不太一样的部分记录下防止后面遗忘频繁翻阅手册。 首先,选择非 Xilinx 系的 FPGA 进行 AI 相关的开发是需要一定勇气的,毕竟缺失了 HLS 的支持,全部 HDL 语言重构模块成了比较理想的选择。 不过这也算是一件非常有趣的事。首先 Verilog 实现的过程中,肯定能加深理解。其次,并行计算肯定以及与外部数据交互肯定比起 HLS 生成的代码更容易修改。 1 约束文件可视化配置 单击 "Tools -> User Constraint Editor (Timing and Logic) -> Pre Synthesize UCE",打开选择 Device 根据原理图配置引脚和电平即可。 2 程序加载 单击 "Tools -> Condiguration",也可以直接在安装目录下打开 cdt_cfg.exe,在主界面右击选择 Scan...
YOLOv5 单目标分类简明教程
YOLOv5 能够实现快速的目标检测,适合需要实时处理的应用场景。 1 安装 从 Github 上下载并安装运行需要使用的依赖, 123git clone https://github.com/ultralytics/yolov5cd ./yolov5%pip install -qr requirements.txt 验证是否可以正常运行, 123import torchimport utilsdisplay = utils.notebook_init() # checks 终端显示输出安装环境的状态信息以及计算机的相关信息,即可正常运行。 12YOLOv5 2024-12-5 Python-3.8.20 torch-2.4.1+cpu CPUSetup complete (20 CPUs, 31.7 GB RAM, 59.3/84.1 GB disk) YOLOv5 可以实现目标分类与目标识别,下面简单介绍下目标分类的实现。 2 推理 终端运行推理脚本,配置与训练模型与需要分类的数据。 1!python classify/predict.py --weights...
通过 vscode ssh 远程连接 ARM linux
近日,在使用 RK3588 时,移植的精简 Linux 既没有 apt 等安装工具,同时也没有 C 编译器。 这样就需要首先在 PC 端使用交叉编译通过后,再将编译的文件传到 RK3588 上才能使用。 1 遇到问题 RK3588 通过 buildroot 定制的 Linux 啥安装工具也没有,必须使用源码编译才能安装必须的软件。 1234aptdpkgrpmyum 然而,源码编译在 ARM 端无法通过,因为 ARM 没有编译工具。同时,由于 ARM 端没有安装工具无法安装 C 编译器。 同时,该定制版本 Linux 中的 tar 压缩解压工具由于版本问题无法实现 tar.gz 文件的解压,导致很多问题的产生。例如,通过 vscode 无法 ssh 远程 ARM 端。 2 解决思路 要想解决上述问题,有两条可行的道路,要不重新移植 Linux,要不通过交叉编译实现 ARM 端软件工具的安装。 重新移植 Linux 无论是时间成本还是技术成本上而言,都是特别高的,而且容易一步错、步步错。 交叉编译环境的搭建无论是哪种方案都需要去做的,于是,我们选取了通过交叉编译实现 ARM...
光子学智能变量优化工具( PIVOT )用户手册
光子学智能变量优化工具(PIVOT)操作手册 1 PIVOT 简介 随着科学探索越来越深入,各行各业设计都呈现出设计尺度越来越小、设计规模越来越大、集成化程度越来越高的趋势,随之而来的是设计参数空间的维度越来越大,传统的扫描工具在面对日渐增长的设计参数空间维度时,很难在短时间内得到可行解。 优化算法可以在更大设计参数空间上更快速获取可行解,是理想的解决方案。然而,算法开发成本高,虽然也有很多开源算法,然而开源算法一般是通用型算法,必须懂得算法原理后重构部分代码以适配项目,因此要求执行仿真设计优化的员工必须既懂得相关领域的知识、又懂得算法以及编程相关的知识才可以执行设计参数空间很大的仿真设计。 为了解决上述难题,让各行业优秀的设计人才可以专注于设计本身,而不需要花费额外精力学习探索算法,把优化算法只作为类似于仿真的基础工具,逍遥科技推出光子学智能变量优化工具(Photonic Intelligent Variable Optimization Tool , 以下简称 PIVOT)。PIVOT 旨在为用户提供从扫描到优化的进阶,用户只需要 4...
python 转换 py 文件为二进制后打包成 wheel 文件
python 转换成二进制文件可以再一定程度上起到加密作用, 封装成 whl 文件提供给用户方便安装。 1 转换 首先安装 cpython, 1pip install cpython 文件夹如下所示, 12345678910your_project/│├── src/ # 包含代码和资源的目录│ ├── your_module/ # 模块的目录│ │ ├── __init__.py│ │ ├── main_script.py # 引用PNG文件的代码│ │ └── assets/ # 存放PNG文件的目录│ │ └── image.png│└── setup.py # 用于打包的配置文件 编写 setup.py 文件, 1234567891011121314151617181920from setuptools import setup, Extensionfrom Cython.Build import cythonizeimport osdef...
世界的本质是什么?
我们所处所谓的物理世界,会不会仅仅只是一道程序。...
python 中跨脚本处理全局变量
Python 中跨脚本传递全局变量的方式多种多样,这里介绍一种比较优雅的方式。 两个脚本数据交互 脚本 1 中定义并初始化全局变量,并且定义全局变量赋值取值函数。 1234567891011121314def _global_dict(): global _gd _gd = {}def set_value(key, value): _gd[key] = valuedef get_value(key): try: return _gd[key] except Exception as e: print("读取{}失败".format(key),e)_global_dict() 脚本 2 中,直接导入脚本 1 即可实现初始化。 多脚本交互 专门设定一个脚本用于存放处理全局变量。 123456789101112def _global_dict(): global _gd _gd = {}def set_value(key,...
集成光子预测系统(IPPC)
集成光子预测系统(Integrated Photonic Prediction System, IPPC)旨在为用户提供快速设计特定结构的光子器件和光电子链路的方法。 1 研究背景 后摩尔时代,随着集成电路走向物理和理论极限,集成光子技术作为可替代方案,得到越来越多的关注。然而,无论是集成光子器件设计、还是集成光电子系统链路设计,都需要花费大量的仿真时间。同时,在设计过程中,最终设计不是一步达成的,其间,需要大量的迭代仿真才能设计出最终符合要求的设计结构。然而,在过去,从初始构想到设计结果中大量的无效仿真数据都被舍弃。为帮助设计者节约仿真时间同时对无效数据加以利用,集成光子预测系统(Integrated Photonic Prediction System,...
直接二进制搜索方法(DBS Method)
直接二进制搜索(Direct Binary Search,...
使用 tkinter 创建类 web 界面
tkinter 作为 python 标准库,兼具环境友好、简单易用等特性。然而一直以来,其难以构建复杂动态 GUI 的问题一直被诟病。在此,参考开源案例,尝试开发类 WEB 界面开发。 1 界面展示 2 内容刷新 1234567891011121314151617181920def flush_gui(self): gui_width = self.root.winfo_width() gui_height = self.root.winfo_height() oper_order = self.oper_order name = self.name button_click = self.button_click if self.root.state() == "zoomed": max_gui = 1 else: max_gui = 0 self.root.destroy() win = Window( ...