基于Chisel的FPGA流水灯设计 Chisel是一种基于Scala的硬件构造语言,它允许设计者使用高级的编程概念来构建硬件。Chisel的设计哲学是“不要重复自己”(DRY),这意味着它鼓励设计者通过参数化和模块化来重用代码。
STM32F103C8T6 & HC-SR04超声波模块——超声波障碍物测距(HAl库) HC-SR04是一款常用的超声波测距模块,它能够通过发送超声波脉冲并接收其回波来测量物体与传感器之间的距离。这种模块广泛应用于机器人、智能小车、智能家居等领域,可以用于测量墙壁距离、障碍物距离、物品距离。本次实现了STM32F103C8T6微控制器和HC-SR04超声波测距模块的结合应用,并通过LED闪烁频率表现出来。通过CubeMX的图形化配置和Keil5的开发环境,项目简化了开发流程,提高了开发效率。此外,项目还提供了对超声波测距原理的深入理解,以及如何通过软件控制硬件来实现特定功能的方法。
HLS入门(Xilinx Vivado 2019.2)——点亮LED仿真 HLS是一种设计方法,使用HSL可以更快地开发电子系统,特别是那些需要特定硬件加速的复杂系统。通过使用HLS,你可以用高级语言(如C或C++)编写代码,然后自动转换成硬件描述语言(HDL),从而加速开发过程。此次学习了如何使用Xilinx Vivado HLS 2019.2版本来实现一个简单的LED点亮仿真项目。这个过程包括了创建项目、添加源文件、编写C/C++代码、配置HLS工具、进行仿真与综合,以及最终的验证和实现步骤。
FPGA的VGA实现 不同分辨率的VGA显示时序是类似的,仅存在参数上的差异,如图 18.1.5所示。与之类似,场同步信号在在一个场扫描周期中完成一帧图像的显示,不同的是行扫描周期的基本单位是像素点时钟,即完成一个像素点显示所需要的时间;逐行扫描是扫描从屏幕左上角一点开始,从左像右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步;VGA 显示器显示图像,并不是直接让图像在显示器上显示出来,而是采用扫描的方式,VGA用的扫描的方式,一般是逐行扫描。
基于Nios-II的流水灯 从”System Contents”标签栏,双击建立好的 cpu 进入 Nios II Processor 的配置界面,配置 Reset Vector 和 Exception Vector 为””onchip_ram.s1”,点击 Finish。在”IRQ”标签栏下点选”Avalon_jtag_slave”和 IRQ 的连接点就会为”jtag_uart”核添加一个值为 0 的中断号。在”Size”栏中的”Total memory size”窗口中输入 40960(即片上内存的大小为 40KB),
ROS仿真小车与SLAM 加载robot_description时使用command属性,属性值就是调用 xacro 功能包的 xacro 程序直接解析 xacro 文件,然后启动launch文件。在xacro文件夹中建my_camera.urdf.xacro my_car_camera.urdf.xacro my_laser.urdf.xacro文件。先编译配置launch文件,退到主目录catkin_ws下,执行catkin_make。成功之后,再执行 catkin_make install。
【Arduino&Quartus】在小脚丫STEP CYC10上安装PulseRain Reindeer并在软核上运行基础功能 老资料坑都有点多,需要一个一个解决问题,其次遇到实在没办法的问题,可以直接去软件论坛发帖求助,这样比较简单,或者直接退版本。
【Ubuntu-20.04】OpenCV-3.4.16的安装并对图片与视频处理 【Ubuntu-20.04】OpenCV-3.4.16的安装并对图片与视频处理一、安装OpenCV-3.4.161.下载OpenCV-3.4.16安装包2.将安装包放到/home,并解压3.使用 cmake 安装 opencv4.配置环境5.查看 opencv 的版本信息二、处理图片(一)创建文件夹 code ,进入文件夹(二)创建test1.cpp 文件(三)编译文件(四)执行程序三、处理视频(一)虚拟机获取摄像头权限(二)播放视频1.创建一个 test2.cpp 文件2.编译并运行 test2.cpp
【Ubuntu22.04】ROS2-Humble——命令行操作 将上面的画圆命令中的接口turtle1改为turtle2后,第二个小海龟也开始画圆。输入后,在key中操作turtle1,完成后按ctrl+c结束录制。turtlesim的数据大部分是通过话题来发布和订阅来的。可查看到多了一个turtle2。
Ubuntu22.04——ROS2安装以及小海龟画圆 ROS2-humble因为是才出来的版本,所以教程有点难找,还是建议使用ROS,不然很折磨。如果可以,尽量去直接阅读ROS2的手册进行操作。下面引用中有humble的手册。
FPGA——Verilog语法基础 硬件描述语言(Hardware Description Language),简称为HDL,HDL是一种电子系统硬件行为描述结构描述数据流描述的语言, 用它可以表示逻辑电路图逻辑表达式复杂数字逻辑系统的逻辑功能,并且可以从顶层到底层逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(Electronics Design Automation,EDA)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接下去再用。
FPGA——状态机 首先,FPGA是Field Programmable Gate Array的简写,翻译过来就是“现场可编程门阵列”。它是一个集成电路,可以对其反复配置以执行无限多的功能。具体而言,FPGA就是由可编程逻辑功能块和可编程I/O模块排成阵列组成,并由可编程的内部连线连接这些逻辑功能块和I/O模块来实现不同的设计,而一般来说,现在都是用的Verilog来进行这些方面的编程。
Proteus仿真51程序——使用C语言与汇编语言编写LED流水灯 因为是用汇编语言写的,所以不需要使用keil的.start文件,新建文件时跳出的弹窗选择NO。并且汇编程序的后缀名为.asm。因为要在Proteus上进行仿真,所以将文件的output中的生成hex文件勾选上,不会的看之前文章。GIF帧率太低所以跳帧后出现隔一个LED亮一个的现象。再点击编译后,就可得到hex文件。
单周期CPU处理器的Verilog设计 中央处理器,即CPU,作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。在CPU内部,电平从低到高变化的瞬间称为时钟上升沿,两个相邻时钟上升沿之间的时间间隔称为一个时钟周期。单周期CPU指的是一条指令的执行在一个时钟周期内完成,然后开始下一条指令的执行,即一条指令用一个时钟周期完成。
FPGA编程入门——HDLBits练习、Quartus编写加法器 HDLBits是一个在线的Verilog编程学习网站。可以在上面通过例程快速上手学习Verilog编程,不过因为是全英文的,所以建议看不懂的地方可以参考HDLBits 中文导学来学习。通过半加器能更快构建全加器,再通过全加器可以构建多位全加器,因为时间原因,没能上板测试四位全加器,所以只给出1位全加器。