一、实验准备
实验任务:
在win10或者Ubuntu系统下安装 Intel 或者 Xilinx 的支持HLS的FPGA编程开发软件,推荐Quartus18,或者Vivado18,设置好环境,完成一个入门级的HLS程序,并进行仿真或者实际开发板运行。
实验环境
- Ubuntu 18.04
二、关于HLS
HLS是什么?
HLS(High-Level Synthesis)高层综合,就是将 C/C++的功能用 RTL 来实现,将 FPGA 的组件在一个软件环境中来开发,这个模块的功能验证在软件环境中来实现,无缝的将硬件仿真环境集合在一起,使用软件为中心的工具、报告以及优化设计,很容易的在 FPGA 传统的设计工具中生成 IP。
HLS高级综合能够实现软体代码的硬件加速,主要是因为其对代码中的循环体(for,while)等进行了并行性优化,采用流水,展开,合并,嵌套,数据流等方法,将软体中需要一步步执行的循环体,在硬件电路中实现并行化处理,从而大幅提高计算速度,正好应对当下这种高计算量的需求。
与VHDL/Verilog有什么关系?
Verilog或VHDL与HLS相比,就好比是几十年前的汇编语言与C语言,HDL迟早会被HLS取代的。这些话已经讲了有一二十年了,还是没有看到HLS取代HDL。
高层综合(HLS)被视为提高设计抽象水平的下一步。但是,HLS工具的结果质量(QoR)往往落后于手动寄存器传输级别(RTL)流程的质量。
在结果质量(QoR)上,HLS 工具还落后于 RTL,但 HLS 的开发时间少、生产率高这些优点还是当前用于快速原型设计和较短上市时间的可行选择。
HLS有哪些关键技术问题?
HLS协议的小切片方式会生成大量的文件,存储或处理这些文件会造成大量资源浪费。如果要实现数天的时移,索引量将会是个巨额数字,并明显影响请求速度。因此,HLS协议对存储I/O要求相当苛刻。
目前存在什么技术局限性?
比如采用HLS协议直播的视频延迟时间无法下到10秒以下,而RTMP协议的延迟最低可以到3、4秒左右。
三、安装vivado
1、软件安装
将安装文件放到Ubuntu中,解压
sudo tar xvzf /mnt/hgfs/ubuntshare/Vivado_SDK_2018.3_1207_2324.tar.gz
进入解压文件夹中,运行安装文件
sudo ./xsetup
勾选需要用到工具
安装成功后将license放到文件中
注册成功
2、其他相关
权限
sudo chmod -R 777 /tools/Xilinx
sudo chmod -R 777 ~/.Xilinx/
下载驱动
cd /tools/Xilinx/Vivado/2018.3/data/xicom
/cable_drivers/lin64/install_script/install_drivers
sudo ./install_drivers
环境变量设置
sudo gedit .bashrc
打开.bashrc后写入
source /tools/Xilinx/Vivado/2018.3/settings64.sh
四、安装PetaLinux
安装依赖库
sudo -s
sudo apt-get install gcc git make net-tools libncurses5-dev tftpd zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool
tar unzip texinfo zlib1g-dev gcc-multilib build-essential libsdl1.2-dev libglib2.0-dev
zlib1g:i386 screen pax gzip gawk
tftp Server
apt-get install tftpd-hpa
启动tft Serve