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.接收视频数据 将 ...
随机推荐
- My SQL随记 003 数据表基础操作语法
数据表 查看数据表 修改表名 修改字段名 修改字段数据类型 添加删除-字段 约束(主外键默认检查) 查看表结构: 语法:DESRIBE(描述) table_Name; DESC table_Name ...
- Java中的静态方法和实例方法的调用的理解(不同的类下的方法调用)
public class MethodCall { public static void main(String[] args) { Test.sayStatic(); Test test = new ...
- golang对不同系统的编译
Golang 支持在一个平台下生成另一个平台可执行程序的交叉编译功能. Mac下编译 # mac编译linux执行文件 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go ...
- 在Servlet中获取spring容器WebApplicationContext
WebApplicationContext springContext = WebApplicationContextUtils.getRequiredWebApplicationContext(ge ...
- mysql_pconnect 问题
不同于mysql_connect的短连接,mysql_pconnect持久连接的时候,将先尝试寻找一个在同一个主机上用同样的用户名和密码已经打开的(持久)连接,如果找到,则返回此连接标识而不打开新连接 ...
- crontab定时执行shell脚本失败的原因
有一段时间不用crontab定时执行任务了,这次趁着项目实施的机会来进一步分析一下crontab定时任务设置时遇到的一些棘手的问题. crontab -l 查看目前已经设置的crontab信息 cro ...
- servlet之ServletRequest与ServletResponse (三)
·servlet的service()方法用于应答请求:每次请求都会调用service()方法 public void service(ServletRequest arg0, ServletRespo ...
- python初识模块
sys import sys print(sys.argv) #输出 $ python test.py helo world ['test.py', 'helo', 'world'] # ...
- 解决:安装SQL Server 2008 Native Client遇到错误(在Navicat premium新建sqlserver连接时 需要):An error occurred during ...HRESULT: 0x80070422(注意尾部的错误号)
解决:安装SQL Server 2008 Native Client遇到错误(在Navicat premium新建sqlserver连接时 需要):An error occurred during . ...
- 自动删除Android工程中无用的资源
开发时间久了, 几个版本迭代之后, 工程中难免留下很多垃圾资源, 造成apk的包很大, 这里介绍一个工具, 可以自动扫描工程中, 没有使用的资源, 然后自动删除: 包括图片, xml, 文本等. 采用 ...