16位rgb2gray算法verilog移植
用三级流水线
优化方法:整体扩大256倍,再右移8位
verilog代码
//==================local defines==================
`define SIM
module rgb2gray(
//==================System signal==================input clk ,input rst_n ,
//==================Interface======================input [4:0] cmos_R0 ,input [5:0] cmos_G0 ,input [4:0] cmos_B0 ,output reg [7:0] img_Y1 //==================Others=========================
);
//==================Parameter======================//==================System reg=====================reg [15:0] cmos_R1;reg [15:0] cmos_G1;reg [15:0] cmos_B1;reg [15:0] img_Y0;//==================System wire====================//==================Main Code======================
//第一级
always @(posedge clk or negedge rst_n)
beginif(!rst_n)begincmos_R1 <= 16'd0;cmos_G1 <= 16'd0;cmos_B1 <= 16'd0;endelse begincmos_R1 <= cmos_R0 * 8'd77;cmos_G1 <= cmos_G0 * 8'd150;cmos_B1 <= cmos_B0 * 8'd29; end
end
//算Y 第二级
always @(posedge clk or negedge rst_n)
beginif(!rst_n)beginimg_Y0 <= 16'd0;endelse beginimg_Y0 <= cmos_R1 + cmos_G1 + cmos_B1;end
end
//delay 1clk
always @(posedge clk or negedge rst_n)
beginif(!rst_n)beginimg_Y1 <= 8'd0;endelse beginimg_Y1 <= img_Y0 [15:8];end
end
endmodule
16位rgb2gray算法verilog移植相关推荐
- BMP格式知识之二:16位,24位,32位的BMP图片算法是如何运算的
BMP格式知识之二:16位,24位,32位的BMP图片算法是如何运算的 原文:http://blog.csdn.net/qq445803843/article/details/46476433 这段代 ...
- 怎么得到16位校检和-c语言,16位CRC校验C语言算法.pdf
16位CRC校验C语言算法.pdf CRC 算法原理及C 语言实现 摘 要 本文从理论上推导出CRC算法实现原理,给出三种分别适应不同计算机或微控 制器硬件环境的C语言程序.读者更能根据本算法原理,用 ...
- c语言验证信用卡 卡号介于13到16位,使用luhn算法验证信用卡号码
信用卡号码符合特定模式.信用卡必须有13到16位数字.它必须先从: •4 Visa卡 •5主卡 •37美国运通卡 在1954年,IBM的汉斯·卢恩提出的算法验证信用卡号.该算法对于确定卡号是否正确输入 ...
- verilog——74HC85四位数值比较器并扩展为16位数值比较器
verilog--74HC85四位数值比较器并扩展为16位数值比较器 74HC85的仿真 设计思路 代码 设计模块 测试模块 仿真结果 扩展为16位比较器 设计思路 串行代码实现 设计模块 测试模块 ...
- FPGA系统性学习笔记连载_Day7【16位比较器设计】 【原理及verilog实现、仿真】篇
FPGA系统性学习笔记连载_Day7[16位比较器设计] [原理及verilog实现.仿真]篇 连载<叁芯智能fpga设计与研发-第7天>[16位比较器设计] [原理及verilog实现. ...
- verilog 4位16位任意位超前进位加法器
众所周知,1+1=2,对于较小位数的加法,大家都可以在瞬间报出结果,但是如果比较大呢? 13242345609745021+24234123421=?我们就需要一些运算时间来计算出结果.当然如果您是最 ...
- CRC-16原理及通用的16位CRC校验算法代码
CRC-16原理及通用的16位CRC校验算法代码 循环冗余码校验英文名称为Cyclical Redundancy Check,简称CRC.它是利用除法及余数的原理来作错误侦测(Error Detect ...
- MD5算法加密~16位、32位、64位
MD5的全称是Message-Digest Algorithm 5(信息-摘要算法). MD5算法加密~16位.32位.64位. 1991年,由Ronald L. Rivest开发出来,经MD2.MD ...
- 51单片机二进制转bcd码c语言,16位二进制数转换成BCD码的的快速算法-51单片机...
在做而论道上篇博文中,回答了一个16位二进制数转换成BCD码的问题,给出了一个网上广泛流传的经典转换程序. . 说它经典,不仅是因为它已经流传已久,重要的是它的编程思路十分清晰,十分易于延伸推广.做而 ...
最新文章
- 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战
- 各种PID算法的整理和总结
- Spanning-tree Potocol(整理)
- python选择排序从大到小_经典排序算法和Python详解之(一)选择排序和二元选择排序...
- Kubernetes监控之Heapster源码分析
- MySQL数据查询新人须知
- yolo数据集txt标注转voc数据集xml标注格式
- matlab的czt变换,CZT变换(chirp z-transform)
- 动手学深度学习(PyTorch实现)(十二)--批量归一化(BatchNormalization)
- 等保数据备份和恢复关键点,这些你该知道!
- 使用CROS解决跨域问题
- VC中Radio控件的用法
- 烤仔万花筒| Reach on Conflux 2021黑客松Demo Day
- 【转载收藏】针对VNPY的软件bugs的修改总结
- [mysql]存储过程/存储函数
- 大数据_java基础_day02
- 只有干过才知道:一位来自滴滴、字节的两年程序员自诉
- linux基础命令3(ps、top、ulimit、mkdir、more、cat、diff、grep、touch、cp、find、rm、split、mv、)
- php短信炸弹,php发送短信炸弹 - rookier的个人页面 - OSCHINA - 中文开源技术交流社区...
- Halcon 算子 skeleton