在综合结束后,设计者经常会希望看到综合后的原理图,以分析综合结果是否与所设想中的设计一致,这样就会用到RTL Viewer和Technology Map Viewer这两个工具。
1.RTL Viewer:
1.1打开方法:Tools---Netlist---RTL Viewer
注意:在这之前必须已经执行过综合或全编译。
1.2列表项含义:
[Instances],即实例,是指设计中能扩展为低层次的模块或实例。
[Primitives],即原语,是指不能被扩展为低层次的底层节点。用Quartus II自带综合器综合时,它包含的是寄存器和逻辑门;而用第三方综合工具综合时,它包含的是逻辑单元。
[Pin],即引脚,是当前层次的I/O端口。
[Nets],即网线,是连接节点(包括实例、源语和引脚)的网线。
1.3放大与缩小视图:
[Fit in Window]:视图适应当前窗口大小,空白处右键,选Zoom---Fit in Window。快捷键键:ctrl+W
[Fit Selection in Window]:放大当前选择到适应窗口,空白处右键,选Zoom---Fit Selection in Window。快捷键键:ctrl+shift+W
1.4过滤原理图:
选中任意一节点,右键---Filter,选项如下:
[Sources],即源,指过滤出所选节点或端口的源端逻辑;
[Destinations],即目标,……目标端口;
[Sources&Destinations],即源和目标,……源和目标的集合。
[Selected Nodes&Nets],所选结点和网线,过滤出已经选择的节点和网线。
[Between Selected Nodes]所选节点之间,……两个节点之间的逻辑。
注意:在过滤后可以单击工程区左侧工具栏 按钮,回到过滤前的原理图,或者单击左侧列表项,查看其他层次的原理图。
1.4打开不同层次的模板:
双击所选模块可以进入下一层次(或空白处右键---Hierarchy Down),单击工程区左侧工具栏 按钮回到上一层次(或空白处右键---Hierarchy Up)。
1.5定位到其他工具:
右键---Locate,在子菜单中的分别有定位与各种工具的选项,选中后当前所选项就会定位到所选工具中。
1.6查找节点或网线:
空白处右键---Find(快捷键:ctrl+F),查找对话框中的具体选项不做详述(P296)。
1.7设置原理图分页:
Tools---Options,然后点Category的Rtl/Technology Map Viewer项,
[Nodes per page]:设置每面多少个节点;
[Ports per page]:……端口或引脚数;
如果RTL/Technology Map Viewer当前面超过了所设定的值,就会自动分成一个新的页面。可按 进入下一页面,按 回到上一页面。还可以单击原理图空白区,选择[go to]命令,填入页数,到达自己需要的页面。
2.Technology Map Viewer:
与RTL Viewer不同,Quartus II Technology Map Viewer提供的是设计的底级或基元极专用技术原理表征,它展示的是综合后的电路结构。
2.1打开方法:打开方法:Tools--- Netlist---Technology Map Viewer;
其它 *** 作与RTL viewer基本相同,在此就不再赘述!
如图所示:
代码就是程序员用 开发工具所支持的语言写出来的源文件,是一组由 字符、符号或信号 码元以离散形式表示信息的明确的规则体系。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。
源代码是代码的分支,某种意义上来说,源代码相当于代码。现代程序语言中,源代码可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码最终目的是将人类可读文本翻译成为计算机可执行的二进制 指令,这种过程叫编译,它由通过编译器完成。
电路由金属导线和电气以及电子部件组成的导电回路,称其为电路。最简单的电路由电源负载和导线、开关等元件组成按一定方式联接起来,为电荷流通提供了路径的总体。
我就说几种我知道的吧。可能还有其他的。(如果对里面的一些东西感兴趣可以追问或者百度)
1。 第一种,用逻辑电路表示
如果你学过数字电路或者相关课程,你会知道所有的逻辑可以用时序和组合电路来表示。只是规模的问题。比如现在的输入是flag,result是输出,result = !flag就是要对输入取反,如果输入是真,输出就是假,输入是假,输出就是真。在电路里面就是一个非门。
有类似逻辑的还有与门、或门、同或、异或之类的。这些有逻辑处理能力的小电路。都是可以利用三极管、电阻之类的模拟元件实现的,而且现在大规模集成,体积及其小。
用上面的与门、或门这类元件可以组装成加法器、乘法器之类的东西。如果引入时序电路的思想的话,还能做出锁存器(一种电路,输出不仅和输入有关,还和电路目前状态有关,或者说,电路有记忆能力) 有了加法器,基本上就可以干很多事了。减法可以实现(就是加上负的,电路里面有自己的实现方式,用补码相加),乘法也可以实现(累加呀,AMD的CPU喜欢这种思路,省掉乘法器了)。基本上四则运算都有了。一些运算就可以大部分完成了。 前面解决了逻辑,现在又有了运算,一个电路基本上就可以有很多的实用功能了。
2. 第二种是用电路的通断
这是一种用得比较多的方法。将逻辑转换成电路的方式。
比如说,我需要做一个实现
输入income
{
如果是0,输出3
如果是1,输出2
如果是2,输出1
如果是3,输出0
}
这样一个选择,我可以用下面的电路实现
把income接入到一个译码器。译码器是一种将多输入转换成单输出的东西。在这里我们可以用一个2输入4输出的译码器。如果输入10(都是二进制,数字电路里一般只有二进制)就是2,那么我只让输出4根线里面的第三根(从0开始标号,0,1,2,3)输出电压,其他的不输出,如果输入11就是3,只让第四根(就是3)输出电压,其他不输出。那么我上面的逻辑就可以中下面的电路来表示。先上图,后解释。
如果输入10(就是2)那么黄线导通。黄线只和蓝线有个交点,那么蓝点导通,青线不导通,输出是01(就是1)
如果输入00(就是0)那么红线导通,红线和蓝线青线都相交,所以输出的两根线都是导通,所以输出11(就是3)
我上面是实现一个最简单的输入输出。如果我增加输入的线,增加输出的线,而且在里面的横纵线的交点上我可以根据需要,选择性的导通或者断开(目前有技术手段可以做到电可擦除,就是通通点就完成导通与非导通的转换),那么我可以实现很大的逻辑关系。
可能扯得多了点。不知道明白否?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)