135实例——add_4
自我检讨,基础太差了。找了一本135个实例的pdf文档,一个个往后面编吧,希望能巩固一下基础
//date : 2013/8/19
//designer :pengxiaoen
//function module add_4 (
ina,inb,cin,
sum,cout
);
input [:] ina ,inb ;
input cin;
output [:] sum;
output cout; assign {cout ,sum } = ina + inb + cin; endmodule
先不解释,先上图
首先要看的当然是资源使用情况,
其中逻辑门占用了6个,没有使用寄存器。input与output一起占用了14 个pin
先看RTL viewer,很直观,两个5bit 的加法器就搞定了。只是我不明白为什么QuartusII 给的是5bit 的加法器。顶层的东西始终都是加工过的,不是原貌。只有继续追才能找到真相。
好,现在就来看Technology Map Viewer.(post mapping)这个才是我们熟悉的数字电路。QuartusII 知道将低位对齐,ain[0] + b[0] + cin=sum[0] + sum[0]进位位。sum[0]进位位 + ain[1] + bin[1] = sum[1] + sum[1]进位位。可是大家发现没有呢。这个cin为什么要一个buffer呢,还发现这个加法器外面有一个1对不对,好,继续往下追
我打开的是add0~2 也就是第二个加法器,这个1 很奇怪吧(我个人觉得比较奇怪好吧),是个使能。两个F0,一个F1,这个是干嘛。继续追
哈哈这下子没与得躲的了。传说中的F1,画在纸上,经过我的浆糊大脑折腾了好久才发现。哦,出来的是个 ab + bc + ac 。就是当前的进位位。可是右上角不是个两路选择器嘛,这个sum[0] 的逻辑代数式不是 sum = a`b`c + a`bc`+ab`c`+ abc= a 异或b 异或c。。可是经过这个选择器,出来的是个啥啊
还有,大家发现没有viewer 选项下面有一个Technology Map Viewer(post fitting)。这个解释不了啊
求大神解释
问题一:在RTL中为什么是5bit的 的adder呢。后来尝试将总线由原来的4bit扩展到5bit,编译后RTL生成的adder变成了6bit。也就是说编译后默
认的多生成一个bit,为什么QuartusII 要有这个设定呢
在handbook 中介绍RTL viewer的那一段里看到这么一句话
Chains of equivalent combinational gates are merged into a single gate. For example, a 2-input AND gate feeding a 2-input AND gate is converted to a single 3-input AND gate. (待翻译)
问题二:在add0~2右上角输出本来应该是sum[0],可是它出来的是个啥啊,怎么分析得不是那么回事啊。
问题三:Technology Map Viewer(post fitting)这个里面的配置用户怎么看呢。
135实例——add_4的更多相关文章
- python基础编程——类和实例
在了解类和实例之前,需要先了解什么是面向对象,什么又是面向过程.面向过程是以过程为中心实现一步步操作(相互调用,类似流水线思想):面向对象是以事物为中心,某个事物可以拥有自己的多个行为,而另一个事物也 ...
- ASP.NET程序开发范例宝典
在整理资料时发现一些非常有用的资料源码尤其是初学者,大部分是平时用到的知识点,可以参考其实现方法,分享给大家学习,但请不要用于商业用途. 如果对你有用请多多推荐给其他人分享. 点击对应章节标题下载本章 ...
- 《Visual Basic开发实战1200例》包括第I卷、第II卷共计1200个例子,本书是第I卷,共计600个例子。
本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Visual Basic进行程序开发各个方面的知识和技巧.主要包括基础知识.窗体界面设计.控件应用等.全书分6篇20章,共计6 ...
- 最近学习工作流 推荐一个activiti 的教程文档
全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...
- iOS比较常用的第三方及实例(不断更新中)
把平时看到或项目用到的一些插件进行整理,文章后面分享一些不错的实例,若你有其它的插件欢迎分享,不断的进行更新: 一:第三方插件 1:基于响应式编程思想的oc 地址:https://github.com ...
- LB(Load balance)负载均衡集群--{LVS-[NAT+DR]单实例实验+LVS+keeplived实验} 菜鸟入门级
LB(Load balance)负载均衡集群 LVS-[NAT+DR]单实例实验 LVS+keeplived实验 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一 ...
- Cocos2d-x 3.X手游开发实例详解
Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰 ...
- web iis服务器安全性配置实例
自己不维护服务器,不知道维护服务器的辛苦.刚开始为了嫌麻烦,抱有侥幸心理,一些繁琐的安全设置没有配置,结果服务器连一天都没撑过去.经过10天的反复摸索和努力,现在服务器已经稳定工作一个月了,特此整理本 ...
- sscanf()函数的使用及其实例
资料引自: 传送门 sscanf函数原型: Int sscanf( const char * src, const char * format, ...); int scanf( const char ...
随机推荐
- IOS 定位服务与地图的应用开发
1.定位服务 现在的移动设备很多都提供定位服务,IOS设备提供3种不同定位途径: (1)WiFi定位,通过查询一个WiFi路由器的地理位置的信息,比较省电:IPhone,IPod touch和IPad ...
- Sublime 配置&插件推荐
sublime 配置&插件推荐 Sublime编辑器的新鲜特性同时选中多个 先选中一个 再Command + D Command + P @搜索函数 #搜索关键字迷你地图 安装package ...
- Delphi中使用TXMLDocument控件应注意的问题
今天写了一个类,其中用到了TXMLDocument控件.这个控件我是要动态生成的. 但是却遇到了非常奇怪的问题,下面分享一下 procedure TMainForm.Button1Click(Send ...
- Qt 4.6: A Quick Start to Qt Designer
Qt 4.6: A Quick Start to Qt Designer A Quick Start to Qt Designer Using Qt Designer involves four ba ...
- SVN 让项目某些文件不受版本控制
@echo On @Rem 删除SVN版本控制目录 @PROMPT [Com] @for /r . %%a in (.) do @if exist "%%a\.svn" rd /s ...
- CSS小技巧-图片自动缩放
css的一个重要属性:max-width min-width 示例: <div width="500" height="259"><p> ...
- box-shadow 被其他div遮住 shadow was hidden/covered by another div
使用z-index 来处理 (z-index必须在使用了position的情况下才有效) 参考http://stackoverflow.com/questions/5505118/css-box-sh ...
- position relative和absolute区别
看这个博客 说的很详细http://blog.sina.com.cn/s/blog_647a022e0101b2gn.html 总的来说 这两个属性都是通过增加left和right偏离原来的位置 但 ...
- C#调用Java方法
C#调用Java方法(详细实例) 阅读目录 C#调用c++ C#调用JAVA方法 C#可以直接引用C++的DLL和转换JAVA写好的程序.最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具 ...
- GCC -Wall
官网:http://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/Warning-Options.html#Warning-Options3.8 Options to Re ...