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

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

?? analyze_netlist_clocks.tcl

?? 多個Verilog和vhdl程序例子
?? TCL
字號:
#-----------------------------------------------------------------------------
#
# analyze_netlist_clocks.tcl
#
# $Revision: 1.1.2.1 $
#
# This script has three functions:
# 1.  Find every net in the design that is used as a clock signal.
# 2.  Identify sequential instances in the design with the clock tied to 0.
# 3.  Identify places in the design where clock nets are used for logic.
#
# In Synplify Pro, close all analyst views and open a flat technology view.
# Run this script from the Run->TCL Script menu selection.
#
#-----------------------------------------------------------------------------

#-----------------------------------------------------------------------------
# 0. Set up log file:
#-----------------------------------------------------------------------------

set logfile [open clock_analysis.txt w]

proc putlog {logfile msgstring} {
  puts $msgstring
  puts $logfile $msgstring
}

putlog $logfile "Analyzing Netlist Clocks [clock format [clock seconds] -gmt 1 -format "%A %Y-%m-%d %H:%M:%S GMT"]\n"

#-----------------------------------------------------------------------------
# 1. Select All Clock Pins On All Sequential Primitives In Design:
#-----------------------------------------------------------------------------

# This script currently identifies "clock" pins by name on Xilinx primitives.
# Future versions of Synplify will have better support for pin attributes, so
# you would be able to identify clock pins by property rather than by name.

# Note that it would really suck if a combinatorial primitive had a pin with
# a name used for a clock on some other sequential primitive.  Fortunately
# it looks ok for now.

set C_pins [find -tech -pin *.C]
set CLK_pins [find -tech -pin *.CLK]
set C0_pins [find -tech -pin *.C0]
set C1_pins [find -tech -pin *.C1]
# 'Gate' inputs on latch primitives:
set G_pins [find -tech -pin *.G]
# Write clocks on distributed latch primitives:
set WCLK_pins [find -tech -pin *.WCLK]
# Clocks for block ram primitives:
set CLKA_pins [find -tech -pin *.CLKA]
set CLKB_pins [find -tech -pin *.CLKB]

set all_clk_pins [c_union $C_pins $CLK_pins]
set all_clk_pins [c_union $all_clk_pins $C0_pins]
set all_clk_pins [c_union $all_clk_pins $C1_pins]
set all_clk_pins [c_union $all_clk_pins $G_pins]
set all_clk_pins [c_union $all_clk_pins $WCLK_pins]
set all_clk_pins [c_union $all_clk_pins $CLKA_pins]
set all_clk_pins [c_union $all_clk_pins $CLKB_pins]

#putlog $logfile "\nDebug: Found the following sequential element clock pins in the design:"
#foreach clk_pin [c_list $all_clk_pins] {
#    putlog $logfile "$clk_pin"
#}

c_info $all_clk_pins -array all_clk_pins_info
#putlog $logfile "\nDebug: c_info statistics from all_clk_pins collection:"
#foreach index [array names all_clk_pins_info] {
#    putlog $logfile "$index $all_clk_pins_info($index)"
#}
set n_clk_pins $all_clk_pins_info(pin_count)
putlog $logfile "\nFound $n_clk_pins sequential element clock pins in design."

#-----------------------------------------------------------------------------
# 2. Select All Nets Which Connect To Clock Pins In Design:
#-----------------------------------------------------------------------------

set all_clk_nets [expand -net -level 1 -to $all_clk_pins]

# Clock pins that are grounded can't be found by tracing forward from any net.
# Instead they are found by subtracting away the pins with real clock nets.
set remaining_clk_pins $all_clk_pins
set n_remaining_clk_pins $n_clk_pins
set grounded_clks_present 0

putlog $logfile "\nFound the following clock nets in the design:"
putlog $logfile "(Note global clock loads include not only gating logic but the loads of derived clocks.)"
foreach clk_net [c_list $all_clk_nets] {
    if {[regexp -nocase {false} $clk_net]} {
	set grounded_clks_present 1
    } else {
	set one_clk_pins [find * -in [expand -pin -level 1 -from $clk_net] -filter {@direction==input}]
	c_info $one_clk_pins -array one_clk_pins_info
	set n_one_clk_pins $one_clk_pins_info(pin_count)
	putlog $logfile "Net $clk_net with $n_one_clk_pins loads";
	set n_remaining_clk_pins [expr {$n_remaining_clk_pins - $n_one_clk_pins}]
	if {$n_remaining_clk_pins > 0} {
	    set remaining_clk_pins [c_diff $remaining_clk_pins $one_clk_pins]
	}
    }
}

