片內(nèi)時(shí)鐘的組合思路和設(shè)計(jì)技巧
我們都知道,當(dāng)奇數(shù)個(gè)反相器串聯(lián)在一起,并且把最后一級(jí)的輸出反饋給第一級(jí)的輸入時(shí),在邏輯上會(huì)產(chǎn)生震蕩,這樣的電路結(jié)構(gòu)通常被稱為Ring OSC。
本文引用地址:http://2s4d.com/article/201710/365725.htm那么在實(shí)際代碼設(shè)計(jì)中,如何操作才能產(chǎn)生上述的電路結(jié)構(gòu)呢?
我們先看第一種方法,盡管在ASIC設(shè)計(jì)中很常用,但是在FPGA設(shè)計(jì)中,一般是行不通的:
(1)第一種描述方法:
直接使用not語(yǔ)法對(duì)信號(hào)進(jìn)行反向,并級(jí)聯(lián)
這種方式,用ISE或者Vivado綜合后,其實(shí)不會(huì)產(chǎn)生所需要的電路,因?yàn)閺倪壿嬌现v,5個(gè)反相器進(jìn)行級(jí)聯(lián)其實(shí)和只是用1個(gè)反相器是等效的,所以綜合工具仍然會(huì)把他們優(yōu)化掉,即使對(duì)信號(hào)加了KEEP=true屬性!
第二種處理方式才會(huì)產(chǎn)生真正想要的結(jié)果:
(2)第二種描述方法:
使用LUT做反相器進(jìn)行級(jí)聯(lián)
當(dāng)然,通常的設(shè)計(jì)中,我們一般不會(huì)用到用這種方式產(chǎn)生的時(shí)鐘。本文僅僅給大家提供一種思路和設(shè)計(jì)技巧,在我們?cè)O(shè)計(jì)其它特殊電路時(shí),也許可以作為參考。
評(píng)論