Learn ZYNQ (7)

矩阵相乘的例子

参考博客:http://blog.csdn.net/kkk584520/article/details/18812321

MatrixMultiply.c

    typedef int data_type;
    #define N 5

    void MatrixMultiply(data_type AA[N*N],data_type bb[N],data_type cc[N])
    {
        int i,j;
        for(i = 0;i<N;i++)
        {
            data_type sum = 0;
            for(j = 0;j<N;j++)
            {
                sum += AA[i*N+j]*bb[j];
            }
            cc[i] = sum;
        }
    }

修改后:

#include <ap_cint.h>
typedef uint15 data_type;
    #define N 5

    void MatrixMultiply(data_type AA[N*N],data_type bb[N],data_type cc[N])
    {
        int i,j;
        MatrixMultiply_label2:for(i = 0;i<N;i++)
        {
            data_type sum = 0;
            MatrixMultiply_label1:for(j = 0;j<N;j++)
            {
                sum += AA[i*N+j]*bb[j];
            }
            cc[i] = sum;
        }
    }

测试文件:TestMatrixMultiply.c:

#include <stdio.h>
#include <ap_cint.h>
typedef uint15 data_type;
#define N 5
const data_type MatrixA[] = {
    #include "a.h"
};
const data_type Vector_b[] = {
    #include "b.h"
};
const data_type MatlabResult_c[] = {
    #include "c.h"
};
data_type HLS_Result_c[N] = {0};
void CheckResult(data_type * matlab_result,data_type * your_result);

int main(void)
{
	int i;
     printf("Checking Results:\r\n");
     MatrixMultiply(MatrixA,Vector_b,HLS_Result_c);
     CheckResult(MatlabResult_c,HLS_Result_c);
     return 0;
}
void CheckResult(data_type * matlab_result,data_type * your_result)
{
     int i;
     for(i = 0;i<N;i++)
     {
    	 printf("Idx %d: Error = %d \r\n",i,matlab_result[i]-your_result[i]);
     }
}

a.h

{82},  {10},  {16},  {15},  {66},
{91},  {28},  {98},  {43},  {4},
{13},  {55},  {96},  {92},  {85},
{92},  {96},  {49},  {80},  {94},
{64},  {97},  {81},  {96},  {68}

b.h

{76},
{75},
{40},
{66},
{18}

c.h

{9800},
{15846},
{16555},
{23124},
{22939}

d

Learn ZYNQ (7)

时间: 2024-10-12 17:04:40

Learn ZYNQ (7)的相关文章

Learn ZYNQ(2)

AXI HP接口的DMA+GIC编程(参照博客) 参照文档:UG873,博客文档 我的Vivado+SDK工程文件打包(60+M) 我的DMA驱动程序(未完成) Vivado 接线图: 地址分配: Learn ZYNQ(2),布布扣,bubuko.com

Learn ZYNQ (3)

移植android3.3到ZedBoard follow doc:Android移植Guide1.3.pdf follow website: sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i38

Learn ZYNQ (9)

创建zybo cluster的spark集群(计算层面): 1.每个节点都是同样的filesystem,mac地址冲突,故: vi ./etc/profile export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH export JAVA_HOME=/usr/lib/jdk1.7.0_55 export CLASSPATH=.:$JAVA_HOME/lib/tools.jar export PA

Learn ZYNQ (8)

在zed的PS端运行spark: (1)设置uboot为sd卡启动rootfs: "sdboot=if mmcinfo; then " \                         "run uenvboot; " \                         "echo Copying Linux from SD to RAM... && " \                         "fatlo

Learn ZYNQ(10) &ndash; zybo cluster word count

1.配置环境说明 spark:5台zybo板,192.168.1.1master,其它4台为slave hadoop:192.168.1.1(外接SanDisk ) 2.单节点hadoop测试: 如果出现内存不足情况如下: 查看当前虚拟内存容量: free -m cd /mnt mkdir swap cd swap/ 创建一个swap文件 dd if=/dev/zero of=swapfile bs=1024 count=1000000 把生成的文件转换成swap文件 mkswap swapfi

ZYNQ 7000平台UDP数据包(1字节或2字节)校验和Checksum错误0xFFFF解决方案(linux+vxworks6.9平台)

在赛灵思ZYNQ 7000平台,使用UDP方式发送1字节或者2字节数据时,校验和为错误值0xffff,接收机无法正常接收ZYNQ7000平台发送的数据,本人已经找到该问题的解决方案,有该问题的朋友可以通过邮箱[email protected]与我联系,联系时请详细描述你的环境,针对该咨询提供的问题解决方案会收取一定的费用,费用不会太高,现在是知识付费的年代,希望各位理解,同时如果能够解决您的问题,也是为你节约了开支.我会及时回复邮件的.具体事项可以邮件沟通[email protected].

SylixOS 基于ZYNQ的时钟频率修改详解

概述 本文档以ZYNQ7000平台为例,详细介绍如何去修改ZYNQ的时钟频率. 时钟频率修改流程 ZYNQ7000的时钟频率修改流程,如图 2.1所示.具体步骤如下: 步骤一:解除ZYNQ7000的寄存器写锁定: 步骤二:向对应寄存器写入我们需要设置的PLL倍频值和PLL配置参数: 步骤三:进行PLL的旁路模式转换和软件重启,使我们刚刚设置的PLL倍频值和PLL配置参数生效: 步骤四:重新使寄存器处于写锁定状态. 图 2.1 ZYNQ7000的时钟频率修改流程图 ZYNQ7000的ARM_PLL

利用Zynq Soc创建一个嵌入式工程

英文题目:Using the Zynq SoC Processing System,参考自ADI的ug1165文档. 利用Zynq Soc创建一个嵌入式工程,该工程总体上包括五个步骤: 步骤一.新建空白工程 步骤二.创建一个Embedded Processor工程 步骤三.Zynq7 Processing System的管理 步骤四.综合仿真.编译运行.生成二进制文件 步骤五.Exporting Hardware to SDK 步骤一.新建工程 1. 点击Vivado图标启动软件,Create

Vivado Zynq 学习

目标 --------------------------------------------------- 视图菜单 (Vivado SDK) 文件目录 文件格式 流程:工程 -> 非工程 -> 脚本 Create Hardware Design Create Hardware IP Use    Hardware IP:  ARM AXI USB DMA RAM CLK RST Create Software Design 方法 ------------------------------