状态机中的RAM注意的问题--减少扇出的办法
可能我不会抓紧时间,所以做事老是很慢。最近在整维特比译码过程深感自己有这样的毛病。
每天会有一点进展,但是却是一天的时间,感觉别人都做起事情来很快。可能这个东西有点难,做
不做得出来都不要紧,但我的想法一直都是做一件事,就要把它做好的,所以还应该打起精神开动
思维去写程序调程序。
在读RAM时,第一个状态读出地址,第二个状态调用读出的数据,其实用是地址变化前的数据,因为
数据相对于地址也有一个周期的延时,所以要想调用RAM读出的数据,必须要隔上一个周期。因为这一
点,我对自己写的程序纠结了很久。
在软件中经常会用到二倍的地址或数据,形式如下
X(2*k) ,X(2*k +1)
用VHDL 怎样实现呢,如下
RegA[5 downto 1] <= RegA[4 downto 0];
RegA[0] <= '0';或RegA[0] <= '1';
关于用计数器来作为计数时钟控制程序,其实只要能用好的话挺好用的。从译码程序中可以
得到很好的体现,作者很聪明的利用计数器,把每个状态计算4次,总共同64 个状态,多少个
数都计算的很清楚
signal encode_sclk_cnt : std_logic_vector(20 downto 0);
signal encode_bit_state : std_logic_vector(2 downto 0);
signal encode_state : std_logic_vector(5 downto 0);
signal encode_num : std_logic_vector(10 downto 0):
process(sclk)
begin
encode_bit_state <= encode_sclk_cnt(2 downto 0);
encode_state <= encode_sclk_cnt(8 downto 3);
encode_num <= encode_sclk_cnt(19 downto 9);--从该句可以很清楚看到译了多少个数。
end process;
其实RAM的写,如果用写使能控制的话只要把数据,写使能和地址同时有效就行了。而读的话,如果不用
读使能控制,只要先把地址赋上,一个时钟周期后,数据开始送出,再到一个周期就可以把数据读走了。
状态机中的RAM注意的问题--减少扇出的办法的更多相关文章
- Unity---动画系统学习(1)---在状态机中简单控制物体运动
1. 介绍 新建一个GameObject-Cube,在Window下添加Animation(快捷键ctrl+6).会添加用于播放动画的三个东西.物体上的Animator组件.Animator Cont ...
- 修改vuex状态机中的数据
vuex状态机中的数据是必须提交mutation来修改,如果现实开发中,我们需要修改,而又不想提交mutaition,应该怎么做呢? 先来回顾一下场景,有一个列表是存在vuex中的 这个列表展 ...
- ArcGIS客户端API中加载大量数据的几种解决办法
ArcGIS客户端API中加载大量数据的几种解决办法 2011-03-25 18:17 REST风格的一切事物方兴未艾,ArcGIS Server的客户端API(Javascript/Flex/Sil ...
- jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法
jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法 在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...
- javascript中外部js文件取得自身完整路径得办法
原文:javascript中外部js文件取得自身完整路径得办法 有时候我们需要引入一个外部js文件,这个js文件又需要用到自己的路径或者是所在的目录,别问怎么又这么变态的需求,开发做久了各种奇葩需求也 ...
- 5个Android开发中比较常见的内存泄漏问题及解决办法
android中一个对象已经不需要了,但是其他对象还持有他的引用,导致他不能回收,导致这个对象暂存在内存中,这样内存泄漏就出现了. 内存泄漏出现多了,会是应用占用过多的没存,当占用的内存超过了系统 ...
- iOS9中关于 NSURLSession/NSURLConnection HTTP load failed 的解决办法
最近为了新的存管app上线,忙了近一个月,重新过了一段996的日子,今天终于可以喘口气,继续更新博客了.本文记录一下在iOS 9中发送https请求遇到的问题及解决办法,希望通过本文,可以对ATS的配 ...
- eclipse中运行出错:无法初始化主类的解决办法
问题描述:eclipse中运行程序时,出现如下错误 解决办法: 出现此类:无法初始化主类有可能是因为eclipse中Java的版本与JDK的版本不匹配,我开始用的时候eclipse中用的是Java s ...
- Ubuntu 14.04 LTS 火狐浏览器中,鼠标选择文字被删除的解决办法
这篇文章主要介绍了Ubuntu 火狐浏览器中,鼠标选择文字被删除的解决办法,需要的朋友可以参考下在终端中输入命令: ibus-setup将 “在应用程序窗口中启用内嵌编辑模式“ 选项取消
随机推荐
- UI5-文档-2.3-使用SAPUI5工具为Eclipse开发应用程序
用于为简单用例开发应用程序.用于Eclipse的SAPUI5应用程序开发工具提供向导来支持您以一种简单的方式创建应用程序.使用application project向导,将自动创建包含视图和控制器的必 ...
- PL/SQL Developer安装教程以及汉化包安装教程
一.安装PL/SQL 1.百度下载plsql破解版软件,官网只能使用30天 2.双击plsqldev906.exe进行安装,点击 iagree 3.默认是安装在c盘,可以根据自己需要更改安装目录 4. ...
- oc 中的id类型与类型转换
id是oc语言中一个独特的数据类型.一种通用对象类型.可以转换为任何数据类型,即id类型的变量可以存放任何数据类型的对象. 使用示例: Animal * dog = [[Dog alloc]init] ...
- mysql 内存占用过多的解决方法
以下是5.6默认的设置performance_schema_max_table_instances 12500table_definition_cache 1400table_open_cache 2 ...
- one by one 项目 part 6
package Controllerservlet; import java.io.IOException; import java.io.PrintWriter; import java.util. ...
- python字符串填充(转)
ljust()方法返回字符串左对齐的字符串长度宽度.填充是通过使用指定的fillchar(默认为空格).如果宽度小于len(s)返回原始字符串.语法 以下是ljust()方法的语法: str.ljus ...
- FastDFSClient工具类 文件上传下载
package cn.itcast.fastdfs.cliennt; import org.csource.common.NameValuePair; import org.csource.fastd ...
- myeclipse 10激活,本人已测试过可行
激活步骤: 下载myeclipse 10硬解程序包: ed2k://|file|%5Bmyeclipse.10.0.%E6%9B%B4%E6%96%B0%E5%8F%91%E5%B8%83%28%E7 ...
- RigidBody组件的Is Kinematic
RigidBody组件的Is Kinematic属性打上勾(设为true,使其不受物理引擎驱动,Wall是为了防止其移动,Person是为了防止其受到力不断旋转—看的心塞=v=) .is kinema ...
- phpStudy6——php导出可以设置样式的excel表格
前言: 一般的后台管理页面肯定少不了excel表格导出的功劳,尤其是那些电商平台的订单导入导出,用户列表的导入导出等,那么本文就介绍php是如何导出excel表格的. php导出excel方法有很多, ...