弄清SDI显示工程中的每一个信号,每一个逻辑

1. FIFO外部逻辑控制

FIFO的读和写在不同的时钟域,所以读和写的控制逻辑应当分开写在不同的两个always块语句中。

2.播出端复位信号的产生

reg [:]tx_fabric_reset_sss;
always @ (posedge tx_usrclk or negedge tx_change_done)
if (~tx_change_done)
tx_fabric_reset_sss <= 'b111;
else
tx_fabric_reset_sss <= {tx_fabric_reset_sss[:], ~tx_change_done}; assign tx_fabric_reset = tx_fabric_reset_sss[]; /*
add_force {/top/tx_usrclk} -radix hex {0 0ns} {1 50000ps} -repeat_every 100000ps
add_force {/top/tx_change_done} -radix hex {1 0ns} {0 900000ps}
*/

仿真结果:

3.

当tx_change_done产生下降沿时,tx_fabric_reset信号拉高,保持3个时钟周期。

tx_sd_ce信号的产生

reg [:]tx_fabric_reset_sss;
wire tx_fabric_reset;
always @ (posedge tx_usrclk or negedge tx_change_done)
if (~tx_change_done)
tx_fabric_reset_sss <= 'b111;
else
tx_fabric_reset_sss <= {tx_fabric_reset_sss[:], ~tx_change_done}; assign tx_fabric_reset = tx_fabric_reset_sss[]; reg [:]tx_gen_sd_ce;
always @ (posedge tx_usrclk)
if (tx_fabric_reset)
tx_gen_sd_ce <= 'b00000100001;
else
tx_gen_sd_ce <= {tx_gen_sd_ce[:], tx_gen_sd_ce[]}; reg tx_sd_ce;
always @ (posedge tx_usrclk)
tx_sd_ce <= tx_gen_sd_ce[]; assign tx_gen_sd_ce_w = tx_gen_sd_ce;
assign tx_sd_ce_w = tx_sd_ce; /*
add_force {/top/tx_usrclk} -radix hex {0 0ns} {1 50000ps} -repeat_every 100000ps
add_force {/top/tx_change_done} -radix hex {1 0ns} {0 900000ps} {1 950000ps}
*/

弄清SDI显示工程中的每一个信号,每一个逻辑的更多相关文章

  1. excel表格中打开可以显示整个表格但是打印却只能打印一个单元格

    excel表格中打开可以显示整个表格但是打印却只能打印一个单元格 如下图显示 解决办法 2007 版菜单栏上 ----->页面布局----->打印区域----->取消打印.即可正常. ...

  2. nodejs express框架一个工程中同时使用ejs模版和jade模版

    在某些项目中,比如你接手了一个别人的项目然后你不想用蛋疼的ejs,或者你不想用蛋疼的jade.你有不想重写之前的页面,那么你现在可能需要新引入ejs或者jade模块,你仅仅需要做下面两步也许就能完成使 ...

  3. [转载]android工程中引入另一个工程中的资源

    原文地址:android工程中引入另一个工程中的资源作者:87fayuan 在项目中可能遇到这样的问题:项目过大,于是细分为N个子模块来做,每个模块都是不同的工程.涉及到activity传数据时,可以 ...

  4. 在vue中下拉框切换事件中改新建表单中的一个值,页面不显示

    事件中改新建表单中的一个值,页面不显示,当另一个对象值发生改变时,这个页面上的值才会显示 由于新建表单是弹窗,在弹出时会重新给每个字段重新赋值,在赋值时没给这个字段赋值(常见新加功能时,加了一个字段, ...

  5. 关于在工程中添加新文件时的LNK2019错误的一个解决办法

    我这几天一直在研究Qt的串口程序,在读懂了官方给出的实例程序后我决定把其多线程的串口监视程序加入到我自己的工程中,便直接把问价复制到自己的工程下面,在Qt中加入到自己的工程中,但是总是出现LNK201 ...

  6. 流程引擎Activiti系列:在eclipse中搭建咖啡兔的Activiti演示工程中的各种坑及其解决方法(kft-activiti-demo-no-maven)

    近期在学习activiti,打算基于现有的框架,比如activiti-explorer或者咖啡兔的示例工程 kft-activiti-demo,在此基础上添加自己的业务流程,看看是否可以走通,以及这个 ...

  7. Cocos2d-JS工程中的文件结构

    res文件夹存放资源文件 src文件夹是主要的程序代码 app.js是实现游戏场景的JavaScript文件 resource.js在src文件夹中,定义资源对应的变量 config.json保存模拟 ...

  8. VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)

    VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)-软件开发-鸡啄米 http://www.jizhuomi.com/software/143.html   鸡啄米在上一讲中 ...

  9. 怎么去掉Xcode工程中的某种类型的警告

    XCode警告   问题描述  在我们的项目中,通常使用了大量的第三方代码,这些代码可能很复杂,我们不敢改动他们,可是作者已经停止更新了,当sdk升级或者是编译器升级后,这些遗留的代码可能会出现许许多 ...

随机推荐

  1. 性能测试-12.Web页面性能指标与建议

    1.页面加载时间 从页面开始加载到页面onload事件触发的时间.一般来说onload触发代表着直接通过HTML引用的CSS,JS,图片资源已经完全加载完毕. 2.全部页面加载时间 全部页面载入时间指 ...

  2. Notepad++同一窗口显示左右显示两份文档

    Notepad++同一窗口显示左右显示两份文档   直接打开一份文档,test1.txt 再打开第二份文档,test2.txt,会显示成这样: 两份文档是以标签的形式展示的,有时需要同时查看两份文档, ...

  3. NAVICAT for 32位/64位 及破解工具PatchNavicat

    Navicat提供多达 7 种语言供客户选择,被公认为全球最受欢迎的数据库前端用户介面工具. 它可以用来对本机或远程的 MySQL.SQL Server.SQLite.Oracle 及 Postgre ...

  4. 奇妙的证明 —— 0! = 1(a^0=1)

    1. 0!=1 (n−1)!=n!n" role="presentation">(n−1)!=n!n(n−1)!=n!n 则: 0!=1!1=1" rol ...

  5. bootstrap 4 pull-right无效

    /********************************************************************** * bootstrap 4 pull-right无效 * ...

  6. MySQL篇,第一章:数据库知识1

    MySQL 数据库 1 一.MySQL概述 1.什么是数据库       数据库是一个存储数据的仓库 2.哪些公司在用数据库       金融机构.购物网站.游戏网站.论坛网站... ... 3.提供 ...

  7. Arrays ---------------copyOf赋值

  8. oracle ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库(转载+自己经验总结)

    字符集子集向其超集转换是可行的,如此例 ZHS16GBK转换为AL32UTF8. 导出使用的字符集将会记录在导出文件中,当文件导入时,将会检查导出时使用的字符集设置,如果这个字符集不同于导入客户端的N ...

  9. python time模块使用笔记(更新)

    import time 添加time模块 关于时间和时间戳: 时间是指日常生活中用的,如某年某月某日 时间戳是一个时间长度,是时间关于一个初始时间(好像是1970.1.1)的秒数 localtime方 ...

  10. day3 反射与动态代理

    import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Metho ...