if {$grounded_clks_present} {
    putlog $logfile "\nWARNING: There are $n_remaining_clk_pins sequential elements in the design with clock pins tied to zero:"
    set grounded_clk_pins $remaining_clk_pins
    foreach grounded_clk_pin [c_list $grounded_clk_pins] {
	putlog $logfile "$grounded_clk_pin"
    }
}

#-----------------------------------------------------------------------------
# 3. Select All Primitives Which Are Driven By Clock Nets In Design:
#-----------------------------------------------------------------------------

# Note:  The "expand -thru" command picks up the primitives touching the net, 
# and automatically includes input pins of primitives that drive the net, and
# output pins of primitives that are driven by the net -- ie pins that aren't
# connected to the net at all.  Instead, this command uses "expand -from" to
# looks forward from the net to primitives, and then filters by port direction
# to remove output pins from primitives driven by the clock net:

set clk_dst_pins_i  [find * -in [expand -pin -level 1 -from $all_clk_nets] -filter {@direction==input}]
set clk_dst_pins_io [find * -in [expand -pin -level 1 -from $all_clk_nets] -filter {@direction==inout}]
set all_clk_dst_pins [c_union $clk_dst_pins_i $clk_dst_pins_io]

# At this point the collection should contain all of the clock pins originally
# selected by name AND any non-sequential connections for the clock nets.

#putlog $logfile "\nDebug: The following pins receive the clock nets in the design:";
#foreach clk_dst_pin [c_list $all_clk_dst_pins] {
#    putlog $logfile $clk_dst_pin;
#}

#-----------------------------------------------------------------------------
# 4. Determine if any Non-Sequential Primitives are Driven by Clock Nets:
#-----------------------------------------------------------------------------

c_info $all_clk_dst_pins -array all_clk_dst_pins_info
set n_clk_dst_pins $all_clk_dst_pins_info(pin_count)

if {$n_clk_dst_pins > $n_clk_pins} {
    putlog $logfile "\nWARNING: Found the following non-clock connections for clock nets in the design:"; 
    set all_logic_clk_pins [c_diff $all_clk_dst_pins $all_clk_pins]
    foreach logic_clk_pin [c_list $all_logic_clk_pins] {
	putlog $logfile "\nInstance pin $logic_clk_pin receives clock"
	foreach clk_net [c_list [expand -level 1 -net -to $logic_clk_pin]] {
	    putlog $logfile $clk_net
	}
    } 
} else {
    putlog $logfile "\nNo non-clock connections for clock nets in the design."
}

close $logfile 

