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 ...
随机推荐
- 射频识别技术漫谈(15)——Mifare1的安全性及7字节序列号M1卡
Mifare1的安全性主要指卡中数据的安全性,要求卡中的数据不能被非法修改或窃听.数据的安全性主要使用加密技术来保证,加密技术有两个关键因素:加密算法和密钥.现代加密技术的一大特点是加密算法公开,如果 ...
- HDU 1722 Cake
#include<cstdio> int gcd(int m, int n) { ?n:gcd(n % m, m); } int main() { int m, n; while(scan ...
- HDU 3746 Cyclic Nacklace KMP
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3746 KMP算法—— AC代码: #include <iostream> #include ...
- [cocos2d-x]用CCSpriteBatchNode进行文理贴图的优化
引言: 我们在进行手机游戏开发的过程中,由于手机的内存资源是有限的,那么对纹理贴图的优化是非常有必要的,有可能相同的功能,优化的好与不好对内存资源的消耗是非常明显的,下面我就用一个例子来说明一下. 说 ...
- Android API 中文(76)——AdapterView.OnItemLongClickListener
前言 本章内容是android.widget.AdapterView.OnItemLongClickListener,版本为Android 2.3 r1,翻译来自"cnmahj", ...
- hdu3416 Marriage Match IV【最短路+最大流】
转载请注明出处,谢谢:http://www.cnblogs.com/KirisameMarisa/p/4297581.html ---by 墨染之樱花 题目链接:http://acm.hdu.ed ...
- 改变status bar的状态
两种改变status bar状态的方法 一 :(全局的) 直接在当前控制器中(一般是在navigationcontroller) //- (UIStatusBarStyle)preferredStat ...
- mysql 添加用户并授权(记录)
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'something' WITH GRANT OPTION ...
- php随笔9-thinkphp OA系统 集成UEditor
版本信息:thinkphp 3.1.3 full UEditor 1.4.3.1 utf8-php 1.将EUditor放在项目public目录下. 2.在指定页面加载编辑器 <!-- ...
- 深入浅出—JAVA(7)
7.继承与多态 遵守合约:覆盖的规则 方法的重载