都是一些細節性問題,放在一塊兒記憶,一問一答的形式,有任何問題歡迎文章上方微博討論,多思多想。app
一、What makes the difference between Run time and CPU time?electron
Run time is the time it takes for the task to run from start to finish, equal to wall-clock time.
CPU time is the time that the CPU is actually working on the task. There are whole minutes that there's memory swapping taking place, in which the CPU isn't used. Or in the case of the GPU, where the CPU is only used to translate and transfer data, not to actually do any calculations as these happen on the GPU.工具
二、時序設計實質oop
知足每個觸發器的創建時間和保持時間的要求佈局
三、鎖存器、觸發器、緩衝器、寄存器區別ui
數據有效遲後於時鐘信號的到來,問題在於在時鐘信號有效期內一直處於觸發狀態,就較容易產生毛刺,鎖存器在ASIC設計中應該說比ff要簡單,但
是在FPGA的資源中,大部分器件沒有鎖存器這個東西,因此須要用一個邏輯門和ff來組成鎖存器, 這樣就浪費了資源。
spa
面積小。鎖存器比FF快,因此用在地址鎖存是很合適的,不過必定要保證全部的latch信號源
的質量,鎖存器在CPU設計中很常見,正是因爲它的應用使得CPU的速度比外部IO部件邏輯快許
多。latch完成同一個功能所須要的門較觸發器要少,因此在asic中用的較多。設計
時鐘有效遲後於數據有效。這意味着數據信號先創建,時鐘信號後創建。在CP上升沿時
刻打入到寄存器。blog
其實寄存器就是一種經常使用的時序邏輯電路,但這種
時序邏輯電路只包含存儲電路。寄存器的存儲電路是由鎖存器或觸發器構成的,由於一個鎖存器或
觸發器能存儲1位二進制數,因此由N個鎖存器或觸發器能夠構成N位寄存器。 工程中的寄存器通常
按計算機中字節的位數設計,因此通常有8位寄存器、16位寄存器等。
對寄存器中的觸發器只要求它們具備置一、置0的功能便可,於是不管是用同步RS結構觸發器,仍是
用主從結構或邊沿觸發結構的觸發器,均可以組成寄存器。通常由D觸發器組成,有公共輸入/輸出
使能控制端和時鐘,通常把使能控制端做爲寄存器電路的選擇信號,把時鐘控制端做爲數據輸入控
制信號。接口
緩衝寄存器:又稱緩衝器緩衝器(buffer):多用在總線上,提升驅動能力、隔離先後級,緩衝器多半
有三態輸出功能。當負載不具備非選通輸出爲高阻特性時,將起到隔離做用;當總線的驅動能力不
夠驅動負載時,將起到驅動做用。因爲緩衝器接在數據總線上,故必須具備三態輸出功能。它分輸入緩衝器和輸出緩衝器兩種。前者的做用是將外設送來的數據暫時存放,以便處理器將它取
走;後者的做用是用來暫時存放處理器送往外設的數據。有了數控緩衝器,就可使高速工做的CPU與慢速工做的外設起協調和緩衝做用,實現數據傳送的同步。
四、時序約束的概念和基本策略
包括週期約束,偏移約束、靜態時序路徑約束。經過附加時序約束可使綜合佈線工具調整映射和佈局佈線,使設計達到時序要求。
通常策略是先附加全局約束,而後對快速和慢速例外路徑附加專門約束。附加全局約束時。首先是定義設計的全部時鐘,對各時鐘域內的同步元件進行分組,對分組附加週期約束,而後對FPGA輸入輸出附加偏移約束,對全組合邏輯的PAD to PAD路徑附加約束。附加專門約束時,首先約束分組之間的路徑,而後約束快速慢速例外路徑和多週期路徑,以及其餘特殊路徑。
五、附加約束的做用
六、FPGA芯片內的存儲器資源
一種是block RAM,有必定數量固定大小的存儲塊構成,使用block RAM 不佔用額外的邏輯資源,而且速度快。消耗的也必定是塊大小的整數倍。另外一種是由LUT配製成的內部存儲器。
七、What is the difference between DCM and PLL in e.g. Xilinx FPGA?
八、時鐘抖動與時鐘偏斜區別
時鐘抖動是指時鐘週期之間存在差值,產生於時鐘發生器內部,和晶振或PLL內部電路有關,與佈局佈線關係不大,還有一種因爲週期內信號的佔空比發生變化而引發的抖動,稱之爲半週期抖動。
時鐘偏斜是一樣的的時鐘產生的多個自時鐘 信號的延時差別,包含了時鐘驅動器的多個輸出之間的偏移,也包含了因爲PCB走線偏差形成的接收端和驅動端時鐘信號之間的偏移。
Clock skew 和Clock jitter 是影響時鐘信號穩定性的主要因素。
skew一般是時鐘相位上的不肯定,而jitter是指時鐘頻率上的不肯定(uncertainty)。形成skew和jitter的緣由不少。因爲時鐘源到達不一樣寄存器所經歷路徑的驅動和負載的不一樣,時鐘邊沿的位置有所差別,所以就帶來了skew。而因爲晶振自己穩定性,電源以及溫度變化等緣由形成了時鐘頻率的變化,就是jitter。
九、SERDES的高速串行接口
SERDES是英文SERializer(串行器)/DESerializer(解串器)的簡稱。它是一種時分多路複用(TDM)、點對點的通訊技術,即在發送端多路低速並行信號被轉換成高速串行信號,通過傳輸媒體(光纜或銅線),最後在接收端高速串行信號從新轉換成低速並行信號。這種點對點的串行通訊技術充分利用傳輸媒體的信道容量,減小所需的傳輸信道和器件引腳數目,從而大大下降通訊成本。
傳統並行總線技術——PCI卻跟不上處理器和存儲器的進步而成爲提升數據傳輸速率的瓶頸。新一代PCI標準PCI Express正是爲解決計算機IO瓶頸而提出的(見表1)。PCI Express是一種基於SERDES的串行雙向通訊技術,數據傳輸速率爲2.5G/通道,可多達32通道,支持芯片與芯片和背板與背板之間的通訊。
基於SERDES的高速串行接口採用如下措施突破了傳統並行I/O接口的數據傳輸瓶頸:一是採用差分信號傳輸代替單端信號傳輸,從而加強了抗噪聲、抗干擾能力;二是採用時鐘和數據恢復技術代替同時傳輸數據和時鐘,從而解決了限制數據傳輸速率的信號時鐘偏移問題。