草庐IT

基于FPGA的AES加密解密vivado仿真,verilog开发,包含testbench

目录1.算法描述2.仿真效果预览3.verilog核心程序4.完整verilog1.算法描述     AES,高级加密标准,是采用区块加密的一种标准,又称Rijndael加密法.严格上来讲,AES和Rijndael又不是完全一样,AES的区块长度固定为128比特,秘钥长度可以是128,192或者256.Rijndael加密法可以支持更大范围的区块和密钥长度,Rijndael使用的密钥和区块长度均可以是128,192或256比特.AES是对称加密最流行的算法之一.    AES算法在对明文加密的时候,并不是把整个明文一股脑的加密成一整段密文,而是把明文拆分成一个个独立的明文块,每一个明文块长度1

基于ARM和FPGA的数字示波器设计——QMJ

文章目录前言一、便携式数字示波器设计1.1设计原理及思路1.2系统技术指标二、示波器各模块作用2.1LCT2308介绍2.2adc.v模块介绍2.3time_scaler.v模块介绍2.4trigger.v模块介绍2.5vga.v模块介绍三、VGA两种像素数据传递方式四、硬件介绍及结果分析五、工具使用5.1运用逻辑分析仪及Modelism5.2制作嵌入式linux-SD系统启动卡5.3学习HPS和FPGA的地址映射5.4将电脑与开发板通过NFS进行挂载六、设计过程中方向上出现的问题前言  本设计是一个4通道便携式数字示波器,采用DE1-SOC双核心开发板进行设计。示波器的数模转换器采用LCT2

Xilinx-FPGA关于BUFFER(时钟/普通IO信号)的使用总结

目录前言一、时钟BUFFER使用总结二、普通IO输出时钟信号时的推荐方法使用ODDR前言Xilinx-FPGA开发过程中,关于时钟信号和普通IO信号引入FPGA内部需要遵循一定的使用方法,现在自己一年多使用过的内容做一个总结,也供新手参考。关于BUFFERS原语,主用用于对端口时钟信号及其他重要信号的缓冲和驱动,满足FPGA底层硬件综合布线规则,以正确且充分的利用FPGA全局时钟树资源。一、使用总结1、IBUFG+BUFGIBUFG+BUFG是最常用的使用方法,可以用BUFGP,BUFGP=IBUFG+BUFG。个人经验:如工程设计中使用局时钟树资源,一般使用clockingwizardIP和

笔试题-2023-诺瓦星云-FPGA(第1套)【纯净题目版】

回到首页:2023数字IC设计秋招复盘——数十家公司笔试题、面试实录推荐内容:数字IC设计学习比较实用的资料推荐题目背景笔试时间:2022.08.05应聘岗位:FPGA笔试平台:北森题目评价难易程度:★★★☆☆知识覆盖:★★★☆☆超纲范围:☆☆☆☆☆值得一刷:★★★☆☆文章目录不定项选择1.已知74LS138译码器的输入三个使能端(E1=1.E2A=E2B=0)时,地址码A2A1A0=011,则输出Y7~Y0是().2.将输入的二进制代码转换为对应的信号输出的电路为()?3.如果c=a*b,无符号数a和b都是16bit的,那么c应该是多少bit?()4.在下列逻辑电路中,属于组合逻辑电路的是(

FPGA学习总结5:常见IO接口标准

0.FPGASelectIO引言        xilinx7系列FPGA的SelectIO。所谓SelectIO,就是I/O接口以及I/O逻辑的总称;说到I/O,咱们必须先提到FPGA的BANK。在7系列的FPGA中,BANK分为HR(High-range)BANK和HP(High-performance)BANK。1.HPBANK只能支持小于等于1.8V电平标准的I/O信号,HPBANK专为高速I/O信号设计,支持DCI(数控阻抗);HPBANK涉及的高速I/O接口类型:GTX、GTH、GTY、GTP、GTZ、GTM;他们都是高速收发器,只是传输速率不同,速率大小为:GTP不同芯片上使用的

FPGA学习(一)同步复位和异步复位的区别

一、同步复位定义:从名字来看,同步也就是和时钟同步的关系,一起发生变化。所以同步复位就是只有时钟上升沿到来时,才能产生有效变化;否则,无法产生对系统的复位操作。举个例子如下://一个高电平有效的同步复位的D触发器moduletop_module(inputclk,inputreset,//Synchronousresetinput[7:0]d,output[7:0]q);always@(posedgeclk)beginif(reset)q对应的仿真代码如下`timescale1ns/1psmodulefang();regclk,reset;reg[7:0]d;wire[7:0]q;initia

【FPGA】基于HLS的全连接神经网络手写体识别

目录一系统分析1.1全连接神经网络简介 二通过HLS编写全连接神经网络传入权重参数和偏置参数文件2.1 获得图片、权重以及偏置的参数2.2编写C语言的全连接算子2.3SlaveInterfaces2.3.1hls_avalon_slave_component 2.3.2hls_avalon_slave_register_argument2.3.3 slave_memory_argument三输入图片进行测试并生成IP3.1编译、测试3.1.1初始化环境3.1.2编译3.2添加IP进Quartus并添加到SOC工程中生成硬件3.2.1将IP文件夹复制到黄金工程的IP文件夹下 3.2.2打开黄金工

FPGA项目四:串口通信

文章目录第四章串口通信第1节项目背景第2节设计目标第3节设计实现3.1顶层信号3.2信号设计3.2.1边沿检测电路设计3.2.2异步信号同步化3.3信号定义第4节综合工程和上板4.1新建工程4.2综合4.3配置管脚4.4再次综合4.5连接开发板4.6上板4.7串口调试第四章串口通信第1节项目背景信息数据被逐位按顺序传送的通讯方式称为串行通信。串行接口(SerialInterface),简称串口,即是采用串行通信方式的扩展接口。其采用一位一位的方式顺序的传送数据,又可称串行通信接口或串行通讯接口(通常指COM接口)。串行接口的特点是通信线路简单,只要一对传输线就可以实现双向通信,并且可以直接利用

FPGA实现精简版UDP通信,占资源很少但很稳定,提供2套工程源码

目录1.高端、中等和精简版UDP通信的选择2.精简版UDP通信实现方案3.工程1介绍及资源占用率和性能表现4.工程2介绍及资源占用率和性能表现5.上板调试验证6.福利:工程代码的获取1.高端、中等和精简版UDP通信的选择FPGA实现UDP协议可难可易,具体根据项目需求而定,目前项目上的需求大概有如下几种:1、使用Xilinx系列FPGA实现UDP通信,且传输的数据量大,速率快,带宽高,这类的UDP通信必然要用到Xilinx的三速网IP,用户接口的数据必然是AXIS流,此类UDP协议功能齐全,无疑是很好的方案,关于这类的UDP通信介绍以及工程源码请参考我之前写的文章点击查看:高端UDP通信,附带

spinalhdl,vivado,fpga

https://spinalhdl.github.io/SpinalDoc-RTD/masterspinalhdlsudoaptinstallopenjdk-17-jdkscalacurlecho“debhttps://repo.scala-sbt.org/scalasbt/debianallmain”|sudotee/etc/apt/sources.list.d/sbt.listecho“debhttps://repo.scala-sbt.org/scalasbt/debian/”|sudotee/etc/apt/sources.list.d/sbt_old.listcurl-sL“http