在写滤波程序的时候在网上看了好几篇大佬的笔记,都有提到使用3*3窗口,由于小白一个,看到复杂的理论就惧怕的不行。但是现在不得不上,自己调用移位寄存器ip核然后做了个3*3窗口出来,自己动手作出来忽然感觉到也不难嘛。

先贴一张ip核模块的接口参数图

生成3*3窗口需要两个寄存器,参数设置为数据宽度8,深度一个为4,另一个为3,选sclr端口

然后把两个移位寄存器串联起来就可以了

仿真的时候写好激励就行

放上最后仿真图

两条线那会是不是3*3矩阵呀,然后往右推就行。

顶层模块

 module shift3by3(
clk,
rst_n,
datain,
dataout
);
input clk;
input rst_n;
input [:] datain;
output [:] dataout; wire [:] d_in;
wire sclr; shiftip shift2(
.clk(clk),
.sclr(~rst_n),
.d(datain),
.q(d_in)
); shift3 shift3(
.clk(clk),
.sclr(~rst_n),
.d(d_in),
.q(dataout)
); endmodule

tesrbench

 module shiftiptb;

     // Inputs
reg clk;
reg [:] d; // Outputs
wire [:] q; // Instantiate the Unit Under Test (UUT)
shiftip uut (
.clk(clk),
.d(d),
.q(q)
);
initial clk=;
always # clk=!clk;
initial begin
// Initialize Inputs
# d=;
# d=;
# d=;
# d=;
# d=;
# d=;
# d=;
# d=;
# d=; // Wait 100 ns for global reset to finish
#; // Add stimulus here end endmodule

之前没有将矩阵里的9个元素列出来,现在将9个元素列出来,

赋值代码如下:

 always @(posedge clk or negedge rst_n)
if(!rst_n)
begin
{a11,a12,a13} <= {'b0,8'b0,'b0};
{a21,a22,a23} <= {'b0,8'b0,'b0};
{a31,a32,a33} <= {'b0,8'b0,'b0};
row <= 'b0;
end
else
begin
row <= row3;//row3就是datain,这里延迟一个时钟
{a11,a12,a13} <= {a12,a13,row};
{a21,a22,a23} <= {a22,a23,row2};//row2是d_in
{a31,a32,a33} <= {a32,a33,row1};//row1是dataout
end

仿真图像如下图所示:

xilinx fpga 生成3*3窗口的更多相关文章

  1. 基于Xilinx FPGA的视频图像采集系统

    本篇要分享的是基于Xilinx FPGA的视频图像采集系统,使用摄像头采集图像数据,并没有用到SDRAM/DDR.这个工程使用的是OV7670 30w像素摄像头,用双口RAM做存储,显示窗口为320x ...

  2. Xilinx FPGA开发环境vivado使用流程

    Xilinx FPGA开发环境vivado使用流程 1.启动vivado 2016.1 2.选择Create New Project 3.指定工程名字和工程存放目录 4.选择RTL Project 5 ...

  3. Xilinx FPGA控制器的Everspin STT-DDR4设计指南

    自旋转移扭矩磁阻随机存取存储器(STT-MRAM)是一种持久性存储技术,可利用各种工业标准接口提供性能,持久性和耐用性. Everspin推出了STT-MRAM产品,该产品利用称为JE-DDR4的JE ...

  4. Xilinx FPGA全局介绍

    Xilinx FPGA全局介绍 现场可编程门阵列 (FPGA) 具有诸多特性,无论是单独使用,抑或采用多样化架构,皆可作为宝贵的计算资产:许多设计人员并不熟悉 FPGA,亦不清楚如何将这类器件整合到设 ...

  5. Xilinx FPGA LVDS应用

    最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用.Xilinx FPGA中,主要通过原语实现差分信号的收发:OBUFDS(差分输出BUF),IBUFDS(差分输入BUF). 注意在分 ...

  6. Xilinx FPGA引脚txt文件导入excel中

    需求 为了把xilinx FPGA的官方引脚文件txt转成excel文件(实际官网中有对应的csv文件就是excel文件了...) xilinx FPGA引脚地址:https://china.xili ...

  7. Xilinx FPGA复位逻辑处理小结(转)

    Xilinx FPGA复位逻辑处理小结 1. 为什么要复位呢? (1)FPGA上电的时候对设计进行初始化: (2)使用一个外部管脚来实现全局复位,复位作为一个同步信号将所有存储单元设置为一个已知的状态 ...

  8. 你真的会Xilinx FPGA的复位吗?

    Get Smart About Reset: Think Local, Not Global. 对于复位信号的处理,为了方便我们习惯上采用全局复位,博主在很长一段时间内都是将复位信号作为一个I/O口, ...

  9. Xilinx FPGA高速串行收发器简介

    1 Overview 与传统的并行实现方法相比,基于串行I/O的设计具有很多优势,包括:器件引脚数较少.降低了板空间要求.印刷电路板(PCB)层数较少.可以轻松实现PCB设计.连接器较小.电磁干扰降低 ...

随机推荐

  1. 尚硅谷 dubbo学习视频

    1 1.搭建zookpeer注册中心 windows下载zooker  需要修改下zoo_sample .cfg为zoo.cnf 然后需要zoo.cnf中数据文件的路径 第五步:把zoo_sample ...

  2. CentOS 安装 VMware Tools 详细方法

    点击虚拟机,选择安装vmware Tools工具 弹出上面的界面,右键选择奖上面的vmwaraTools.tar.gz解压到你要解压的目录下面 记得一定要使用root用户,进入到解压的目录 然后执行 ...

  3. java异常处理之try_catch_finally

    java异常处理之try_catch_finally 看下面的一个列子: public class TestException { int goabl=1; public TestException( ...

  4. Zookeeper分布式过程协同技术 - 概念及基础

    Zookeeper分布式过程协同技术 - 概念及基础 Zookeeper是什么? Zookeeper是一种分布式过程协同技术,其所提供的客户端API功能强大,其中包括: 保障强一致性.有序性和持久性. ...

  5. yum只下载不安装

    1 修改/etc/yum.conf的keepcache=1 [root@136 packages]# vi /etc/yum.conf keepcache=1 2 安装yum-utils包 [root ...

  6. vue全家桶(2.7)

    3.11.1.vue-router中的全局钩子函数 在vue-router中,路由发生变化,我们可以做一些事情,例如:可以决定是否进入导航,可以决定跳转到哪里,官方文档中又叫做导航守卫 首先来看一个全 ...

  7. github Pull Request合入全流程介绍

    图解全流程 详细步骤 1. fork仓库 2. clone fork仓库到本地 3. 关联upstream原仓库 在fork本地仓库输入下面命令进行关联: git remote add upstrea ...

  8. hive中标准偏差函数stddev()详细讲解

    1.标准偏差概念 标准偏差(Std Dev,Standard Deviation) -统计学名词.一种度量数据分布的分散程度之标准,用以衡量数据值偏离算术平均值的程度.标准偏差越小,这些值偏离平均值就 ...

  9. 服务消费者(Ribbon)

    上一篇文章,简单概述了服务注册与发现,在微服务架构中,业务都会被拆分成一个独立的服务,服务之间的通讯是基于http restful的,Ribbon可以很好地控制HTTP和TCP客户端的行为,Sprin ...

  10. 每天一个Linux命令(mkdir)

    每天一个Linux命令(mkdir) mkdir: /bin/mkdir,创建目录( make directories)语法:mkdir [选项]... 不存在的目录...目录:默认时必须该目录不存在 ...