Verilog手绘FVH信号

`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer: chensimin
//
// Create Date: 2018/09/17 13:20:06
// Design Name:
// Module Name: ntsc_fvh
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
////////////////////////////////////////////////////////////////////////////////// module ntsc_fvh( input wire clk, //27MHz
input wire rst,
input wire enable, output wire hsout,
output wire vsout,
output wire oeout ); parameter THSOUT = ; //2.4us
parameter H_TOTAL = ; //64us
parameter V_TOTAL = ; wire hsout_falling; //------------------------------------------------- reg [:]hsout_cnt = ;
always @(posedge clk or posedge rst)
begin
if(rst)
hsout_cnt <= ; else if(enable)
begin
if(hsout_cnt == H_TOTAL)
hsout_cnt <= ;
else
hsout_cnt <= hsout_cnt + 'b1;
end else
hsout_cnt <= ; end //------------------------------------------------- reg hsout_reg = 'b1 ;
always @(posedge clk or posedge rst)
begin
if(rst)
hsout_reg <= 'b1; else if(enable)
begin
if(hsout_cnt <= THSOUT - || hsout_cnt == H_TOTAL)
hsout_reg <= 'b0;
else if(hsout_cnt >= THSOUT && hsout_cnt <= H_TOTAL - )
hsout_reg <= 'b1;
end else
hsout_reg <= 'b1;
end //------------------------------------------------- reg hsout_reg_delay = 'b1;
always @(posedge clk or posedge rst)
begin
if(rst)
hsout_reg_delay <= 'b1; else if(enable)
hsout_reg_delay <= hsout_reg; else
hsout_reg_delay <= 'b1; end //------------------------------------------------- reg [:] hsout_falling_cnt = ;
always @(posedge clk or posedge rst)
begin
if(rst)
hsout_falling_cnt <= ; else if(enable)
begin if(hsout_falling_cnt == V_TOTAL)
begin
hsout_falling_cnt <= V_TOTAL;
if(hsout_falling)
hsout_falling_cnt <= ;
end else if(hsout_falling)
hsout_falling_cnt <= hsout_falling_cnt + 'b1;
end else
hsout_falling_cnt <= 'b0; end //------------------------------------------------- reg vsout_reg = 'b1;
reg oeout_reg = 'b0;
always @(posedge clk or posedge rst)
begin
if(rst)
begin
vsout_reg <= 'b1;
oeout_reg <= 'b0;
end else if(enable)
begin if(hsout_falling_cnt < || (hsout_falling_cnt == && hsout_cnt < && hsout_cnt >))
begin
vsout_reg <= 'b1;
oeout_reg <= 'b0;
end else if(hsout_falling_cnt == && hsout_cnt == )
begin
vsout_reg <= 'b0;
oeout_reg <= 'b1;
end else if(hsout_falling_cnt == && hsout_cnt == )
vsout_reg <= 'b1; else if(hsout_falling_cnt == && hsout_cnt == )
begin
vsout_reg <= 'b0;
oeout_reg <= 'b0;
end else if(hsout_falling_cnt == && hsout_cnt == )
vsout_reg <= 'b1; else
begin
vsout_reg <= vsout_reg;
oeout_reg <= oeout_reg;
end
end
end //------------------------------------------------- assign hsout_falling = hsout_reg_delay && (!hsout_reg);
assign hsout = hsout_reg;
assign vsout = vsout_reg;
assign oeout = oeout_reg; endmodule /* add_force {/ntsc_fvh/clk} -radix hex {1 0ns} {0 25000ps} -repeat_every 50000ps
add_force {/ntsc_fvh/rst} -radix hex {1 0ns} {0 100ns}
add_force {/ntsc_fvh/enable} -radix hex {1 0ns} */

仿真结果:

Verilog手绘FVH信号的更多相关文章

  1. JointBoost+CRF+GraphCut做手绘草图的分割

    研究生做的稍微有点水平的就这两个项目了:一个是利用SVM做手绘草图的分类,另一个是利用JointBoost+CRF做手绘草图的分割.总结得出的经验是做研究的方法就是将别人大神的代码看懂然后改成适合自己 ...

  2. Android基于mAppWidget实现手绘地图(一)--简介

    http://lemberg.github.io/mappwidget/user_guide.html 最近在看一些导游类应用,发现一些景区的导览图使用的完全是自定义地图,也就是手绘地图.这种小范围使 ...

  3. EDIUS手绘遮罩功能如何用

    学了这么久的EDIUS视频编辑软件,你们学的怎么样了呢?你们知道EIDUS手绘遮罩的用法么,会熟练地使用它么?如果你们还没有学到这一知识点的话也不要着急,因为你们看完下面这篇文章就会明白了.事不宜迟, ...

  4. 免费下载:320+ 手绘风格 Apple iOS7 图标

    Themify 图标是一套用在网页设计和应用程序的图标,包括 320+ 手工制作的像素完美的苹果  iOS7 图标中汲取灵感.这些图标完全免费,您可以用于任何目的,无论是个人或商业. 您可能感兴趣的相 ...

  5. IOS 手绘地图导航

    手绘地图导航 第三方库 NAMapKit, 1)支持在手绘图上标记.缩放 2)支持在单张图片 3)支持瓦片小图片 思路 前提:美工已经切好手绘图,并告知我们当前的缩放级别. 1)确定好手绘图左上角点在 ...

  6. 基于mAppWidget实现手绘地图(十五)–如何控制放大缩小

    一般来说,可以使用以下几种方式来控制地图的放大/缩小 : 使用控件底部的缩放按钮 双击控件 pinch手势 物理按键 :I键标识缩小 :O键表示放大.(只有设备具有物理按键才行)        当然, ...

  7. 基于mAppWidget实现手绘地图--索引&DEMO

    文章翻译完了,梳理一下,附Demo下载 基于mAppWidget实现手绘地图(一)–简介 基于mAppWidget实现手绘地图(二)–概要 基于mAppWidget实现手绘地图(三)–环境搭建 基于m ...

  8. UWP 手绘视频创作工具 “来画Pro” 技术分享系列

    开篇先来说一下我和来画的故事,以及写这篇文章的初衷. 今年年初时,我还在北京,在 Face++,做着人脸识别技术的 Windows 和 Android 端,做着人工智能终将实现世间所有美好的梦.这时的 ...

  9. UWP 手绘视频创作工具技术分享系列

    开篇先来说一下写这篇文章的初衷. 初到来画,通读了来画 UWP App 的代码,发现里面确实有很多比较高深的技术点,同时也是有很多问题的,扩展性,耦合,性能,功能等等.于是我们决定从头重构这个产品,做 ...

随机推荐

  1. Intellij IDEA 导入Maven项目

    本人一直使用的eclipse, 但都说IDEA 是java界中最好使用的编辑器 ,所以开始了IDEA的学习,最近使用到了 IDEA 但是,既然编辑器有所差别,所以在使用过程中也难免遇到一些费劲的事情. ...

  2. Java复数的加乘除运算

    //主要是对零的处理,有什么不对的地方欢迎批评指正,一起进步class complex{ double a,b; public String toString() { return("实部: ...

  3. python面向对象之继承/多态/封装

    老师说,按继承/多态/封装这个顺序来讲. 子类使用父类的方法: #!/usr/bin/env python # coding:utf-8 class Vehicle: def __init__(sel ...

  4. java第11周

    1.JPQL查询 JPQL全称Java Persistence Query Language 基于首次在EJB2.0中引入的EJB查询语言(EJB QL),Java持久化查询语言(JPQL)是一种可移 ...

  5. Linux常用命令之Yum

    Linux Yum命令详解Yum全称Yellow dog Updater,Modified,是一个在Fedora和RedHat以及SUSE中提供的基于RPM包的软件包管理工具,能够从指定的服务器自动下 ...

  6. LimeSDR 上手指南

    原文链接:https://mp.weixin.qq.com/s/so4XzPaYtzAvgbjarm_9fg 有问题可以在公众号或者这里留言

  7. ArrayList、LinkedList和vector的区别

    1.ArrayList和Vector都是数组存储,插入数据涉及到数组元素移动等操作,所以比较慢,因为有下标,所以查找起来非常的快. LinkedList是双向链表存储,插入时只需要记录本项的前后项,查 ...

  8. EMMET 的HTM自动生成

    { // Custom snippets definitions, as per https://github.com/emmetio/emmet/blob/master/snippets.json ...

  9. WEB学习笔记6-正确闭合HTML标签

    自闭合标签(空元素,即不能包含任何内容,这些元素对应的HTML标签成为自闭合标签) area/base/br/col/command/embed/hr/img/input/keygen/link/me ...

  10. [转载] HBase入门

    转载地址:https://dxer.github.io/2016/03/18/hbase/ HBase一些基本概念 1.Row key 行主键,在对HBase进行查询时候只能依靠Row key,HBa ...