#-----------------------------------------------------------------------------
# 
# End file analyze_netlist_clocks.tcl
#
#-----------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91国模大尺度私拍在线视频| 成人a级免费电影| 中文字幕不卡一区| 日韩美女天天操| 日本韩国一区二区三区| 久久99久久久久久久久久久| 亚洲人精品一区| 国产欧美1区2区3区| 欧美一区二区福利在线| 91免费视频观看| 成人av资源在线观看| 精品在线一区二区| 日韩高清不卡在线| 亚洲一线二线三线视频| 亚洲三级在线观看| 国产精品久久99| 亚洲视频在线一区| 中国色在线观看另类| 久久久精品一品道一区| 精品动漫一区二区三区在线观看| 欧美日韩激情一区二区三区| 91精品福利在线| 在线免费一区三区| 精品视频在线免费| 日韩一区二区三区视频在线| 欧美电视剧在线看免费| 精品日韩av一区二区| 久久久久久久综合色一本| 国产亚洲一区二区在线观看| 国产丝袜欧美中文另类| 久久九九久精品国产免费直播| 久久综合国产精品| 国产精品午夜在线观看| 最好看的中文字幕久久| 亚洲综合成人在线| 亚洲va韩国va欧美va| 久久国产欧美日韩精品| 成人午夜av电影| 欧美日韩在线播放三区四区| 日韩一级片在线播放| 国产亚洲精品免费| 中文字幕一区二区三区蜜月| 亚洲精品伦理在线| 亚洲va天堂va国产va久| 欧美a级一区二区| 国产91丝袜在线播放0| 色婷婷久久综合| 欧美日韩一区高清| 国产精品视频一二| 蜜桃av一区二区| 色婷婷av一区| 国产欧美一区二区三区沐欲| 亚洲国产色一区| 国产凹凸在线观看一区二区| 色哟哟国产精品| 欧美激情综合在线| 日韩av一区二区三区| 菠萝蜜视频在线观看一区| 欧美日韩大陆在线| 亚洲精品国产成人久久av盗摄| 蜜臀久久久99精品久久久久久| 成人av在线影院| 国产亚洲短视频| 午夜精品成人在线视频| 狠狠色狠狠色综合系列| 欧美三级电影在线看| 国产精品精品国产色婷婷| 国产综合色在线视频区| 日韩一区二区三区在线| 日日夜夜免费精品| 欧美另类变人与禽xxxxx| 亚洲一区二区三区自拍| 欧美视频一区在线观看| 亚洲另类一区二区| 欧美日韩一区二区三区视频| 亚洲嫩草精品久久| 在线观看成人小视频| 亚洲精选免费视频| 欧美日韩一区二区在线观看| 亚洲国产精品久久一线不卡| 日本乱码高清不卡字幕| 一区二区三区**美女毛片| 欧洲精品在线观看| 午夜av一区二区| 精品国产3级a| 国产成人av一区二区三区在线| 久久久久久9999| 色av一区二区| 久久精品久久久精品美女| 国产午夜亚洲精品不卡| 色婷婷精品大视频在线蜜桃视频| 亚洲电影第三页| www日韩大片| 欧美亚洲一区二区在线| 国产一区二区三区精品视频| 亚洲欧洲日韩一区二区三区| 欧美日韩亚州综合| 国产高清不卡二三区| 亚洲最大成人综合| 久久免费的精品国产v∧| 欧美色综合网站| 国产成人日日夜夜| 亚洲电影在线播放| 国产精品你懂的在线欣赏| 制服丝袜亚洲色图| av亚洲精华国产精华| 国产在线乱码一区二区三区| 一区二区三区美女| 国产精品久久99| 久久精品亚洲乱码伦伦中文 | 久久99国内精品| 一区二区三区四区蜜桃| 日本一二三不卡| 精品国产乱码久久| 日韩一区二区三区四区| 91久久精品国产91性色tv| av在线播放一区二区三区| 精品写真视频在线观看| 视频精品一区二区| 亚洲午夜在线视频| 夜夜嗨av一区二区三区网页| 中国av一区二区三区| 中文字幕av免费专区久久| 久久综合中文字幕| 久久九九影视网| 国产亚洲综合av| 日本一区免费视频| 国产精品美女久久久久久久久久久| 久久婷婷国产综合国色天香| 日韩欧美综合一区| 精品成人一区二区| 国产精品污www在线观看| 国产精品久久久久一区二区三区| 欧美国产一区在线| 国产精品高潮呻吟久久| 亚洲精品国产一区二区精华液 | 亚洲欧洲色图综合| 亚洲裸体在线观看| 日韩不卡一二三区| 激情五月婷婷综合| 97国产精品videossex| 91搞黄在线观看| 欧美草草影院在线视频| 国产女人aaa级久久久级| 日日摸夜夜添夜夜添国产精品 | √…a在线天堂一区| 欧美tk丨vk视频| 欧美电影在哪看比较好| 欧美在线不卡一区| 色综合中文字幕| 日韩一区二区三区高清免费看看| 国产一区二区三区在线看麻豆| 国产成人激情av| 欧美性xxxxxx少妇| 日韩欧美国产wwwww| 国产精品私人影院| 日韩精彩视频在线观看| 国产成人啪免费观看软件| 91在线视频在线| 欧美成人女星排名| 亚洲黄色免费网站| 国产成人免费xxxxxxxx| 777xxx欧美| 亚洲欧美日韩久久| 国产999精品久久久久久绿帽| 欧美精品一二三| 亚洲女同女同女同女同女同69| 国产资源精品在线观看| 欧美丰满嫩嫩电影| 亚洲影院在线观看| 99riav一区二区三区| 欧美成人午夜电影| 麻豆久久久久久| 日韩一级成人av| 日韩在线一区二区| 精品视频在线免费看| 亚洲日本在线看| 色综合久久88色综合天天6 | 欧美色精品天天在线观看视频| 在线精品视频小说1| 欧美日韩激情在线| 一区二区三区在线观看视频 | 麻豆成人91精品二区三区| 欧洲一区二区三区免费视频| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲欧洲日本在线| av电影天堂一区二区在线| 久久综合九色综合欧美98| 首页综合国产亚洲丝袜| 日韩一卡二卡三卡国产欧美| 蜜桃精品视频在线观看| 久久精品视频在线看| 国产精品18久久久久久久网站| 91在线国内视频| 午夜欧美视频在线观看| 精品视频在线看| 日韩电影在线一区二区| 国产日韩欧美制服另类| 色综合久久久久综合体桃花网| 最新国产精品久久精品|