草庐IT

FPGA入门

全部标签

Tinyriscv FPGA移植

Tinyriscv介绍Tinyriscv:本项目实现的是一个单核32位的小型RISC-V处理器核(tinyriscv),采用verilog语言编写。tinyriscv有以下特点:支持RV32IM指令集,通过RISC-V指令兼容性测试;采用三级流水线,即取指,译码,执行;可以运行C语言程序;支持JTAG,可以通过openocd读写内存(在线更新程序);支持中断;支持总线;支持FreeRTOS;支持通过串口更新程序;容易移植到任何FPGA平台(如果资源足够的话);tinyriscv的整体框架如下:项目中的各目录说明:rtl:该目录包含tinyriscv的所有verilog源码;sim:该目录包含仿

FPGA verilog 简单的平方根求法

用下面的平方根求法不需要乘法,只需简单的移位就能实现。function[15:0]sqrt;input[31:0]num;//declareinput//intermediatesignals.reg[31:0]a;reg[15:0]q;reg[17:0]left,right,r;integeri;begin//initializeallthevariables.a=num;q=0;i=0;left=0;//inputtoadder/subright=0;//inputtoadder/subr=0;//remainder//runthecalculationsfor16iterations.f

FPGA设计篇之双调排序

FPGA设计篇之双调排序(BitonicSort)一、写在前面二、双调排序算法原理2.1双调序列2.2Batcher定理2.3双调排序算法2.4构造双调序列2.5小结三、双调排序算法RTL实现四、Test_bench五、仿真结果六、写在后面一、写在前面  在前面,我们介绍了并行全排序算法的原理及RTL级设计,在本文中将继续介绍另外一种排序算法——双调排序算法(BitonicSort)的基本原理及其实现。双调排序算法是一种用于排序的并行算法,该算法由KenBatcher提出。对于含有N个元素的排序网络,该网络中总共需要(N/2)*log2N个排序器,排序时间复杂度为log2N。二、双调排序算法原

YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)

前言通过前几篇文章,相信大家已经学会训练自己的数据集了。本篇是YOLOv5入门实践系列的最后一篇,也是一篇总结,我们再来一起按着配置环境-->标注数据集-->划分数据集-->训练模型-->测试模型-->推理模型的步骤,从零开始,一起实现自己的目标检测模型吧!前期回顾:YOLOv5入门实践(1)——手把手带你环境配置搭建YOLOv5入门实践(2)——手把手教你利用labelimg标注数据集YOLOv5入门实践(3)——手把手教你划分自己的数据集YOLOv5入门实践(4)——手把手教你训练自己的数据集 ​  🍀本人YOLOv5源码详解系列:  YOLOv5源码逐行超详细注释与解读(1)——项目目录

零基础入门数据挖掘——二手车交易价格预测:baseline

零基础入门数据挖掘-二手车交易价格预测赛题理解比赛要求参赛选手根据给定的数据集,建立模型,二手汽车的交易价格。赛题以预测二手车的交易价格为任务,数据集报名后可见并可下载,该数据来自某交易平台的二手车交易记录,总数据量超过40w,包含31列变量信息,其中15列为匿名变量。为了保证比赛的公平性,将会从中抽取15万条作为训练集,5万条作为测试集A,5万条作为测试集B,同时会对name、model、brand和regionCode等信息进行脱敏。比赛地址:https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=51

【Web实战】零基础微信小程序逆向(非常详细)从零基础入门到精通,看完这一篇就够了

本文以微信小程序为例,从实战入手,讲解有关于小程序这种新型攻击面的渗透,对于了解小程序的安全性和防范措施有一定的帮助。什么是小程序?作为中国特有的一种程序形态,小程序在我们的日常生活中已经无处不在。腾讯、百度、阿里巴巴、字节跳动、京东等各家互联网大厂都有各自的生态平台,当然,也有快应用这种行业联盟型的生态平台。相较于传统的APP开发,小程序的区别有(以微信举例)微信小程序架构分析整个小程序框架系统分为两部分:逻辑层(AppService)和视图层(View)。小程序提供了自己的视图层描述语言WXML和WXSS,以及基于JavaScript的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系

【Android】MQTT入门——服务器部署与客户端搭建

目录MQTT协议简介应用场景优点缺点部署服务端下载安装包启动服务器搭建客户端下载SDK添加依赖配置MQTT服务和权限建立连接订阅主题发布消息取消订阅断开连接MQTT客户端工具最终效果实现传感器数据采集与监测功能思路MQTT协议简介MQTT(MessageQueuingTelemetryTransport)是一种基于发布/订阅模式的轻量级消息传输协议,专门针对低带宽、和不稳定网络环境的物联网应用而设计,它可以用极少的代码为互联网设备提供实时可靠的消息服务。应用场景MQTT协议主要用于物联网和移动设备等资源有限的场景中,其中包括物联网、移动互联网、智能硬件、车联网、智慧城市、远程医疗、电力、石油与

基于FPGA视频接口之HDMI2.0编/解码

简介    为什么要特别说明HDMI的版本,是因为HDMI的版本众多,代表的HDMI速度同样不同,当前版本在HDMI2.1速度达到48Gbps,可以传输4K及以上图像,但我们当前还停留在1080P@60部分,且使用的芯片和硬件结构有很大差别,故将HDMI分为两个部分说明1080@60以下分辨率和4K以上分辨率(HDMI2.0).HDMI硬件连接    HDMI的硬件连接,大家估计都知道,电视后面那个,我们用的是HDMI母座,线上一版是公座    此外当前还有MiniHDMI座,有兴趣的同学可以自己查一查HDMI编码方式1:芯片    在此就不对HDMI芯片方式做过多的讲解,只要按照芯片手册来配

Yubikey 安全密钥折腾记(2):使用入门

文章目录Yubico与YubiKey软件安装设置前准备……OTPSlotFIDO设置PINWebAuthn(2FA)SSHviaFIDOPIVPIN、PUK与ManagementKeyPIN-only模式CertificatesSSHviaPIV参考自从上次使用CloudflareZero的优惠买下两个YubiKey之后,这俩玩意被我搁置了一个学期。原因之一是学习成本不低,关于它们的文档、教程都充斥着不少不太了解的名词、概念,令人望而却步。于是经过查阅各种资料,在这篇博客中我将(用白话文)介绍我从零开始的YubiKey入门之旅。(本文首发于blog.skywt.cn,建议查看原文以获得更好的阅

【FPGA/verilog -入门学习10】verilog 查表法实现正弦波形发生器

0,需求用查找表设计实现一个正弦波形发生器寻址的位宽是10位,数据量是1024个,输出的数据是16位1,需求分析数据量是1024个:x=linspace(0,2*pi,1024)输出数据是16位:y范围:0~2^16-1=0~65535y=(sin(x)+1)*65535/2寻址的位宽是10位输入是0~10231023占用10位操作步骤1,使用matlab生成数据,制作sin_rom.coe文件x=linspace(0,2*pi,1024);y=floor((sin(x)+1)*(65535/2));plot(x,y);formatlonggfilesize=size(y,2);fileID=