HD,3G视频数据中行号的插入方法---Verilog代码实现
HD,3G视频数据中行号的插入方法---Verilog代码实现
行号的生成:
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer: chensimin
//
// Create Date: 2019/01/14 16:57:42
// Design Name:
// Module Name: line_num_pro
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
////////////////////////////////////////////////////////////////////////////////// module line_num_pro ( input wire clk,
input wire rst,
input wire eav,
input wire [:] vid_in, output wire [:] ln ); //----------------------------------------------------------------- assign v = vid_in[]; //----------------------------------------------------------------- reg last_v; always @(posedge clk or posedge rst)
begin
if(rst)
last_v <= 'b0;
else if(eav)
last_v <= v;
end //----------------------------------------------------------------- wire ln_load; assign ln_load = last_v & ~v; //----------------------------------------------------------------- assign ln_tc = ln_counter == ; //----------------------------------------------------------------- reg [:] ln_counter; always @(posedge clk or posedge rst)
begin
if(rst)
ln_counter <= 'd1; else if (eav)
begin
if(ln_load)
ln_counter <= 'd42;
else if(ln_tc)
ln_counter <= 'd1;
else
ln_counter <= ln_counter + 'b1;
end
end assign ln = ln_counter; //----------------------------------------------------------------- // ila_13 U576 (
// .clk(clk), // input wire clk // .probe0(vid_in), // input wire [9:0] probe0
// .probe1(eav), // input wire [0:0] probe1
// .probe2(v), // input wire [0:0] probe2
// .probe3(last_v), // input wire [0:0] probe3
// .probe4(ln_load), // input wire [0:0] probe4
// .probe5(ln_tc), // input wire [0:0] probe5
// .probe6(ln_counter), // input wire [10:0] probe6
// .probe7(ln) // input wire [10:0] probe7
// ); endmodule
行号的插入:
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer: chensimin
//
// Create Date: 2019/01/15 17:06:40
// Design Name:
// Module Name: line_num_insert
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
////////////////////////////////////////////////////////////////////////////////// module line_num_insert( input wire insert_ln,
input wire ln_word0,
input wire ln_word1,
input wire [:] c_in,
input wire [:] y_in,
input wire [:] ln, output reg [:] c_out,
output reg [:] y_out ); //----------------------------------------------------------------------------- always @ (ln or insert_ln or c_in or ln_word0 or ln_word1)
if (insert_ln & ln_word0)
c_out <= {~ln[], ln[:], 'b00};
else if (insert_ln & ln_word1)
c_out <= {'b1000, ln[10:7], 2'b00};
else
c_out <= c_in; //--------------------------------------------------------------------------- always @ (ln or insert_ln or y_in or ln_word0 or ln_word1)
if (insert_ln & ln_word0)
y_out <= {~ln[], ln[:], 'b00};
else if (insert_ln & ln_word1)
y_out <= {'b1000, ln[10:7], 2'b00};
else
y_out <= y_in; //--------------------------------------------------------------------------- endmodule
生成ln_word0, ln_word1的脉冲指示信号:
reg ln_word0; always @(posedge hdmi_clk or posedge rst)
begin
if(rst)
ln_word0 <= 'b0; else if(eav)
ln_word0 <= 'b1; else
ln_word0 <= 'b0;
end //------------------------------------------------------------------------------------------------------------------------- reg ln_word1; always @(posedge hdmi_clk or posedge rst)
begin
if(rst)
ln_word1 <= 'b0; else if(ln_word0)
ln_word1 <= 'b1; else
ln_word1 <= 'b0;
end
HD,3G视频数据中行号的插入方法---Verilog代码实现的更多相关文章
- 大数据量下MySQL插入方法的性能比较
不管是日常业务数据处理中,还是数据库的导入导出,都可能遇到需要处理大量数据的插入.插入的方式和数据库引擎都会对插入速度造成影响,这篇文章旨在从理论和实践上对各种方法进行分析和比较,方便以后应用中插入方 ...
- 批量插入数据, 将DataTable里的数据批量写入数据库的方法
大量数据导入操作, 也就是直接将DataTable里的内容写入到数据库 通用方法: 拼接Insert语句, 好土鳖 1. MS Sql Server: 使用SqlBulkCopy 2. MySql ...
- VIM 中鼠标选择不选中行号
VIM 中鼠标选择不选中行号 在Vim中,我们一般会使用 :set nu 打开行号开关. 但是打开行号后,有个弊端,那就是在用鼠标进行选择的时候,会将前面的行号也一起进行拷贝了.但是在gVim中进行选 ...
- JavaCV 采集摄像头及桌面视频数据
javacv 封装了javacpp-presets库很多native API,简化了开发,对java程序员来说比较友好. 之前使用JavaCV库都是使用ffmpeg native API开发,这种方式 ...
- 【Python爬虫案例】用Python爬取李子柒B站视频数据
一.视频数据结果 今天是2021.12.7号,前几天用python爬取了李子柒的油管评论并做了数据分析,可移步至: https://www.cnblogs.com/mashukui/p/1622025 ...
- iOS 直播-获取音频(视频)数据
iOS 直播-获取音频(视频)数据 // // ViewController.m // capture-test // // Created by caoxu on 16/6/3. // Copyri ...
- 使用D3D渲染YUV视频数据
源代码下载 在PC机上,对于YUV格式的视频如YV12,YUY2等的显示方法,一般是采用DIRECTDRAW,使用显卡的OVERLAY表面显示.OVERLAY技术主要是为了解决在PC上播放VCD而在显 ...
- 基于RTP的H264视频数据打包解包类
from:http://blog.csdn.net/dengzikun/article/details/5807694 最近考虑使用RTP替换原有的高清视频传输协议,遂上网查找有关H264视频RTP打 ...
- 用hdfs存储海量的视频数据的设计思路
用hdfs存储海量的视频数据 存储海量的视频数据,主要考虑两个因素:如何接收视频数据和如何存储视频数据. 我们要根据数据block在集群上的位置分配计算量,要充分利用带宽的优势. 1.接收视频数据 将 ...
随机推荐
- 连号区间数(2013年第四届c/c++ b组第10题)
题目描述 标题:连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个 ...
- C++入门程序作业2
程序在Dev-C++5.5.3版本运行 结构体的使用 给结构体赋值,打印出结构体中学生姓名,分数,平均分 #include <iostream>#include <cassert&g ...
- vxlan基础
1. 为什么需要Vxlan 普通的VLAN数量只有4096个,无法满足大规模云计算IDC的需求,而IDC为何需求那么多VLAN呢,因为目前大部分IDC内部结构主要分为两种L2,L3.L2结构里面,所有 ...
- C# 检查数字
#region 检查数字 public bool IsNumeric(string value) { bool result; try { int x = int.Parse(value); resu ...
- C++编程入门
学习一门新的程序设计语言的最好方法就是练习编写程序. 每个C++程序都包含一个或多个函数,其中一个必须命名为main.操作系统通过调用main来运行C++程序. 一个函数定义包含四个部分:返回类型:函 ...
- 访问mysql出现Access denied for user 'root'@'的解决方法
1.关闭mysql的服务 方法一:我的电脑右键-管理-服务和应用程序-服务,找到mysql,右键关闭 方法二:cmd进入命令提示符,service mysqld stop(这个是网上的方法,我试了一下 ...
- 面试中linux常见的20个命令
1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件. 2.查看一个程序是否运行 ps –ef|grep tomcat 查看所有有关to ...
- WEB学习笔记10-高可读性的HTML之HTML 语义化
实现如下所示工具栏: 做到标签语义化,首先要尽量减少使用<div>和<span>这两个标签. 分析:这是一个包含5个无序操作项的工具栏,因此应该使用符合语义的<ul> ...
- hadoop day 6
1.为hive配置mysql数据库 conf/hive-site.xml <property> <name>javax.jdo.option.ConnectionURL< ...
- python从零开始 -- 第1篇之环境搭建
事实上,网络上有很多相应的教程,本文无意做成文章的粘贴展示板,附上我认为的简易的安装详解: 安装 Python 环境(编程小白的第一本 Python 入门书),包含了python以及相关的IDE,图文 ...