tag 标签: make

相关博文
  • 热度 19
    2015-11-29 21:26
    3102 次阅读|
    3 个评论
    Make Magazine是一个非常不错的杂志,包含了很多简单易行的DIY制作的内容。我搜集了目前可以找到的全部电子版,供大家参考。   百度网盘下载 http://pan.baidu.com/share/link?shareid=4247uk=321377241
  • 热度 23
    2015-11-20 09:50
    2663 次阅读|
    0 个评论
    与被用于在今天的芯片越来越多频时钟,特别是在通信领域中,经常有必要在芯片运行的同时切换的时钟线的来源。这通常是通过在硬件中复用两个不同的频率的时钟源通过控制内部逻辑多路复用器选择线实现。 两个时钟的频率可能是完全无关的彼此或者它们可以是彼此的倍数。在这两种情况下,在开关的时候有时钟毛刺产生。时钟线上毛刺危害整个系统,因为毛刺可能被一些寄存器误以为时捕获延。   在这篇文章中,两种不同的避免干扰的方法。第一种方法处理时钟之间是倍数关系,第二处理时钟完全无关彼此。 原文:http://www.design-reuse.com/articles/5827/techniques-to-make-clock-switching-glitch-free.html http://wenku.baidu.com/link?url=xp4KTPQTTO6xQcKD32h7v_Eq0-qLZenkHQsjTrBWCxOQWzHuJggFSHKTYCyPZt5ZcdUyZL_qGT_UF10KYX_3HR-SIDGNapCmlqpbf-aPclK The problem with on-the-fly clock switching Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic. The multiplexer has one control signal, named SELECT, which either propagates CLK0 to the output when set to “zero” or propagates CLK1 to the output when set to “one." A glitch may be caused due to immediate switching of the output from Current Clock source to the Next Clock source, when the SELECT value changes. Current Clock is the clock source currently selected while Next Clock is the clock source corresponding to the new SELECT value. The timing diagram in Figure 1 shows how a glitch is generated at the output, OUT CLOCK, when the SELECT control signal changes. The problem with this kind of switch is that the switch control signal can change any time with respect to the source clocks, thus creating a potential for chopping the output clock or creating a glitch at the output. The select control signal is most likely generated by a register driven by either of the two source clocks, which means that either it has a known timing relationship to both clocks, if both clocks are multiples of each other, or it may be asynchronous to at least one clock, if source clocks are not related in any way. Switching during either clock's high state needs to be avoided without having any idea about the frequencies or phase relationship of these clocks. Fixed delay can be used to induce the gap between the start and stop time of the two source clocks, but only if a fixed relationship exists between the two clock sources. It cannot be used where either the input frequencies are not known, or the clocks are not related.   Glitch protection for related clock sources A solution to prevent glitch at the output of a clock switch where source clocks are multiples of each other is presented in Fi gure 2. A negative edge triggered D flip-flop is inserted in the selection path for each of the clock sources. Registering the selection control at negative edge of the clock, along with enabling the selection only after other clock is de-selected first, provides excellent protection against glitches at the output. Registering the select signal at negative edge of the clock guarantees that no changes occur at the output while either of the clocks is at high level, thus protecting against chopping the output clock. Feedback from one clock's selection to the other enables the switch to wait for de-selection of the Current Clock before starting the propagation of the Next Clock, avoiding any glitches. The figure 2 timing diagram shows how the transition of the SELECT signal from 0 to 1 first stops propagation of CLK0 to the output at the proceeding falling edge of CLK0, then starts the propagation of CLK1 to the output at following negative edge of CLK1. There are three timing paths in this circuit that need special consideration — the SELECT control signal to either one of the two negative edge triggered flip flops, the output of DFF0 to input of DFF1, and the output of DFF1 to the input of DFF0. If the signal on any of these three paths changes at the same time as the capturing edge of the destination flip flop's clock, there is a small chance that the output of that register may become meta-stable, meaning it may go to a state between an ideal “one” and an ideal “zero.” A meta-stable state can be interpreted differently by the clock multiplexer and the enable feedback of the other flip flop. Therefore, it is required that capturing edges of both flip flops and the launch edge of the SELECT signal should be set apart from each other to avoid any asynchronous interfacing. This can be easily accomplished by using proper multi-cycle hold constraints or minimum delay constraints, as the timing relationship is known between the two clocks.   Figure2 -- Glitch-free clock switching for related clocks Fault tolerance At chip startup time, both flip flops DFF0 and DFF1 should be reset to the “zero” state so that neither one of the clocks is propagated initially. By starting both flip flops in “zero” state, fault tolerance is built into the clock switch. Let's say that one of the clocks was not toggling due to a fault at startup time. If the flip flop associated with the faulty clock had started up in “one” state, it would prevent the selection of other clock as the Next Clock, and its own state is not changeable due to lack of a running clock. By starting both flip flops in “zero” state, even if one of the source clocks is not running, there is still the ability to propagate the other good clock to the output of the switch. Glitch protection for unrelated clock sources The previous method of avoiding a glitch at the output of a clock switch requires the two cl ock sources to be multiples of each other, such that user can avoid signals to be asynchronous with either one of the clock domains. There is no mechanism to handle asynchronous signals in that implementation. This leads to the second method of implementing the clock switch with synchronizer circuits to avoid potential meta-stability caused by asynchronous signals. The source of asynchronous behavior could either the be SELECT signal or the feedback from one clock domain to the other, when the two clock sources are totally unrelated to each other. As shown in Figure 3, protection is provided against meta-stability by adding one extra stage of positive edge triggered flip flop for each of the clock sources. The positive edge triggered flip flop in each of the selection paths, along with the existing negative edge triggered flip flop, guards against potential meta-stability, which may be caused by asynchronous SELECT signal or asynchronous feedback from one clock domain to the other. A synchroniz er is simply two stages of flip flops, where the first stage helps stabilize data by latching it and later passing it on to the next stage to be interpreted by rest of the circuit.   Figure 3 -- Glitch-free clock switching for unrelated clocks Conclusion The hazard of generating a glitch on a clock line while switching between clock sources can be avoided with very little overhead by using the design techniques presented in this article. These techniques are fully scalable and can be extended to a clock switch for more than two clocks. For multiple clock sources, the select signal for each clock source will be enabled by feedback from all the other sources. Rafey Mahmud is a member of technical staff at Altera Corp. He has worked on several microprocessor and ASIC design projects.  
  • 热度 15
    2013-12-6 11:33
    1181 次阅读|
    0 个评论
    制作杂志(Make magazine)更新到第36期了。 http://pan.baidu.com/share/link?shareid=458123uk=321377241  
  • 热度 21
    2013-7-1 16:15
    3655 次阅读|
    0 个评论
    在编译android源码时,用到lunch这个软件,可是ubuntu软件源中没有这个软件。   所以需要手动安装,步骤如下:     在ubuntu 10.04中安装lunch软件。   使用apt-get install lunch或者apt-get install python-lunch,都提示没有可用的安装包。   看来需要手动安装了。   下载lunch软件的地址: http://packages.ubuntu.com/source/raring/lunch 里边介绍了软件的依赖关系啥的。   中间lunch_0.4.0.orig.tar.gz这是源码。 下载下来后,用tar -zxvf lunch_0.4.0.orig.tar.gz进行解压。 进入解压目录:cd lunch-0.4.0 查看安装此软件依赖于那些软件。vi INSTALL这个文件。   把sudo那行,拷贝到命令行下:即执行如下命令: sudo apt-get install openssh-client openssh-server python-setuptools help2man python-twisted-core python-gtk2   安装完毕后:在lunch-0.4.0这个文件夹下:   使用make  make install 。就安装完成了。   使用lunch --version命令,出现下图即表示安装正常。     安装过程如果提示如下错误: 一、 install lunch.desktop /usr/local/share/applications/ install: target `/usr/local/share/applications/' is not a directory: No such file or directory make: ***   Error 1 二、 install lunch.1 /usr/local/share/man/man1/lunch.1 install: cannot create regular file `/usr/local/share/man/man1/lunch.1': No such file or directory make: ***   Error 1   第一个错误是因为在share文件夹下没有applications这个文件夹。 第二个错误是因为在man文件夹下没有man1这个文件夹。     使用如下命令即可。 Mkdir /usr/local/share/applications Mkdir /usr/local/share/man/man1
  • 热度 16
    2013-5-3 10:47
    1169 次阅读|
    0 个评论
    Make杂志第34期 http://pan.baidu.com/share/link?shareid=4247uk=321377241
