亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fracn09.pl

?? Clock generation perl to vhdl oijoij
?? PL
?? 第 1 頁 / 共 5 頁
字號:
eval '(exit $?0)' &&  eval 'exec perl -S $0 ${1+"$@"}' &&  eval 'exec perl -S $0 $argv:q'  if 0;# fracn09.pl - Perl script for designing fractional-N frequency dividers.# Both phase-accumulator and dual-modulus-prescaler designs are performed.# Also writes VHDL and Verilog files to implement the divider.# Copyright (c) Allan Herriman 1999, 2000, 2001, 2002################################################################################# Legal notices and Copying information - please see attached readme.txt file.################################################################################# Bugs:##  0. It's much easier to read the VHDL comments in the generated VHDL than here!##  1. Currently this doesn't work if the output frequency is more than half#  the input frequency.  (The "50%" duty cycle output makes this impossible.)#  If we remove the 50% duty cycle output, then we can have dividers with#  output frequencies all the way up to the input frequency.#  Requesting output frequencies > one half the input frequency currently#  causes the program to terminate with an error message.#  *** Fixed in version 0.04.  Fout/Fin Ratios > 1/2 result in the 50% duty#  cycle output being disabled, and a warning message is generated.#  *** Changed in version 0.07.  Fout/Fin Ratios >= 1/2 now result in the 50%#  duty cycle output being disabled.##  2. The phase accumulator doesn't allow the constant to be 2 ** 31 or more,#  because the generated VHDL code uses an integer to hold this number#  and most VHDL tools only support the minimum required range for integers.#  This limits the accuracy for this type of divider.#  A warning message is issued in this case, and the achieved accuracy is#  listed in the output VHDL file.#  *** Fixed in version 0.06.  Constants >= 2**31 now are represented by a#  unsigned constant (e.g. "0101010") rather than an integer.##  3. The "50%" duty cycle output has only a roughly 50% duty cycle, and the#  duty cycle may vary from cycle to cycle.#  This will be particularly bad for higher Fout/Fin ratios.#  If use_phase_accumulator = FALSE, the duty cycle will always be >= 50%,#  or <= 50%, depending on the particular divider, unless the generic#  improve_duty_cycle is TRUE, in which case the duty cycle will average to 50%.#  (A falling edge ff is used when improve_duty_cycle is TRUE.)#  If use_phase_accumulator = TRUE, the duty cycle will average to 50% in the#  long term, but it will vary above and below 50% in the short term.#  ("Short term" and "long term" depend on the divider.  Ratios like#  Fout/Fin = 0.4 (exactly) will cause "short term" to be effectively infinite.)#  The duty cycle is made to be closer to 50%#  by setting the improve_duty_cycle generic, at some cost in area.#  The 50% duty cycle output is not implemented for Fout/Fin ratios >= 1/2.##  4. The "shebang" line (first line in this file) may need be changed#  to suit local conditions.  (Only relevant if running under unix.)#  Also, unix perl will not like carriage returns left at the end of lines#  by DOS text editors.#  *** Fixed in version 0.09  Shebang line is now portable.##  5. Sometimes, if the tolerance is very tight, the controller process#  will contain a case statement with more branches than the VHDL compilers#  can handle.  Relax the tolerance in this case (or hand code a better#  controller).  The -g switch might help here, by disabling generation of#  that code.##  6. The generated VHDL code is probably far from optimal for the#  particular target architecture you want to use.  You could#  hand edit the code to improve area and/or speed.##  7.  The flip flop count is only approximate.  VHDL synthesisers may#  replicate or remove flip flops.#  The flip flop count also may not accurately reflect the area used in#  the target architecture, as combinatorial logic and routing also affect#  the result.#  (The phase accumulator architecture is better in this respect, as the#  area results are more predictable.)#  The only way to accurately determine the area is to run the design through#  the synthesis, place and route tools.##  8.  There is no phase relationship defined between output_50 and#  output_pulse.  (This is more a feature than a bug, and will not be fixed,#  because it is expected that only one of output_50 and output_pulse will#  be used for a particular design.)##  9.   If the improve_duty_cycle generic is true and Fout < 1/2 Fin,#  the output_50 output is taken from combinatorial logic,#  rather than directly from the output of a flip flop.#  There is no chance of glitches, however, as the comb. logic consists#  of a two input function, and the inputs can never change at the same time.#  One input comes from a rising edge triggered flip flop, and the other comes#  from a falling edge triggered flip flop.#  (The backend tools might need to be told about the timing requirements.)################################################################################# Test Status:#  1.  Generating the VHDL.  This Perl script has been tested under NT using#  Perl 5.004 and 5.005, and on HPUX using Perl 5.003.#  (Watch the carriage returns when using unix Perl.)##  2.  Simulating the VHDL.  The TCL regression test tries many different#  randomly selected ratios and measures the frequency error and jitter#  achieved.  So far, tens of thousands of ratios have been tried using#  Modelsim PE 5.5e, SE 5.4e, PE 5.4d and#  Simili 1.4 build 34, 1.5 build 17b and 2.0 build 17.#  Modelsim gives spurious warnings of the form:#  WARNING[5]: fracn.vhd(259): Nonresolved signal controller_count may have multiple sources.#  These warnings may safely be ignored as  there can only be one driver#  for that signal.##  2b.  Simulating the Verilog.  Still undergoing testing...##  3.  Synthesis of the VHDL.#  Several dividers have been tried#  in Synplify 6.0.0, 6.2.0, 7.0.2, with Xilinx Virtex-e as a target.#  It compiled ok, and Synplify didn't give any warnings.#  The RTL and technology views [Synplify produces schematics from the code]#  looked ok.#  Estimated speeds were well above 100MHz in all cases.##  It has also been tested with the MAX+PLUS2 compiler, which didn't work#  at all.  This appears to be the fault of the MAX+PLUS2 compiler.#  There is no plan to make the generated code work with this compiler.##  4.  Routing the sythesised EDIF.  This has been tried for a few different#  dividers in "production designs" running at up to 166MHz.#  No problems have been encountered.################################################################################# Music Disclaimer:#  This script was written while listening to the following music:#  The Saints, Joy Division, The Jon Spencer Blues Explosion,#  My Bloody Valentine, P J Harvey, Slint, Swervedriver, The Birthday Party,#  Black Flag, The Stooges ...#  Version 0.09 changes were made while listening to the music of#  Spencer P. Jones.################################################################################# Revision information:##  0.02 Allan H.    Added VHDL code generation.##  0.03 30-11-00 Allan H.#   Changed initial value of $num_bits from 1 to 0 to allow /2 phase#   accumulators to only use 1 ff.##  0.04 23-12-00 Allan H.#   Now allows Fin/Fout ratio to go all the way down to 1#   (previously only went to 2).#   The 50% duty cycle output "output" is now disabled for Fout/Fin > 1/2.##   "Odd one out" processing was reintroduced to improve vcom times by#   reducing the size of the case statement under certain corner cases.#   This requires async sets on some ff.##  0.05 26-12-00 Allan H.#   Added negative edge ff to the 50% duty cycle prescaler output to#   improve the duty cycle.  Borrowed from an idea by Walter Baeck.#   There is a new generic "improve_duty_cycle" to enable this behaviour.##   Changed controller_table array to a string for memory size reduction.#   (Particularly noticable with dividers like fracn05.pl -t 1e-7 1e7 9999999)#   This hurts execution time slightly, but can save hundreds of Mbytes!##  0.06 28-12-00 Allan H.#   Added recursive controller##   Added -g flag to inhibit generation of "low jitter" controller,#   as this was causing Modelsim vcom to crash sometimes when the case#   statement became excessively large.  This would only happen for#   certain ratios when the tolerance was very tight (1e-10).##   Added -c flag to disable convergence checks.##   Phase accumulator constant can now be > 32 bits.##   Various code cleanups.  (It's still ugly though.)##  0.07 31-12-00 Allan H.#    Added "improve duty cycle" for the phase accumulator.#    (This also improves jitter (for the output_50 output of the P.A. only).)#    Dividers like Fout/Fin = 0.4000 still aren't perfect, as (in this case)#    the duty cycle will slowly drift between 0.4 and 0.6, but there's not#    much we can do about this (not using the phase accumulator might be#    one workaround).  Such poor ratios are quite rare, though.#    Fout/Fin = 0.5000 caused a problem with code generation for the#    duty cycle improver, so this ratio now results in the output_50 output#    being removed.  Previously this only happened for Fout/Fin ratios just#    greater than 0.5000 .  This does not cause a loss of functionality,#    as the output_pulse output has a 50% duty cycle for this particular#    ratio.##  0.08 24-2-01 Allan H.#    Added -u option to use Synopsys std_logic_unsigned instead of#    IEEE.numeric_std, as some users had reported that their tools#    wouldn't work with numeric_std.#    Also added -s option to use Synopsys std_logic_arith.##    Added -x option, which is ignored.  This worked around a bug in the#    TCL regression test, which would sometimes have command line arguments#    that were null strings, which would cause this script to give an error.#    The -x option can be used in place of the null strings.##    Some minor changes to the generated comments, to reflect recent changes#    to the code.##  0.09 26-12-01 Allan H.#    Changed default tab size to 4.##    Added experimental Verilog code generation.  (This may take some time to#    get right - I'm a Verilog newbie.)#    Currently only the recursive controller is supported in the generated#    Verilog file.  This may improve once I work out a reasonable equivalent#    of the VHDL "generate" statement in Verilog.##    Changed -f option to the base of the output filename, rather than the#    entire output filename.#    E.g. before:  "-f file"  produced a file called "file".#         now:     "-f file"  produces a file called "file.vhd" and another#                                             called "file.v".#    There is no way to change the extensions.  VHDL always uses ".vhd", and#    Verilog always uses ".v".##    Changed email address in generated code to fractional_divider@hotmail.com#    was: allanherriman@hotmail.com - this gets too much spam, and it's too#    easy to miss an important email amongst so much rubbish.##    Changed "warnings" from string to array##    Fixed shebang line (first line in file) to make it more portable##    Added ability to indent with tabs instead of spaces.#    Previously the option "-i n" would indent with n spaces, for n > 0.#    Now n = 0 will indent with tabs.################################################################################# To Do:##  * "Hybrid controller" which is a combination of the recursive controller#    and the minimum jitter controller.  The swap from recursive controller to#    minimum jitter controller should be made when the size of the case#    statement would be small enough (say 16 or 32).#    This should result in overall savings in area at no cost in speed.##  * More code cleanups.  Sigh.##  * Make generated code look like the FMF or OpenCores coding style (yuck).use vars qw($version);$version = "0.09";use strict;use POSIX;              # need this for floor() and ceil()use Text::Tabs;         # need this for expanding tabs# Error message for command line errorssub usage_exit {    foreach my $message (@_) {        print $message;    }    print "\n";    print "Fractional-N divider VHDL and Verilog code generator\n";    print "Usage: $0 [options] input_frequency output_frequency\n";    print "Options:\n";    print " -t num      sets tolerance of output_frequency (default 1e-7)\n";    print " -g          inhibit generation of \"low jitter\" controller\n";    print " -c          inhibit convergence checking (use with caution)\n";    print " -i num      sets size of code indent (default 4).  Uses tabs if num is 0\n";    print " -v          toggles verbose mode\n";    print " -s          use std_logic_arith instead of IEEE.numeric_std (VHDL)\n";    print " -u          use std_logic_unsigned instead of IEEE.numeric_std (VHDL)\n";    print " -a string   sets architecture name (VHDL) (default \"rtl\")\n";    print " -e string   sets entity name (VHDL) or module name (Verilog) (default \"fracn\")\n";    print " -f string   sets base part of file name (defaults to entity or module name)\n";    print "             VHDL file is <string>.vhd, and Verilog file is <string>.v\n";    print "Frequency arguments are in Hz\n";    print "Examples:\n";    print "$0 1000000 32768\n";    print " produces VHDL file fracn.vhd and Verilog file fracn.v which contain a divider\n";    print " which will produce a 32.768kHz output from a 1MHz input\n";    print "$0 -a arch -e ent -f file -t 1e-9 77.76e6 1.544e6\n";    print " produces VHDL file file.vhd and Verilog file file.v which contain a divider\n";    print " which will produce a 1.544MHz output from a 77.76MHz input\n";    exit 1;}use vars qw(@warnings);@warnings = (); # the collected set of warnings# warning messages come here# messages must not contain '\n'sub warning {    foreach my $message (@_) {        print $message . "\n";        push @warnings, ("* " . $message . "\n");    }}############### Work out the design requirements ################################ some global variables (more later...)use vars qw($tolerance $entity_name $architecture_name);use vars qw($base_name $vhdl_name $verilog_name);use vars qw($low_jitter_controller $convergence_check $tabstop $verbose);use vars qw($std_logic_arith $std_logic_unsigned);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文在线一区二区| 在线观看av一区二区| 91麻豆精品国产自产在线| 国产精品久久影院| 国产综合色精品一区二区三区| 欧美三级电影在线看| 中文字幕国产一区二区| 国内精品嫩模私拍在线| 日韩精品一区二区三区在线播放 | 一区二区三区产品免费精品久久75| 免费成人结看片| 在线不卡中文字幕播放| 丝袜美腿亚洲色图| 在线日韩一区二区| 亚洲精品成人精品456| 色天天综合色天天久久| 亚洲欧美影音先锋| 99综合电影在线视频| 最新久久zyz资源站| 99v久久综合狠狠综合久久| 欧美激情一区在线| kk眼镜猥琐国模调教系列一区二区| 国产三级久久久| 91在线精品一区二区| 亚洲黄色小视频| 欧美日韩大陆在线| 青青草伊人久久| 精品福利一区二区三区免费视频| 极品少妇xxxx精品少妇| 欧美高清一级片在线观看| 91美女片黄在线观看91美女| 亚洲一区二区三区四区在线免费观看 | 欧美精品视频www在线观看| 日韩av成人高清| 国产欧美日产一区| 色婷婷国产精品久久包臀 | 亚洲观看高清完整版在线观看| 欧美一区永久视频免费观看| 国产成人精品综合在线观看| 亚洲免费观看高清完整版在线观看熊| 91精品办公室少妇高潮对白| 日韩电影免费一区| 欧美激情在线一区二区| 精品视频123区在线观看| 精品一区二区三区在线视频| 中文字幕中文字幕一区二区| 91精品欧美综合在线观看最新 | 精品精品国产高清a毛片牛牛| av爱爱亚洲一区| 国产在线播放一区二区三区| 亚洲欧美一区二区三区久本道91 | 成人激情小说乱人伦| 日韩高清一区在线| 亚洲黄色av一区| 国产欧美日韩亚州综合| 91精品国模一区二区三区| 成人精品高清在线| 国产精品自拍网站| 老司机精品视频在线| 亚洲成人精品影院| 亚洲精品成人在线| 中文子幕无线码一区tr| 久久亚洲一级片| 日韩欧美国产1| 欧美一区二区在线免费播放 | 一区二区三区日韩欧美精品| 国产精品污www在线观看| 亚洲精品一线二线三线无人区| 正在播放亚洲一区| 欧美日韩不卡在线| 欧美片网站yy| 欧美日韩高清一区二区不卡| 欧美精品在线一区二区| 69成人精品免费视频| 51精品国自产在线| 日韩欧美视频在线| 欧美成人精品福利| 久久久精品影视| 国产精品九色蝌蚪自拍| 1000部国产精品成人观看| 国产精品免费久久久久| 亚洲色欲色欲www| 亚洲午夜在线电影| 日本午夜一本久久久综合| 老司机精品视频一区二区三区| 激情丁香综合五月| 不卡免费追剧大全电视剧网站| 99精品在线免费| 7777精品伊人久久久大香线蕉完整版 | 在线欧美日韩国产| 中文字幕一区二区在线观看| 亚洲精品国产a久久久久久 | 日韩免费电影一区| 欧美国产激情二区三区| 又紧又大又爽精品一区二区| 日韩高清在线观看| 国产不卡在线播放| 欧美三级电影一区| 欧美一级欧美三级| 国产精品乱码一区二区三区软件 | 国产精品一区二区三区四区| av资源站一区| 国产欧美一区二区精品久导航| 一区二区三区av电影| 国产久卡久卡久卡久卡视频精品| 色婷婷综合中文久久一本| 日韩丝袜情趣美女图片| 国产精品久久久久久久久搜平片| 亚洲国产视频在线| www.综合网.com| 日韩午夜中文字幕| 亚洲午夜激情av| 国产精品亚洲视频| 日韩一区二区在线观看视频| 1区2区3区国产精品| 国产不卡一区视频| 欧美sm极限捆绑bd| 日韩精品成人一区二区在线| 99国产一区二区三精品乱码| 国产午夜一区二区三区| 另类中文字幕网| 91精品国产综合久久蜜臀| 夜夜嗨av一区二区三区网页| 成人小视频在线观看| 久久久久99精品国产片| 国产一区二区视频在线| 日韩一区二区在线观看| 日韩福利电影在线| 欧美日韩免费高清一区色橹橹 | 久久亚洲免费视频| 韩国在线一区二区| 日韩女优电影在线观看| 麻豆精品一区二区综合av| 日韩欧美在线影院| 激情久久五月天| 欧美国产激情一区二区三区蜜月| 国产美女视频一区| 国产精品日日摸夜夜摸av| 91在线视频在线| 亚洲精品乱码久久久久久久久| 一本一道久久a久久精品综合蜜臀| 国产精品毛片无遮挡高清| 91色视频在线| 天天色综合天天| 精品国产髙清在线看国产毛片| 免费日本视频一区| 国产亚洲精品精华液| 色悠久久久久综合欧美99| 亚洲成在人线在线播放| 欧美成人一区二区三区片免费 | 精品91自产拍在线观看一区| 国产在线一区二区综合免费视频| 国产午夜一区二区三区| 日本丶国产丶欧美色综合| 免费高清在线一区| 久久久久国产精品厨房| 91免费国产在线观看| 美国三级日本三级久久99| 亚洲国产精品黑人久久久| 欧美男男青年gay1069videost | 午夜精品成人在线| 久久久久久久电影| 一本大道久久精品懂色aⅴ| 午夜天堂影视香蕉久久| 国产精品三级久久久久三级| 日韩欧美在线影院| 色女孩综合影院| 福利一区福利二区| 免费在线观看精品| 亚洲一区在线观看视频| 国产日韩在线不卡| 日韩久久精品一区| 欧美亚洲一区二区在线| 99久久久国产精品| 国产精品一级二级三级| 日韩中文字幕麻豆| 一区二区三区中文在线观看| 国产午夜亚洲精品理论片色戒 | 亚洲女同女同女同女同女同69| 日韩精品中文字幕在线不卡尤物| 91精品福利在线| 91美女视频网站| 99精品国产热久久91蜜凸| 国产夫妻精品视频| 国产盗摄一区二区| 国产91在线|亚洲| 国产剧情一区二区三区| 国产精品综合二区| 精品一区二区综合| 国产一区二区在线影院| 久草这里只有精品视频| 久久91精品久久久久久秒播| 久久成人免费网| 国产乱码精品1区2区3区| 精品中文字幕一区二区小辣椒| 麻豆91免费观看| 国产成人综合在线播放| eeuss鲁片一区二区三区在线观看| 懂色av一区二区三区免费看| 成人黄色软件下载|