用三级流水线

优化方法:整体扩大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移植相关推荐

  1. BMP格式知识之二:16位,24位,32位的BMP图片算法是如何运算的

    BMP格式知识之二:16位,24位,32位的BMP图片算法是如何运算的 原文:http://blog.csdn.net/qq445803843/article/details/46476433 这段代 ...

  2. 怎么得到16位校检和-c语言,16位CRC校验C语言算法.pdf

    16位CRC校验C语言算法.pdf CRC 算法原理及C 语言实现 摘 要 本文从理论上推导出CRC算法实现原理,给出三种分别适应不同计算机或微控 制器硬件环境的C语言程序.读者更能根据本算法原理,用 ...

  3. c语言验证信用卡 卡号介于13到16位,使用luhn算法验证信用卡号码

    信用卡号码符合特定模式.信用卡必须有13到16位数字.它必须先从: •4 Visa卡 •5主卡 •37美国运通卡 在1954年,IBM的汉斯·卢恩提出的算法验证信用卡号.该算法对于确定卡号是否正确输入 ...

  4. verilog——74HC85四位数值比较器并扩展为16位数值比较器

    verilog--74HC85四位数值比较器并扩展为16位数值比较器 74HC85的仿真 设计思路 代码 设计模块 测试模块 仿真结果 扩展为16位比较器 设计思路 串行代码实现 设计模块 测试模块 ...

  5. FPGA系统性学习笔记连载_Day7【16位比较器设计】 【原理及verilog实现、仿真】篇

    FPGA系统性学习笔记连载_Day7[16位比较器设计] [原理及verilog实现.仿真]篇 连载<叁芯智能fpga设计与研发-第7天>[16位比较器设计] [原理及verilog实现. ...

  6. verilog 4位16位任意位超前进位加法器

    众所周知,1+1=2,对于较小位数的加法,大家都可以在瞬间报出结果,但是如果比较大呢? 13242345609745021+24234123421=?我们就需要一些运算时间来计算出结果.当然如果您是最 ...

  7. CRC-16原理及通用的16位CRC校验算法代码

    CRC-16原理及通用的16位CRC校验算法代码 循环冗余码校验英文名称为Cyclical Redundancy Check,简称CRC.它是利用除法及余数的原理来作错误侦测(Error Detect ...

  8. MD5算法加密~16位、32位、64位

    MD5的全称是Message-Digest Algorithm 5(信息-摘要算法). MD5算法加密~16位.32位.64位. 1991年,由Ronald L. Rivest开发出来,经MD2.MD ...

  9. 51单片机二进制转bcd码c语言,16位二进制数转换成BCD码的的快速算法-51单片机...

    在做而论道上篇博文中,回答了一个16位二进制数转换成BCD码的问题,给出了一个网上广泛流传的经典转换程序. . 说它经典,不仅是因为它已经流传已久,重要的是它的编程思路十分清晰,十分易于延伸推广.做而 ...

最新文章

  1. 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战
  2. 各种PID算法的整理和总结
  3. Spanning-tree Potocol(整理)
  4. python选择排序从大到小_经典排序算法和Python详解之(一)选择排序和二元选择排序...
  5. Kubernetes监控之Heapster源码分析
  6. MySQL数据查询新人须知
  7. yolo数据集txt标注转voc数据集xml标注格式
  8. matlab的czt变换,CZT变换(chirp z-transform)
  9. 动手学深度学习(PyTorch实现)(十二)--批量归一化(BatchNormalization)
  10. 等保数据备份和恢复关键点,这些你该知道!
  11. 使用CROS解决跨域问题
  12. VC中Radio控件的用法
  13. 烤仔万花筒| Reach on Conflux 2021黑客松Demo Day
  14. 【转载收藏】针对VNPY的软件bugs的修改总结
  15. [mysql]存储过程/存储函数
  16. 大数据_java基础_day02
  17. 只有干过才知道:一位来自滴滴、字节的两年程序员自诉
  18. linux基础命令3(ps、top、ulimit、mkdir、more、cat、diff、grep、touch、cp、find、rm、split、mv、)
  19. php短信炸弹,php发送短信炸弹 - rookier的个人页面 - OSCHINA - 中文开源技术交流社区...
  20. Halcon 算子 skeleton

热门文章

  1. 微信企业号开发之 企业号人员身份认证与开发
  2. firefox手动设置火狐浏览器的默认主页
  3. testlink mysql_windows下testlink环境搭建
  4. MapBoxMap 之 定位
  5. 文件夹同名EXE病毒
  6. 开源协议之Code Project Open License (CPOL)
  7. FPGA与单片机之间的数据通信
  8. pentaho SPARK
  9. clock oscillator,generator,buffer选型杂谈
  10. 【node.js】nvm安装最新教程