形态学滤波(四)
时间:2022-04-28
本文章向大家介绍形态学滤波(四),主要内容包括形态学滤波(四)、之比较子模块设计、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
形态学滤波(四)
之比较子模块设计
考虑到代码维护性和移植性,将基本比较单元设计为单独的子模块。这个子模块需实现以下功能:
(1)输出两个数据的较大值。
(2)输出两个数据的较小值。
考虑到系统鲁棒性,将比较结果打一拍之后输出。根据设计要求,本模块需要一个比较器、两个mux和两个reg。如下图所示:
很明显,本模块开销为1个始终。
设在某时刻连续10个输入数据流为:
Din_a = 3,8,5,9,7,1,2,6,0,4,x;
Din_a = x,3,8,5,9,7,1,2,6,0,4;
则din_a,din_b,min_tmp,max_tmp,dout_max,dout_min连续10个始终的数据如表9-1所示:
module minmax(
clk,
valid,
din_a,
din_b,
dout_min,
dout_max
);
parameter DW =14;
parameter use_reg =1; //是否将数据缓存打一拍
input clk;
input valid;
input [DW-1:0] din_a;
input [DW-1:0] din_b;
output [DW-1:0] dout_min;
output [DW-1:0] dout_max;
reg [DW-1:0] dout_min;
reg [DW-1:0] dout_max;
reg [DW-1:0] min_reg;
reg [DW-1:0] max_reg;
assign min_tmp = (din_a > din_b) ? din_b : din_a;
assign max_tmp = (din_a > din_b) ? din_a : din_b;
generate
if(use_reg)
begin : map0
always @(posedge clk)
begin
if(valid)
begin
max_reg <= max_tmp;
min_reg <= min_tmp;
end
end
assign dout_min = min_reg;
assign dout_max = max_reg;
end
endgenerate
generate
if(~use_reg)
begin : map1
assign dout_min = min_tmp;
assign dout_max = max_tmp;
end
endgenerate
endmodule
- MySQL和Oracle行值表达式对比(r11笔记第74天)
- 闪回数据库不是“万金油”(r11笔记第73天)
- 修改Apache的超时设置,解决长连接请求超时问题
- Oracle 12cR2初体验(r11笔记第91天)
- MySQL中的undo截断(r11笔记第89天)
- Linux系统 df 命令显示异常、分区丢失问题解决
- MySQL主从、字典死锁、连接数的Python监控脚本
- MySQL Online DDL(二)(r11笔记第88天)
- 转-Android上面运行golang
- Golang适合高并发场景的原因分析
- 浅谈MySQL中的事务隔离级别(r11笔记第86天)
- 巧用echo命令解决Samba批量添加用户难题
- 分分钟搭建MySQL Group Replication测试环境(r11笔记第82天)
- MySQL 5.7 Group Replication错误总结(r11笔记第84天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Ubuntu中安装MySQL更改默认密码的步骤详解
- linux下用csplit命令分割文件的方法示例
- Linux基础命令之mktemp详解
- CentOS7设置jar应用程序开机启动的方法
- linux jexus服务设置开机启动
- linux如何利用crontab添加定时任务详解
- windows安装openssh并通过生成SSH密钥登录Linux服务器
- SSH设置别名访问远程服务器详细介绍
- Linux检查Swap交换空间的五个命令小结
- seaborn数据总体分布的可视化策略
- 配置 Apache 服务器禁止所有非法域名 访问自己的服务器
- Ubuntu16.04源码安装Mininet
- Kotlin基础学习之Deprecated与Suppress注解使用
- Centos 7下利用crontab定时执行任务详解
- 树莓派无线上网时无屏幕下发现树莓派IP的方法