【正文】
? begin ? Z1=1039。 ? Z3=Z0[7:4]*Z0[3:0]+Z4。 Done= 139。 Done= 139。 ? Done= 139。 ? Done= 139。 ? Done= 139。 Rst=1。 ? Delay Rst=1。 ? Delay Rst=1。 ? (10*Delay) $finish。 Serial_in= 8‘b0001_0010; Serial_in= 8‘b0000_0000; 按邏輯結(jié)果應(yīng)為 =5*3+5*18+3*18=159; 二進(jìn)制結(jié)果應(yīng)為: 10011111 ?Serial_in= 839。 Serial_in= 839。 Serial_in= 839。連續(xù)賦值和阻塞賦值不能寫在一個循環(huán)里。 Serial_in= 839。 Serial_in= 839。 Serial_in= 839。 Serial_in= 8‘b0000_0000; 按邏輯結(jié)果應(yīng)為 2*2+1*4=8 二進(jìn)制結(jié)果應(yīng)為: 1000 ?Serial_in= 839。b0001_0011。b0001_0100。b0001_0010。 Start=0。 Y3=1939。bz。bz。 Y3=1939。 Y3=1939。 ? Z3=1339。 Z4=Z3。 ? Z4=1439。b0。 ? Next_state=State0。 ? else ? Next_state=State5。 ? else ? Next_state=State1。 ? 3,數(shù)據(jù)輸入的過程中,系統(tǒng)可以在任意時刻復(fù)位。 輸出 D one 表示一次數(shù)據(jù)處理結(jié)束,其有效電平為高,維持一個時鐘周期。 ?將邏輯表達(dá)式改寫 ?Y4=x1*(x2+x3+x4)+x2*(x3+x4)+x3*x4 ?Y3=x1*(x2+x3)+x2*x3 ?考慮使用兩個數(shù)據(jù)通路同時對輸入數(shù)據(jù)進(jìn)行處理,最后由數(shù)據(jù)選擇器選擇輸出結(jié)果 ?如下圖 各站的描述 S e r i a l _i n c l k c l k c l k c l k Z 0 Z 11 Z 6 Z 2 Z 5 X i h 4 X i l 4 Z 3 Z 4 se l se l FSM圖示描述 程序描述部分 ?FSM控制部分 ?數(shù)據(jù)通路部分 ?結(jié)果輸出部分 ? 9個狀態(tài)采用 4位格雷碼定義 ? 以下是 FSM控制流程 ? always(present_state or Serial_in) ? begin ? case(present_state) ? State0: //initial process ? begin ? Sel=339。 ? end ? ? State3 : begin ? if(!Serial_in) ? Next_state=StateY3。 ? ? Next_state=State0。 ? endcase ? end ? 數(shù)據(jù)通路代碼 ? always(posedge clk) ? begin ? if(!Rst) ? begin ? Z0=839。 ? present_state=State0。b0。b0。 ? end ? 結(jié)果輸出代碼 ? always(Sel or Z0 or Z4 or Z5 o