fpga
文章平均质量分 67
fpga
jun_luo_yu
C++ FPGA RISCV
展开
-
zcu106 lwip搭建以太网配置寄存器
无原创 2022-12-01 17:23:35 · 1252 阅读 · 1 评论 -
FPGA杂记
我们取pos_cnt==2’d1的时候div3_o_r0输出高电平,neg_cnt==2’d1的时候div3_o_r1输出高电。由于div3_o_r0和div3_o_r1输出1个时钟的高电平,但是相位相差180°,因此只要执行div3_o=div3_o_r0|计数周期是0-1-2,共。在线逻辑分析仪的采样深度,使用的是FPGA的BRAM,以及设置Captrue control,对于这种超慢信号,div3_o_r1运算,就能实现1.5倍周期的输出高电平,那么剩余的1.5倍源时钟周期就是输出低电平了。原创 2022-11-08 22:01:09 · 2879 阅读 · 0 评论 -
ZYNQ7010的PS编程笔记
【代码】ZYNQ7010的PS编程笔记。原创 2022-09-10 00:40:42 · 1003 阅读 · 0 评论 -
时序分析 建立时间和保持时间
建立时间和保持时间原创 2022-07-05 21:33:20 · 2566 阅读 · 0 评论 -
petalinux笔记
记录一下这两天用正点原子开发板学petalinux的过程,众所周知,ZYNQ可以跑逻辑的FPGA,也可以跑裸机的SDK代码,还能跑个linux系统。在SDK开发中,只是在塔好的FPGA上跑一些简单的c代码,还没有安装上一个系统。1.首先是petalinux2018.3版本的安装建议参考正点原子的安装方法,注意事项就是使用ubuntu16.04版本而不是ubuntu18。要么就用ubuntu16.04配上petalin2018.3版本,要么就是ubuntu18配上pet...原创 2022-03-25 20:05:54 · 2059 阅读 · 0 评论 -
KV260(一)跑通相机例程
文章目录前言一、镜像文件二、连线1.连接好网线接口到路由器,USB-micro-USB线到电脑,HDMI线到一台显示屏。2.启动3.跑相机例程4.结果三、jupyter前言KV260板卡支持vitis-ai,板卡本身有很多丰富的例程。一、镜像文件https://www.xilinx.com/member/forms/download/xef.html?filename=petalinux-sdimage-2021.1-update1.wic.xz首先在网站上下载镜像,根据官方的流程来,先用B原创 2021-11-23 15:51:24 · 2743 阅读 · 6 评论 -
一、verilog编写三分频电路
1.目标:使用verilog编写三分频电路,要求占空比大小为50%。2.方法:分别使用上升沿和下降沿计数cnt_p以及cnt_n,并且计数从0到N-1(N为分频的次数,此时为3);分别对clk_p以及clk_n做复位初始化为0,这样当它们计数到0或者(N-1)/2的时候分别进行信号的翻转;如果clk_p以及clk_n初始化为0,结果是clk_p | clk_n,如果初始化为1则是clk_p &clk_n。3.three_div_Freq.v`timescale 1ns / 1ps...原创 2021-11-02 23:35:55 · 11551 阅读 · 0 评论 -
二、verilog除法器
1.目标:使用verilog实现一个32位的除法器,实现27/5 = 5……22.方法:首先将被除数前面补上16个0,在除数后面补上16个0A被除数27: 0000_0000_0000_0000 0000_0000_0001_1011B除数5: 0000_0000_0000_0101 0000_0000_0000_0000循环用A减去B,如果前者小于后者,就将A向左移动一位,否则就是下面的情况:A被除数27: 0000_000...原创 2021-11-03 00:31:14 · 7661 阅读 · 1 评论 -
四、Testbench
文章目录一、initial二、$finish $stop三、$display $monitor四、$time $realtime五、$random $random(seed)六、$readmemb $readmemh七、$fopen $fclose八、task九、存储器十、while for repeat十一、force release十二、fork/join总结基本都是不可综合语句一、initialinitial语句用来对变量进行初始化,仿真器在仿真时刻0就可以得到初始值,如果不.原创 2021-12-05 22:09:22 · 1741 阅读 · 0 评论 -
linux常用指令
(1)创建文件 touch(2)文件删除 rm -rf r 强制删除文件以及以下的内容 f 删除无需确认(3)移动文件命令 mv(4)文件内容统计命令 wc(5)查找文件 findfind -name “*.v” > netlist -print//将所有v文件放到一个netlist文件夹中,并打印出来(6)排序 sort 倒序排序 sort -r(7) 比较文件的参数 diff(8)man tar man可以检查所有命令本身对应的手册,这里检查tar原创 2021-10-24 00:56:17 · 2209 阅读 · 0 评论 -
三、AMBA问题
(1)什么是AHB总线协议,包括有哪些信号,并描述对应信号的具体作用?AHB是AMBA总线的一种,它是一种高性能的pipe系统总线,分为三组总线:写数据总线(HWDATA) 读数据总线(HRDATA) 地址控制总线(HADDR) 这三组总线相互不影响,对于每一组总线,只能由一个master或者一个slave来进行操作,需要仲裁器来决定总线的控制权交给哪个设备,并控制多路选择器来选择获得控制权的设备进行传输数据以及地址信息,译码器根据地址来选择让哪个slave的数据通过选择器。...原创 2021-11-02 23:46:28 · 217 阅读 · 0 评论 -
Balser相机的硬件触发(一)
一、下载Balser相机所需要的软件 pylon viewer 型号为acA2440-20gm有三种触发方式 硬件触发 软件触发 自由运行二、连接网线,主要关注触发信号这块。引脚 分别对应六种颜色为 红色 绿色 白色 蓝色 棕色 黑色Trigger Mode是触发模式选择,可见,需要先选择对应的触发模式,再将Trigger Mode更改为ON。(1)对于选择software的软件触发,Trigger Mode 为on便可以实现软件触发。(2)对于选择的Line1 Line3原创 2021-11-23 19:41:02 · 8801 阅读 · 4 评论 -
CPU设计实战(一)
第二章、第三章 任务与实践文章目录第二章、第三章 任务与实践第二章 硬件实验平台及FPGA设计流程1.跑马灯第三章 数字逻辑电路设计基础1.寄存器堆仿真2.板载RAM以及分布式RAM的仿真3.数字逻辑电路的设计与调试第二章 硬件实验平台及FPGA设计流程我的手上只有ZCU106板卡,并没有对应的龙芯平台的板子。1.跑马灯组合逻辑的点灯,对于每一个灯,由Switch开关来控制。led.vmodule led( input [7:0] switch, output [7:0]原创 2021-11-25 13:28:50 · 2739 阅读 · 1 评论 -
vivado的ip使用
(1)在vivado中,使用ip时候会有两个选项可以选:global 将ip与vivado一起作为一个整体来进行综合out of context per ip(OOC) 将ip单独进行综合的过程,会生成ip对应的网报文件,这是一种自底向上的综合方式。 这种方式更快,节约时间。并且这种方式产生的ip可以在reports查看资源利用率。如果这里选择skip不会立即例化,可以在生成多个ip后进行统一的例化过程。(2)在用ip 或者 manage ip下的情况都会生成.xcic文件,这是一个压缩的二进制文原创 2021-11-01 21:12:23 · 2063 阅读 · 0 评论 -
Ultra96V2开发板配置pynq以及dpu-pynq
1.准备物品Ultra96V2开发板x1一根usb3.0A公对microB移动硬盘数据线x132GB SD卡以及读卡器 x1WiFi2.烧写镜像点击PYNQ网站并下载对应的镜像文件,这里我下载的版本是V2.6。烧写镜像需要使用工具,这里我使用的是Win32 Disk Imager在将读卡器插入电脑后,可以先对SD卡进行一次格式化,然后打开上面的软件,依次选择对应的磁盘,对应的镜像,然后点击写入,烧录时间大概5到10分钟左右,烧录结束后取下读卡器,将SD卡插入到开发板中。3.运行ju原创 2021-08-06 12:04:21 · 2845 阅读 · 8 评论 -
ZYNQ之FPGA实验记录
1.led控制:控制底板的两个led灯,在1s内两个灯交叉闪烁,各0.5smodule led_twinkle( input clk,//50MHZ,等同于1ns,故有26位来计数,20ns input rst_n,//复位信号 output [1:0] led ); reg [25:0] cnt;//计数器 assign led=cnt<26'd2500_0000 ? 2'b10:2'b01; always@ ( posedge clk or negedge st_n)原创 2021-03-11 21:08:47 · 716 阅读 · 0 评论 -
ZCU106--PL+PS点灯
本文参考ZCU106开发之PL侧闪灯(1)首先打开vivado建立一个project:PL_LED(2)在project中创建一个设计文件:PL_LED.v具体代码如下,我使用的是vivado的2019.1版本://1.PL端led闪灯实验//zcu06//2021年3月15日module PL_LED( input clk_125_p_i, input clk_125_n_i, output reg led_0 ); pa原创 2021-03-15 19:44:59 · 3378 阅读 · 0 评论 -
Unbuntu18.04如何安装Verilatorv4.204
因为“一生一芯”提供的安装包verilator_installer.tar.gz只能在Unbuntu20.04系统使用,但是我用的虚拟机版本是18.04,为了节约我可怜的硬盘空间,所以采用了提供的第二种方法。https://verilator.org/guide/latest/install.html# Prerequisites:sudo apt-get install git perl python3 make autoconf g++ flexbiso...原创 2021-07-12 10:50:28 · 1226 阅读 · 0 评论 -
ZCU106以太网
目录一.ps_mio_eth_1g二.pl_eth_1g一.ps_mio_eth_1g使用FPGA板载的RJ45接口,使用zynq Ultrascale+ Mpsoc的GEM3,然后直接用vitis或者SDK跑Iwip来构建以太网。二.pl_eth_1g参考官方的zcu102例子搭建,使用SFP构建1000Base-x的转接口。需要找到GTH(GTH是一种高速的收发器,支持500Mb/s到16.375Gb/s的传输速度)的位置,如图所示,USER_MGT_Si570_C...原创 2021-12-01 16:16:29 · 1484 阅读 · 0 评论 -
zynq之GPIO功能
本文参考正点原子嵌入式视频与其说是笔记,不如说是赛灵思文档翻译1.GPIO本文参考UG585 chapter 14GPIO定义指的是general purpose I/O ,它是zynq7000系列中MIO的一部分,它是一个外设(peripheral),是用来对器件的引脚作观测(input)以及控制(output)。GPIO的起始地址在0XE000_A000。MIO定义是指multiuse I/O,即多路复用,将来自PS外设以及静态存储器接口进行多路复用到ps的引脚上去。EMIO定义是用来原创 2021-03-29 21:03:35 · 1158 阅读 · 0 评论 -
AXI4总线(axi_lite_slave)
本文参考 米联客2020 版AXI4 总线专题xilinx的AXI总线包括了AXI4 、AXI4-Lite以及AXI4-Stream三种。AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大256 轮的数据突发传输;AXI4-Lite:(For simple, low-throughput memory-mapped communication )是一个轻量级的地址映射单次传输接原创 2021-11-03 15:15:51 · 3630 阅读 · 2 评论 -
基于FPGA的时序分析
本文主要参考猫叔的时序分析,在看了大佬的博客后,我总结了下面的PPT。原创 2021-11-11 22:11:56 · 732 阅读 · 0 评论 -
tcl指令记录
查看主时钟report_clock_networks -name mainclockcheck_timing -override_defaults no_clock原创 2021-04-21 21:36:48 · 183 阅读 · 0 评论 -
zcu106--PL端读写RAM--2021.10.14
本文参考 ZYNQ MPSoC 开发平台 FPGA 教程1.创建工程 ram_test选择器件zcu106,并创建好ram_test.v文件。需要使用左边的IP catalog加入3个IP,分别是:(1)clk_wiz_0 用于使用差分信号125MHZ获得时钟clk(2)ila_0用于查看信号(3)ram_ip用于配置ram,ram使用Simple Dual Port RAM,并配置A B 端口的深度为512,数据为16位,B的使能管脚Enable Port Type 改为 A...原创 2021-06-26 00:04:11 · 665 阅读 · 0 评论