freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)字電路擲骰子(編輯修改稿)

2025-07-19 14:37 本頁面
 

【文章內(nèi)容簡介】 1)行為描述中常見問題在VHDL語言中,一條信號帶入語句就可以創(chuàng)建一個驅(qū)動器。當(dāng)同一賦值目標(biāo)處于不同進程中時,其賦值結(jié)果就比較復(fù)雜。這可以看成是多個信號驅(qū)動源連在一起,可以發(fā)生線或、線與或者三態(tài)等不同結(jié)果。若處理不當(dāng),則會出現(xiàn)驅(qū)動器沖突。所以應(yīng)避免在不同的進程中對同一個信號賦值,即多重源賦值問題。(2)RTL描述中常見問題,禁止使用兩個寄存器描述,對兩個寄存器的描述是不允許的;,對變量要先讀后寫,因為變量值是立即獲得的,所以如果先寫后讀就會產(chǎn)生長的組合邏輯和鎖存器(或寄存器)。因此在編寫代碼過程中,對變量要先讀后寫;,禁止使用ELSE項。對于RTL描述方式中的IF語句在其描述寄存器功能時,禁止采用ELSE項,因為這種賦值方式相當(dāng)于檢測如果沒有時鐘信號時,則賦新值,而實際上不可能有這樣的硬件電路與之對應(yīng);,其敏感向量表中要包含所有要讀取得信號,以防止出現(xiàn)不必要的鎖存器。(3)語言描述中常見的語法錯誤,應(yīng)該列出程序中所有使用到的程序庫及庫中什么程序包。例如,在程序中使用“+”運算,那么程序頭必須列出程序行“use”;,必須符合VHDL的文字規(guī)則。例如實體名不能以數(shù)字開頭,名字中不能出現(xiàn)“”、“”等;,不要在代碼中使用buffer類型的端口讀取輸出數(shù)據(jù),要使用out類型,再增加另外變量或信號,以獲取輸出值。因為buffer類型的端口不能連接到其他類型的端口上,因此buffer類型就會在整個設(shè)計的端口中傳播下去。3. QuartusII常見錯誤(1)Found clocksensitive change during active clock edge at time time on register “name”原因:vectorsourcefile中時鐘敏感信號(如:數(shù)據(jù),允許端,清零,同步加載等)在時鐘的邊緣同時變化。而時鐘敏感信號是不能在時鐘邊沿變化的。其后果為導(dǎo)致結(jié)果不正確。措施:編輯vectorsourcefile(2)VerilogHDLassignmentwarningatlocation:truncatedwithsizenumbertomatchsizeoftarget(number)原因:在HDL設(shè)計中對目標(biāo)的位數(shù)進行了設(shè)定,如:reg[4:0]a。而默認(rèn)為32位,將位數(shù)裁定到合適的大小。措施:如果結(jié)果正確,無須加以修正,如果不想看到這個警告,可以改變設(shè)定的位數(shù)。(3)Error:Can39。tnamelogicscfifo0ofinstanceinsthassamenameascurrentdesignfile原因:模塊的名字和project的名字重名了。措施:把兩個名字之一改一下,一般改模塊的名字。七、實驗總結(jié)和結(jié)論本學(xué)期的數(shù)電實驗,我主要學(xué)會了通過有限狀態(tài)機的方法來設(shè)計一個小系統(tǒng)。有限狀態(tài)機及其設(shè)計技術(shù)是實用數(shù)字系統(tǒng)設(shè)計中重要組成部分,是實現(xiàn)高效率高可靠邏輯控制的重要途徑。有限狀態(tài)機克服了純硬件數(shù)字系統(tǒng)順序方式控制不靈活的缺點。狀態(tài)機的工作方式是根據(jù)控制信號按照預(yù)先設(shè)定的狀態(tài)進行順序運行的,狀態(tài)機是純硬件數(shù)字系統(tǒng)中的順序控制電路,因此狀態(tài)機在其運行方式上類似于控制靈活和方便的CPU,而在運行速度和工作可靠性方面都優(yōu)于CPU。狀態(tài)機容易構(gòu)成性能良好的同步時序邏輯模塊,這對于大規(guī)模邏輯電路設(shè)計中令人深感棘手的競爭冒險現(xiàn)象無疑是一個上佳的選擇。本系統(tǒng),我是通過狀態(tài)機實現(xiàn)的。由于在VHDL中,一個狀態(tài)機由多個進程構(gòu)成,一個結(jié)構(gòu)體中可以包含多個狀態(tài)機,而一個單獨的狀態(tài)機(或多個并行運行的狀態(tài)機)以順序方式所能完成的運算和控制方面的工作與一個CPU的功能類似。因此,一個設(shè)計實體的功能便類似于一個含有并行運行的多個CPU的高性能微處理器的功能。我通過本次綜合實驗的學(xué)習(xí),我的收獲頗多。首先,我更加了解到VHDL編程的技巧與意義;然后,方框圖的設(shè)計師一個自頂向下、逐步細(xì)化的層次化設(shè)計過程。在總體結(jié)構(gòu)設(shè)計(以框圖表示)中,任何優(yōu)化設(shè)計的考慮要比邏輯電路設(shè)計過程中優(yōu)化設(shè)計產(chǎn)生大得多的效益;最后,我通過VHDL編程對本來枯燥無味的硬件實驗產(chǎn)生濃厚的興趣。八、源程序LIBRARY IEEE。USE 。USE 。USE 。ENTITY Game IS PORT(clk,reset,btn0,btn1:IN STD_LOGIC。 cat: OUT STD_LOGIC_VECTOR(5 DOWNTO 0)。數(shù)碼管顯示 b:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)。數(shù)碼管需要顯示的數(shù)值段碼的二進制表示; row:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)。行 col:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)。列 music:OUT STD_LOGIC )。END Game。ARCHITECTURE GameState OF Game IS TYPE state_type IS(s0,s1,s2,s3,s4)。 用戶自定義的可枚舉類型 s0代表第一局;s1代表第二至五局;s2代表第六局;s3代表第七局以上;s4代表游戲結(jié)束 SIGNAL current_state,next_state:state_type:=s0。 定義兩個信號用于指定的狀態(tài)機的狀態(tài) SIGNAL judge1,judge2To5,judge3,judge4:STD_LOGIC:=39。039。定義判斷條件 judge1表示第一局的判斷條件:只有一人的和為7或11 judge2To5表示游戲在2到5局時,是否決出勝負(fù); judge3表示第六局的判斷條件:游戲中出現(xiàn)最大點數(shù)和; judge4表示第七局以上的判斷條件:游戲中出現(xiàn)最大點數(shù)和; SIGNAL sum1,sum2:INTEGER RANGE 0 TO 20。表示甲乙兩人點數(shù)之和; SIGNAL num1_1,num1_2,num2_1,num2_2:INTEGER RANGE 0 TO 6。表示甲乙兩人的兩個骰子的點數(shù); SIGNAL first_sum1,first_sum2:INTEGER RANGE 0 TO 20。表示第一局的點數(shù)和; SIGNAL game_counter:INTEGER RANGE 0 TO 50。表示游戲進行的總局?jǐn)?shù); SIGNAL game_counter_shiwei:INTEGER RANGE 0 TO 9。 SIGNAL game_counter_gewei:INTEGER RANGE 0 TO 9。 SIGNAL counter_2,counter_1:STD_LOGIC_VECTOR(3 DOWNTO 0)。counter_2,counter_1分別表示counter的BCD碼的十位和個位的二進制形式 SIGNAL btn0_counter:INTEGER RANGE 0 TO 20。表示btn0按下時:btn0的上升沿的次數(shù); SIGNAL btn1_counter:INTEGER RANGE 0 TO 20。表示btn1按下時:btn1的上升沿的次數(shù); SIGNAL btn_over:STD_LOGIC:=39。039。甲乙兩人是否按完,按完為‘1’,否則為‘0’; SIGNAL win_name:INTEGER RANGE 0 TO 2。顯示獲勝者的姓名; SIGNAL clk_scan:STD_LOGIC。 SIGNAL temp1:INTEGER RANGE 0 TO 12499。 SIGNAL temp2:INTEGER RANGE 0 TO 499。 SIGNAL cat_temp:STD_LOGIC_VECTOR(5 DOWNTO 0)。 SIGNAL row_temp:STD_LOGIC_VECTOR(7 DOWNTO 0)。 SIGNAL col_temp:STD_LOGIC_VECTOR(7 DOWNTO 0)。列 SIGNAL a_temp:STD_LOGIC_VECTOR(3 DOWNTO 0)。數(shù)碼管需要顯示的數(shù)值的二進制表示; SIGNAL b_temp:STD_LOGIC_VECTOR(6 DOWNTO 0)。數(shù)碼管需要顯示的數(shù)值段碼的二進制表示; SIGNAL rand_temp:INTEGER RANGE 0 TO 7。 SIGNAL rand1,rand2:INTEGER RANGE 0 TO 6。 SIGNAL do_temp:INTEGER RANGE 0 TO 47800。 SIGNAL clk_do:STD_LOGIC。 SIGNAL re_temp:INTEGER RANGE 0 TO 42588。 SIGNAL clk_re:STD_LOGIC。 SIGNAL mi_temp:INTEGER RANGE 0 TO 37935。 SIGNAL clk_mi:STD_LOGIC。 SIGNAL fa_temp:INTEGER RANGE 0 TO 35815。 SIGNAL clk_fa:STD_LOGIC。 SIGNAL so_temp:INTEGER RANGE 0 TO 31886。 SIGNAL clk_so:STD_LOGIC。 SIGNAL beat_temp:INTEGER RANGE 0 TO 2499999。 SIGNAL clk_beat:STD_LOGIC。 SIGNAL pace:INTEGER RANGE 0 TO 60。 SIGNAL timecounter:INTEGER RANGE 0 TO 59。 BEGIN 第一個進程P1中描述次狀態(tài)邏輯,由于次狀態(tài)是當(dāng)前狀態(tài)和輸入信號的函數(shù), 所以敏感信號表中包含了當(dāng)前狀態(tài)current_state和輸入信號reset, judge1,judge2To5,judge3,judge4。 P1:PROCESS(clk) BEGIN IF(clk39。EVENT AND clk=39。139。) THEN CASE current_state IS WHEN s0=IF(reset=39。139。)THEN next_state=s0。 ELSIF(judge1=39。139。)THEN next_state=s4。 ELSE next_state=s1。 END IF。 WHEN s1=IF(reset=39。139。)THEN next_state=s0。 ELSIF(judge2To5=39。139。 AND game_counter 6 AND game_counter 1)THEN next_state=s4。 ELSIF(judge2To5=39。039。 AND game_counter 5 AND game_counter 1)THEN next_state=s1。 ELSE next_state= s2。 END IF。 WHEN s2=IF(reset=39。139。)THEN next_state=s0。 ELSIF(judge3=39。139。)THEN next_state=s4。 ELSE next_state=s3。 END IF。 WHEN s3=IF(reset=39。139。)THEN next_stat
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1