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 ...
随机推荐
- hdu 2815 Mod Tree 高次方程,n不为素数
Accepted 406MS 8576K 2379 B C++/** 这里加了一点限制,,大体还是一样的,, **/ #include <iostream> #include <cs ...
- java时间验证工具
可以验证2014-02-21这种错误
- 求1+2+...+n
题目:求1+2+…+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字以及条件判断语句(A?B:C). 程序很简单,就看想到想不到了.悲剧,我属于后者... 算 ...
- 参照openRTSP写的一个RTSP client 加了一些注解
#include "liveMedia.hh" #include "BasicUsageEnvironment.hh" #include "Gro ...
- HDU 1722 Cake
#include<cstdio> int gcd(int m, int n) { ?n:gcd(n % m, m); } int main() { int m, n; while(scan ...
- iOS键盘遮挡问题解决办法
iOS开发之“键盘遮挡输入框的解决办法”之一 -----键盘通知之前处理这种问题,总是在触发输入框编辑事件键盘弹出的时候,将当前的View整体向上移动,结束编辑又整体向下移,耗时耗力效率低. 在网上看 ...
- ZYB's Game(博弈)
ZYB's Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total ...
- [LeetCode] Longest Substring Without Repeating Characters (LinkedHashSet的妙用)
Given a string, find the length of the longest substring without repeating characters. For example, ...
- Laravel OAuth2 (三) ---使用 services 和 facades
前言 既然要判断用户是否存在,然后创建用户,那么就要实现几个功能函数.为了方便调用,于是我尝试着写了第一个service 和 facade . 创建 Facade class Social exten ...
- shell学习之常用命令总结
1.find命令 主要用途:主要用来做文件查找. 使用方法:查找文件的方式可以基于:文件名,文件时间属性,文件的所有者和组,文件权限属性,文件类型属性,文件大小,另外可以指定 查找目录的深度,排除指定 ...