• 正文
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

招聘 | 小米數(shù)字IC筆試題及答案解析(二)

2022/01/20
368
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

1. 使用Verilog編寫三分頻電路,輸出為50%占空比(10分)

【解析】對于奇數(shù)分頻,就是分別利用待分頻時鐘的上升沿觸發(fā)生成一個時鐘,然后用下降沿觸發(fā)生成另一個時鐘,然后將兩個時鐘信號進(jìn)行或/與運算得到占空比為50%的奇數(shù)分頻。具體方法詳述如下:

Step1: 雙沿計數(shù)器計數(shù)

       

使用2個計數(shù)器:cnt_up和cnt_down,分別在時鐘的上升沿觸發(fā)計數(shù)器cnt_up和cnt_down。[計數(shù)器進(jìn)制:N進(jìn)制;計數(shù)范圍:0-N-1]

Step2:生成兩個控制信號clk_up和clk_down

       

定義2個時鐘信號clk_p和clk_n, 對于上升沿計數(shù)器cnt_p,當(dāng)計數(shù)到0或者(N-1)/2時,均翻轉(zhuǎn)clk_p信號;對于下降沿計數(shù)器cnt_n,當(dāng)計數(shù)到0或者(N-1)/2時,均翻轉(zhuǎn)clk_n信號。

Step3: 求出分頻后時鐘

       

若clk_p和clk_n初始復(fù)位為0,將2個時鐘clk_p和clk_n通過或運算即可生成占空比為50%的分頻時鐘,且clk_out上升沿和原時鐘上升沿對齊。如果clk_p和clk_n初始復(fù)位為1,使用與邏輯運算才能生成占空比50%的分頻時鐘。

       

占空比為50%的奇數(shù)分頻(以7分頻為例)的Verilog代碼如下:

波形圖就不掛出來了,勤勞的同學(xué)們自己跑一下仿真就可以看到結(jié)果了!

2. 除法器的Verilog RTL實現(xiàn)。16bitA,8bitB。C=A/B (15分)

【解析】和十進(jìn)制除法類似,計算 27 除以 5 的過程如下所示:

除法運算過程如下:

(1) 取被除數(shù)的高幾位數(shù)據(jù),位寬和除數(shù)相同(實例中是 3bit 數(shù)據(jù))。

 

(2) 將被除數(shù)高位數(shù)據(jù)與除數(shù)作比較,如果前者不小于后者,則可得到對應(yīng)位的商為 1,兩者做差得到第一步的余數(shù);否則得到對應(yīng)的商為 0,將前者直接作為余數(shù)。

 

(3) 將上一步中的余數(shù)與被除數(shù)剩余最高位 1bit 數(shù)據(jù)拼接成新的數(shù)據(jù),然后再和除數(shù)做比較??梢缘玫叫碌纳毯陀鄶?shù)。

 

(4) 重復(fù)過程 (3),直到被除數(shù)最低位數(shù)據(jù)也參與計算。

程序按照以上原理編寫如下:

3.簡要描述AHB總線協(xié)議。包括有哪些信號,簡要描述信號的作用(15分)

【解析】

AHB是AMBA總線系列中的其中一種,它是一種高性能的pipe系統(tǒng)總線。AHB總線細(xì)分,可以分為三組總線:寫數(shù)據(jù)總線(HWDATA),讀數(shù)據(jù)總線(HRDATA)和地址控制總線(HADDR)。

這三組總線相互分離互不干擾。對于每一組總線來說,同時只能由一個master或者slave來獨占,這時需要仲裁器來決定將總線的控制權(quán)交與哪個設(shè)備,并控制多路選擇器來選擇已經(jīng)獲得控制權(quán)的那個設(shè)備來傳輸數(shù)據(jù)和地址信息。譯碼器根據(jù)地址來選擇讓哪個slave的數(shù)據(jù)通過選擇器。

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