草庐IT

CPU-FPGA

全部标签

【单周期CPU】LoongArch | LA32R | 二选一控制器MUX | 数据通路

前言:本章内容主要是演示在vivado下利用Verilog语言进行单周期简易CPU的设计。一步一步自己实现模型机的设计。本章先介绍单周期简易CPU中数据通路的设计。💻环境:一台内存4GB以上,装有64位Windows操作系统和Vivado2017.4以上版本软件的PC机。💎本章所采用的指令为LoongArch之LA32R版目录Ⅰ前置知识      0x00二选一控制器0x01数据通路ⅡVerilog实现 0x00 二选一控制器0x01构建数据通路Ⅲ结果分析0x00思路一结果分析0x01思路二结果分析Ⅰ前置知识 0x00二选一控制器数据选择器是一种多路输入单路输出的组合逻辑电路,MUX可以实现在

基于FPGA 外置qspi Flash的读写

1.写在前面FPGA内部不具有掉电存储程序的功能,所以都需要外置的flash存储器来存储程序,上电后从flash加载程序到FPGA中运行。外置的flash可以存储程序,也可以存储任何用户数据,可以更有效的利用flash的存储空间。值得注意的是,用于存储程序的flash和fpga连接用的是fpga的专用引脚,flash时钟信号不可以直接驱动,这个信号是fpga硬件直接管理的,需要使用原语才可以驱动时钟信号,这个原语叫STARTUPE2。STARTUPE2#(.PROG_USR("FALSE"),//Activateprogrameventsecurityfeature.Requiresencry

Windows上获取cpu info, cpuid, cpu id 方法整理

1.使用cmd获取cpuid   在CMD中输入如下命令:wmiccpugetprocessorid2.使用源代码编译获取cpuid:(借码)三个源代码文件调试通过原文链接1原文链接2//get_cpu_id.h//get_cpu_id.h#pragmaonce#include#include#include#include//samefunctionas:  wmiccpugetprocessoridclassCGetCPUId{public:  CGetCPUId();  virtual~CGetCPUId();public:  std::string         GetId();};

swift - swiftc -target 和 -target-cpu 选项可以使用哪些目标?

这个问题是关于交叉编译的。使用swift编译器的-target或-target-cpu选项可以使用哪些不同的目标?我在哪里可以找到概述?它只能用于创建iOS/watchOS应用程序,还是我可以使用它在macOS上创建linux程序(常规x86-64处理器)?我尝试搜索github存储库,发现'x86_64-unknown-linux-gnu'作为目标。然而,当我尝试编译一个简单的“helloworld”程序(swiftc-targetx86_64-unknown-linux-gnutest.swift)时,我得到了这个错误::0:error:unabletoloadstandardli

swift - swiftc -target 和 -target-cpu 选项可以使用哪些目标?

这个问题是关于交叉编译的。使用swift编译器的-target或-target-cpu选项可以使用哪些不同的目标?我在哪里可以找到概述?它只能用于创建iOS/watchOS应用程序,还是我可以使用它在macOS上创建linux程序(常规x86-64处理器)?我尝试搜索github存储库,发现'x86_64-unknown-linux-gnu'作为目标。然而,当我尝试编译一个简单的“helloworld”程序(swiftc-targetx86_64-unknown-linux-gnutest.swift)时,我得到了这个错误::0:error:unabletoloadstandardli

FPGA纯verilog实现UDP协议栈 AXIS用户接口,可替代Tri Mode Ethernet MAC,提供三套工程源码和技术支持

目录1、前言2、我这里已有的UDP方案3、该UDP协议栈性能4、详细设计方案网络PHYRGMII转GMII模块AXISFIFOUDP协议栈5、vivado工程1-->B50610工程6、vivado工程1-->RTL8211工程7、vivado工程1-->88E1518工程8、上板调试验证并演示准备工作查看ARPUDP数据回环测试9、福利:工程代码的获取1、前言目前网上的fpga实现udp基本生态如下:1:verilog编写的udp收发器,但中间的FIFO或者RAM等调用了IP,或者不带ping功能,这样的代码功能正常也能用,但不带ping功能基本就是废物,在实际项目中不会用这样的代码,试想,

开源项目 | 详细介绍下基于PCIe通信的Verilog/FPGA开源项目KastnerRG/riffa

目录1.项目背景2.项目特点3.项目结构4.项目应用总结第一时间更新,以及更多更及时的技术资讯和学习技术资料,请关注公众号:CTOPlusKastnerRG/riffa是一个基于PCIe通信的Verilog/FPGA开源项目,旨在提供一个高性能、低延迟和可扩展的通信解决方案。该项目由美国加州大学圣地亚哥分校的研究人员开发,已经在多个应用领域得到了广泛应用。可以用于在FPGA之间、FPGA和计算机之间进行数据传输。本篇将从KastnerRG/riffa的项目背景、项目特点、项目结构,以及项目的应用,介绍下基于PCIe通信的Verilog/FPGA开源项目,从此开源项目中可以学习到一些开发的技巧,

基于FPGA的通用异步收发传输器(UART)设计

基本目的: (1)了解UART通讯原理,包括数据传输格式、电气特性等;(2)研究Basys3开发板与PC之间通讯电平规格的转换;(3)设计并实现UART的发送(TX)功能或接收(RX)功能。高级任务(可选):可调。(4)设计并实现UART的发送(TX)功能和接收(RX)功能,构建回环测试;(5)可根据表1的UART协议规格,自由配置UART的各项参数;指标描述波特率9600bps、115200bps、460800bps(可调)起始位数1数据位数7、8(可调)校验位奇校验、偶校验(可调)停止位1表1 UART协议规格(6)在实现以上功能的基础上,对电路进行优化,降低资源利用率;(7)基于以上要求

龙芯、鲲鹏、海光等国产CPU厂商,联手打开中国芯片行业崛起之路

前些日,美媒《华尔街日报》发布了一篇文章,引用数据和数名专家的论证指出:美方对中国芯片的严厉监管对中国芯片技术的发展起到了反作用,促使多家中国龙头科技公司加快研究步伐和实现创新。事实也的确如此,一批以龙芯、鲲鹏、海光等国产六大CPU厂商为代表的的优质国产芯片企业正在快速发展。联合多国限制中国芯片业,美国愿望恐难实现去年后半年,美国大幅提升了对我国芯片技术、半导体原料和制造设备的打压力度,并联合各国在半导体领域孤立中国,比如让日本、韩国对中国进行出口限制,以及通知荷兰、德国停止与中国的相关合作等。不过这样的不正当竞争毕竟是歧路。微软公司创始人比尔·盖茨认为,围堵只能起到“鞭策”作用,让中国更快地

FPGA时序约束--实战篇(Vivado添加时序约束)

前面几篇文章已经详细介绍了FPGA时序约束基础知识以及常用的时序约束命令,相信大家已经基本掌握了时序约束的方法。今天介绍一下,如何在Vivado中添加时序约束,Vivado添加约束的方法有3种:xdc文件、时序约束向导(ConstraintsWizard)、时序约束编辑器(EditTimingConstraints)一、XDC文件使用VIvado的“Source文件管理器”直接创建新的xdc文件或者添加已有的xdc文件。具体步骤如下:第一步:点击“+”​第二步:选择“Addorcreateconstraints”,点击“next”​第三步:如果是添加文件则点击“AddFiles”,如果是新建文