fpga 求助:Verilog中,怎么把不同時(shí)鐘的模塊弄到一起?
求助:Verilog中,怎么把不同時(shí)鐘的模塊弄到一起?這是時(shí)鐘域的問(wèn)題。這取決于你的時(shí)鐘之間的關(guān)系。例如,如果您的兩個(gè)時(shí)鐘被同一個(gè)時(shí)鐘源分割(即,這兩個(gè)時(shí)鐘在頻率和相位之間具有固定的關(guān)系),則可以直接
求助:Verilog中,怎么把不同時(shí)鐘的模塊弄到一起?
這是時(shí)鐘域的問(wèn)題。這取決于你的時(shí)鐘之間的關(guān)系。例如,如果您的兩個(gè)時(shí)鐘被同一個(gè)時(shí)鐘源分割(即,這兩個(gè)時(shí)鐘在頻率和相位之間具有固定的關(guān)系),則可以直接使用它們。如果你的兩個(gè)時(shí)鐘不同步(也就是說(shuō),頻率和相位之間沒(méi)有關(guān)系),你需要先同步它們,然后兩個(gè)模塊的信號(hào)才能相互作用。
如果是簡(jiǎn)單的單比特信號(hào),兩拍后就可以使用;
如果CPU和芯片傳輸數(shù)據(jù),時(shí)鐘頻率與此無(wú)關(guān),則需要同步CPU傳輸?shù)臄?shù)據(jù)。例如,交互由一個(gè)芯片選擇CS和一個(gè)enable RW_uuen信號(hào)控制組成,然后需要對(duì)RW_uuen信號(hào)進(jìn)行兩拍延遲以獲得RW_uu?;舅枷胧歉鶕?jù)這個(gè)思想生成特定的電路。
如何寫(xiě)好Verilog代碼?
了解Verilog項(xiàng)目代碼主要通過(guò)以下幾個(gè)方面:
1。區(qū)分結(jié)構(gòu)。項(xiàng)目由基本頂層、模塊、約束等部分組成。通常,模塊是在頂層逐個(gè)實(shí)例化的。因此,了解一個(gè)項(xiàng)目的結(jié)構(gòu)就是從頂層一個(gè)接一個(gè)地延伸,這相當(dāng)于一個(gè)植物的根系。最底層的模塊經(jīng)常被“引用”,其中大部分也是最基本的組件。
2. 通過(guò)代碼注釋輔助閱讀,一個(gè)好的代碼必須有70%~80%的注釋?zhuān)奖愎ぷ鹘唤樱⒂泻芏嗳藖?lái)討論。注重代碼結(jié)合注釋?zhuān)私夤こ處熞鈭D,發(fā)現(xiàn)設(shè)計(jì)不嚴(yán)謹(jǐn)。
3. Verilog代碼實(shí)際上是在繪制電路圖,這是一種硬件描述語(yǔ)言。在閱讀代碼時(shí),你應(yīng)該在頭腦中有電路的概念,知道電路的一般結(jié)構(gòu)、每個(gè)模塊的扇出和扇出等。當(dāng)然,最基本的事情是有良好的語(yǔ)法基礎(chǔ)和原理,否則,很難理解一些大規(guī)模電路的描述。