相关资源
  • 所需E币: 0
    时间: 2023-11-10 16:42
    大小: 1018.5KB
    上传者: Argent
    第16讲make工具和Makefile的引入
  • 所需E币: 0
    时间: 2023-4-22 23:21
    大小: 2.52MB
    上传者: EPTmachine
    JohnGraham-Cumming-TheGNUMakeBook-NoStarchPress(2015).pdf
  • 所需E币: 0
    时间: 2023-4-22 23:22
    大小: 3.32MB
    上传者: EPTmachine
    RobertWilliamMecklenburg_AndrewOram-ManagingprojectswithGNUmake-O'Reilly(2005).pdf
  • 所需E币: 1
    时间: 2023-4-13 09:53
    大小: 12.83MB
    GNUMake项目管理(第3版)-[美]RobertMecklenburg
  • 所需E币: 1
    时间: 2022-7-23 16:39
    大小: 18.82KB
    上传者: Argent
    PhotoeyeMakeandBreakLogic
  • 所需E币: 1
    时间: 2022-7-23 10:18
    大小: 111.79KB
    上传者: Argent
    Photoeyedetectormakeandbreaklogic
  • 所需E币: 0
    时间: 2020-9-7 23:50
    大小: 1.34MB
    上传者: samewell
    OS课程设计-GNUmake中文手册.pdf
  • 所需E币: 3
    时间: 2019-12-24 19:06
    大小: 110.95KB
    上传者: wsu_w_hotmail.com
    摘要:锂离子电池包了最强大的单位体积,但过多的充、放电可以损坏或破坏电池和周围的环境。精心设计的电路,可以帮助您避免这种严重的后果。Maxim/Dallas>AppNotes>BATTERYMANAGEMENTKeywords:ProperHandlingHelpsMaketheMostofLi-IonBatteriesJan24,2001APPLICATIONNOTE663ProperHandlingHelpsMaketheMostofLi-IonBatteriesLi-ionbatteriespackthemostpowerperunitvolume,butexcessivechargingordischargingcandamageordestroythebatteryanditssurroundings.Carefullydesignedcircuitscanhelpyouavoidsuchdireconsequences.Lithium-ion(Li-ion)batteriesarenowthepopularchoiceforapplicationsthatrequirethehighestconcentrationsofavailablepower,bothperunitvolumeandperunitweight.ThesebatteriescanstoremoreenergythanNiCd,nickel-metalhydride(NiMH),andotherrechargeabletypes.BatterymanufacturersdevelopedLi-iontechnologyto……
  • 所需E币: 3
    时间: 2019-12-24 10:56
    大小: 65.5KB
    上传者: 978461154_qq
    make_menuconfig常见错误及解决方法起始执行makemenuconfig有错误发生错误:***Unabletofindthencurseslibrariesorthe***requiredheaderfiles.***'makemenuconfig'requiresthencurseslibraries.******Installncurses(ncurses-devel)andtryagain.***make[1]:***[scripts/kconfig/dochecklxdialog]错误1make:***[menuconfig]错误2可以看出,是因为找不到ncurses导致的错误。那么尝试安装ncurses$sudoapt-getinstallncurses信息:正在读取软件包列表...完成正在分析软件包的依赖关系树读取状态信息...完成现在没有可用的软件包ncurses,但是它被其他的软件包引用了。这可能意味着这个缺失的软件包可能已被废弃,或者只能在其他发布源中找到E:软件包ncurses还没有可供安装的候选者根据http://www.linuxquestions.org/qu...nfig-archum-311781/再试:$sudoapt-getinstalllibncurses*信息:正在读取软件包列表...完成正在分析软件包的依赖关系树读取状态信息...完成注意,根据正则表达式“libncurses*”选中了libncurses4注意,根据正则表达式“libncurses*”选中了libncurses5注意,根据正则表达式“libncurses*”……
  • 所需E币: 5
    时间: 2020-2-11 11:56
    大小: 2.08MB
    上传者: 微风DS
    makev1File:make.info,Make****Node:Top,Next:Overview,Up:(dir)TheGNU`make'utilityautomaticallydetermineswhichpiecesofalargeprogramneedtoberecompiled,andissuesthecommandstorecompilethem.Thiseditionofthe`GNUMakeManual',lastupdated09September1999,documentsGNU`make'Version3.78.1.Thismanualdescribes`make'andcontainsthefollowingchapters:*Menu:*******Overview::Introduction::Makefiles::Rules::Commands::UsingVariables::Conditionals::Overviewof`make'.Anintroductionto`make'.Makefilestell`make'whattodo.Rulesdescribewhenafilemustberemade.Commandssayhowtoremakeafile.Youcanusevariablestoavoidrepetition.Useorignorepartsofthemakefilebasedonthevaluesofvariables.Manypowerfulwaystomanipu……