自我检讨,基础太差了。找了一本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的更多相关文章

  1. python基础编程——类和实例

    在了解类和实例之前,需要先了解什么是面向对象,什么又是面向过程.面向过程是以过程为中心实现一步步操作(相互调用,类似流水线思想):面向对象是以事物为中心,某个事物可以拥有自己的多个行为,而另一个事物也 ...

  2. ASP.NET程序开发范例宝典

    在整理资料时发现一些非常有用的资料源码尤其是初学者,大部分是平时用到的知识点,可以参考其实现方法,分享给大家学习,但请不要用于商业用途. 如果对你有用请多多推荐给其他人分享. 点击对应章节标题下载本章 ...

  3. 《Visual Basic开发实战1200例》包括第I卷、第II卷共计1200个例子,本书是第I卷,共计600个例子。

    本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Visual Basic进行程序开发各个方面的知识和技巧.主要包括基础知识.窗体界面设计.控件应用等.全书分6篇20章,共计6 ...

  4. 最近学习工作流 推荐一个activiti 的教程文档

    全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...

  5. iOS比较常用的第三方及实例(不断更新中)

    把平时看到或项目用到的一些插件进行整理,文章后面分享一些不错的实例,若你有其它的插件欢迎分享,不断的进行更新: 一:第三方插件 1:基于响应式编程思想的oc 地址:https://github.com ...

  6. LB(Load balance)负载均衡集群--{LVS-[NAT+DR]单实例实验+LVS+keeplived实验} 菜鸟入门级

    LB(Load balance)负载均衡集群 LVS-[NAT+DR]单实例实验 LVS+keeplived实验 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一 ...

  7. Cocos2d-x 3.X手游开发实例详解

    Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰 ...

  8. web iis服务器安全性配置实例

    自己不维护服务器,不知道维护服务器的辛苦.刚开始为了嫌麻烦,抱有侥幸心理,一些繁琐的安全设置没有配置,结果服务器连一天都没撑过去.经过10天的反复摸索和努力,现在服务器已经稳定工作一个月了,特此整理本 ...

  9. sscanf()函数的使用及其实例

    资料引自: 传送门 sscanf函数原型: Int sscanf( const char * src, const char * format, ...); int scanf( const char ...

随机推荐

  1. poj 2653 计算几何

    #include <iostream> #include <cstring> #include <algorithm> #include <cmath> ...

  2. setTimeout 虚假的“异步”

    看这篇http://www.laruence.com/2009/09/23/1089.html 所以实际上 setTimeout更像是任务按照队列执行  经过setTimeout设置后任务放在了队尾 ...

  3. 驯服你的Windows Server 2003

    虽然通过一些技巧可以让Windows Server 2003更符合我们的使用习惯,但对我等菜鸟来说,操作还是有相当的难度,有没有更简单.更省事的驯服它的办法呢?有,那就是使用Windows Serve ...

  4. JavaScript中的鼠标滚轮事件详解

    JavaScript中的鼠标滚轮事件详解/*Firefox注册事件*/ ~~~Firefox: addEventListener('DOMMouseScroll', handler, false)if ...

  5. Suricata, to 10Gbps and beyond(X86架构)

    Introduction Since the beginning of July 2012, OISF team is able to access to a server where one int ...

  6. NeHe OpenGL lession 4

    // lession4.c #include <OpenGL/OpenGL.h> #include <GLUT/GLUT.h> #include <stdio.h> ...

  7. java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝

    接上一篇的字节流,以下主要介绍字符流.字符流和字节流的差别以及文件复制拷贝.在程序中一个字符等于两个字节.而一个汉字占俩个字节(一般有限面试会问:一个char是否能存下一个汉字,答案当然是能了,一个c ...

  8. Foundation Sorting: Shellsort

    /* Shell Sorting. * Implemention history:. * 2013-09-15, Mars Fu, first version. */ /* [Shell Sortin ...

  9. c 围圈报数

    #include<stdio.h> /*围圈报数*/ void left(int *p,int m,int n) { int i,j,count; i = j = count = ; ) ...

  10. ecplise启动tomcat异常

    由于myeclipse为正常关闭,导致下次启动时抛出异常:类似于无法加载异常缓存的内容之类... 处理办法: 1.关闭myeclipse 2.找到工作空间/.metadata/.plugins/ 3. ...