reg类型变量综合电路_2014年PLD习题集(含参考答案)数字系统设计
下載word有問題請添加微信號:xuecool-com或QQ:370150219處理(盡可能給您提供完整文檔),感謝您的支持與諒解。
第1章習題 1.1 名詞解釋
PROM CPLD FPGA ASIC
JTAG邊界掃描 FPGA/CPLD編程與配置 邏輯綜合
PAL EDA GAL IP-CORE ISP ASIC RTL FPGA SOPC CPLD IP-CORE SOC和SOPC EDA/CAD 1.2 現代EDA技術的特點有哪些?
采用HDL描述、自頂向下、開放標準、具有完備設計庫 1.3 什么是Top-down設計方式?(P4)
1.4 數字系統的實現方式有哪些?各有什么優缺點?
74LS系列/4000系列常規邏輯門設計:設計難度大、調試復雜
采用CPLD/FPGA等可編程器件來設計:用HDL描述、設計難度小、
調試仿真方便,開發費用低, 但單位成本較高,適合小批量應用
專用集成電路設計:設計掩模成本高,適合大批量應用
1.5 什么是IP復用技術?IP核對EDA技術的應用和發展有什么意義? (P5)
IP可重復使用的一種功能設計,可節省設計時間、縮短開發周期, 避免重復勞動為大規模SOC設計提供開發基礎、和開發平臺。
1.6 用硬件描述語言設計數字電路有什么優勢?
優勢:可進行行為級、RTL級、門級多層面對電路進行描述、 可功能仿真時序分析,與工藝無關。
1.8 基于FPGA/CPLD的數字系統設計流程包括哪些步驟? (P8 圖1.7)
1.9 什么是綜合?常用的綜合工具有哪些?
HDL?RTL?門級?網表的描述轉換過程
ALTERA:MAX-PLUSII,Quartus, Xilinx:ISE , Lattice: ispLERVER
1.10 功能仿真與時序仿真有什么區別?
功能仿真不考慮器件延時,而時序分析必須考慮在不同器件中的物理信號的延時
1.11 數字邏輯設計描述分哪幾個層級,各有什么特點。
1.12、為何任意組合邏輯電路可用通用的與陣列、或陣列組合來實現。
可表示為布爾代數方程,由乘積項的和表示 1.13 FPGA與CPLD在實現方式或內部結構上的主要區別
查表、與或陣列
1.14 VerilogHDL與計算機程序設計語言主要區別
(描述并行電路行為或結構、描述的串行指令流)
1.15 簡述“邏輯綜合”功能作用。
1.16 數字系統描述有哪些層級,各有什么特點,用硬件描述語言設計數字電路有什么優勢?
第2章習題
2.1 從器件的或陣列編程結構角度看,PROM、PLA、PAL、GAL在結構上有什么區別?
2.2 說明PAL、GAL的輸出單元有何特點,它怎樣實現可編程組合電路和時序電路?
PAL、GAL輸出單元都有一個觸發器, 實現組合邏輯時觸發器被旁路掉,
實現時序單路是則從觸發器輸出信號。
2.3 簡述基于乘積項的可編程邏輯器件的結構特點?
PAL、GAL是乘積項可編程,或陣列固定的PLD器件,
送到或門的乘積項是固定的,大大簡化了器件設計算法 2.4 基于查找表的可編程邏輯結構的原理是什么?
P31
文字解釋
2.5 基于乘積項和基于查找表的結構各有什么優缺點?
基于乘積項的適合用于設計一些邏輯型電路、電路規模較小 而基于查找表結構適合設計數據型電路,電路規模較大, 用于邏輯型電路設計會有延時不確定等問題。
2.6 CPLD和FPGA在結構上有什么明顯的區別,各有什么特點?
CPLD是基于乘積項可編程的,適合用于設計一些邏輯型電路、電路規模較小 FPGA是基于查表的,適合設計數據型大規模系統
2.7 FPGA器件中的存儲器塊有何作用?
FPGA存儲器用于存儲每種邏輯輸入對應的需要輸出邏輯真值表。 2.8簡要說明JTAG邊界掃描概念及作用。
2.9 簡述FPGA配置、CPLD編程概念及其異同點。
第3章習題
3-1 基于Quartus II軟件,用D觸發器設計一個2分頻電路,并做波形仿真,在此基礎上,設計一個4分頻和8分頻電路,做波形仿真。
3-2 基于Quartus II軟件,用7490設計一個能計時(12小時)、計分(60分)和計秒(60秒)的簡單數字鐘電路。設計過程如下:
(1)先用Quartus II的原理圖輸入方式,用7490連接成包含進位輸出的模60的計數器,并進行仿真,如果功能正確,則將其生成一個部件;
(2)將7490連接成模12的計數器,進行仿真,如果功能正確,也將其生成一個部件; (3)將以上兩個部件連接成為簡單的數字鐘電路,能計時、計分和計秒,計滿12小時后系統清0重新開始計時。
(4)在實現上述功能的基礎上可以進一步增加其它功能,比如校時功能,能隨意調整小時、分鐘信號,增加整點報時功能等。
3-3 基于Quartus II軟件,用74161設計一個模99的計數器,個位和十位都采用8421BCD碼的編碼方式設計,分別用置0和置1兩種方法實現,完成原理圖設計輸入、編譯、仿真和下載整個過程。
3-4 基于Quartus II軟件,用7490設計一個模71計數器,個位和十位都采用8421BCD碼的編碼方式設計,完成原理圖設計輸入、編譯、仿真和下載整個過程。
3-5 基于Quartus II,用74283(4位二進制全加器)設計實現一個8位全加器,并進行綜合和仿真,查看綜合結果和仿真結果 3-6 基于Quartus II,用74194(4位雙向移位寄存器)設計一個“00011101”序列產生器電路,進行編譯和仿真,查看仿真結果。 3-7 基于Quartus II軟件,用D觸發器和適當的門電路實現一個輸出長度為15的m序列產生器,進行編譯和仿真,查看仿真結果。
第4章習題
4.1 用Verilog設計一個8位加法器,并進行綜合和仿真,查看綜合結果和仿真結果。 4.2 用Verilog設計一個8位計數器,并進行綜合和仿真,查看綜合結果和仿真結果。
第5章習題
5.1 下列標識符哪些是合法的,哪些是錯誤的?
Cout, 8sum, \\a*b, _data, \\wait, initial, $latch 5.2 下列數字的表示是否正確?
6'd18, 'Bx0, 5'b0x110, 'da30, 10'd2, 'hzF 5.3 reg型與wire型變量有什么本質區別
5.4 wire型變量沒有驅動其值為多少 5.5 reg型初始值一般為多少 5.6 定義如下的變量和常量:
(1)定義一個名為count的整數; integer count; (2)定義一個名為ABUS的8位wire總線; wire[7:0] ABUS;
(3)定義一個名為address的16位reg型變量,并將該變量的值賦為十進制數128; reg[15:0] address; address<=16’d128; (4)定義參數Delay_time, 參數值為8;
parameter Delay_time =8;
(5)定義一個名為DELAY的時間變量; integer DELAY;
(6)定義一個32位的寄存器MYREG; reg[31:0] MYREG;
(7)定義一個容量為128,字長為32位的存儲器MYMEM; reg[32-1:0] MYREG[128];
5.8 .舉例列出Verilog整數(Integer)2進制、8進制、16進制常量。 P123
5.9 net型數據類型有哪些? wire tri
5.10 給出reg型、和integer型變量Variable定義示例程序
(p126)
5.11 Verilog向量與標量的定義 wire a; wire[3:0] b;
第6章習題
6.1 試編寫求補碼的Verilog程序,輸入是帶符號的8位二進制數。 module negCode(out,in); output reg[7:0] out; reg[7:0] a;
input wire[7:0] in; integer i;
always @(in[0]or in[1] or in[2]or in[3] or in[4]or in[5] or in[6]or in[7]) begin
if(in[7]) begin
for(i=0;i<7;i++) a[i]=~in[i]; a[7]=in[7]; out=a+1; end
else out=in; end endmodule
6.2 試編寫兩個四位二進制數相減的Verilog程序。(參考P175,例7.18)
6.3 有一個比較電路,當輸入的一位8421BCD碼大于4時,輸出為1,否則為0。試編寫
出Verilog程序。(參考P147,例6.13)
6.4 用CASE語句試編寫一個表決電路,同意為輸入1,不同意輸入0,同意過半數(>=5)表決通過亮綠燈,不通過亮紅燈。(P149,例6.16) 6.5簡述wire變量基本語法定義及用途(第6章)
6.6 簡述阻塞性賦值與非阻塞型賦值的區別(P163、6.8節)
6.7 解釋說明下列代碼中的always、case語句的語法及所描述行為(P138例6.1) module mux4_1(out,in0,in1,in2,in3,sel); output out;
input in0,in1,in2,in3; input[1:0] sel; reg out;
always @(in0 or in1 or in2 or in3 or sel) //敏感信號列表 case(sel) 2'b00: out=in0; 2'b01: out=in1; 2'b10: out=in2; 2'b11: out=in3; default: out=2'bx; endcase endmodule
6.8 解釋說明下列代碼中的posedge和negedge關鍵字的作用和基本功能。 module count(out,data,load,reset,clk); //8位同步置數、同步清零的計數器模塊 output[7:0] out; input[7:0] data; input load,clk,reset; reg[7:0] out;
always @(posedge clk) //clk上升沿觸發 begin
if(!reset) out=8'h00; //同步清0,低電平有效 else if(load) out=data; //同步預置 else out=out+1; //計數 end endmodule
6.9用波形圖和文字解釋說明下列兩段代碼中的賦值語句行為的細微差別 (參考P163,例6.33、6.34) 非阻塞賦值
module non_block(c,b,a,clk); output c,b; input clk,a; reg c,b;
always @(posedge clk) begin b<=a;
c<=b; end endmodule 阻塞賦值
module block(c,b,a,clk); output c,b; input clk,a; reg c,b;
always @(posedge clk) begin b=a; c=b; end endmodule
6.10 解釋說明下列代碼所描述的7人表決器詳細功能及實現方法(參考P153循環語句) module voter7(pass,vote); output pass; input[6:0] vote;
reg[2:0] sum;integer i;reg pass; always @(vote) begin sum=0;
for(i=0;i<=6;i=i+1) //for語句 if(vote[i]) sum=sum+1; if(sum[2]) pass=1; else pass=0; end endmodule 6.11 名詞解釋
敏感信號 VerilogDHL語言中的標量與向量 數字電路狀態機 并發塊 串行塊
第六章補充
6.12 注解下列每行代碼,并給出其邏輯功能描述
module AAA ( a ,b ); output a ; input [6:0] b ; reg[2:0] sum; integer i; reg a ; always @ (b) begin sum = 0; for(i = 0;i<=6;i = i+1)
if(b[i])
sum = sum+1;
if(sum[2]) a = 1;
else a = 0;
end
endmodule
6.13簡要說明仿真時阻塞賦值與非阻塞賦值的區別。
6.14 舉例說明VerilogDHL語言中的標量與向量定義及作用。
6.15 數字系統描述有哪些層級,各有什么特點,用硬件描述語言設計數字電路有什么優勢?
6.16 在VerilogHDL中哪些類型語句是并發執行的? 6.17 VerilogHDL與計算機程序設計語言主要區別。 6.18 在VerilogHDL中的哪些類型語句是順序執行的?
6.19注解說明下列每行代碼的功能作用,并分析整個模塊基本功能
module count(out,data,load,reset,clk); output[7:0] out; input[7:0] data; input load,clk,reset; reg[7:0] out; always @(posedge clk) begin if(!reset) out=8'h00; else if(load) out=data; else out=out+1; end endmodule
第7章習題
7.1 Verilog支持哪幾種描述方式,各有什么特點?(結構、數據流、行為) 7.2 分別用結構描述和行為描述方式設計一個基本的D觸發器,并進行綜合。 7.3 分別用結構描述和行為描述方式設計一個JK觸發器,并進行綜合。 7.4 試編寫同步模5計數器程序,有進位輸出和異步復位端。(參考最后一次實驗四) 7.5 編寫4位串/并轉換程序。(參考P183頁) 7.6 編寫4位并/串轉換程序。(參考P183頁) 7.7 編寫4位除法電路程序。
7.8 舉例說明門級描述代碼設計方法(參考第7章例子) 7.9 舉例說明行為描述代碼設計方法(參考第7章例子) 7.10 舉例說明數據流描述代碼設計方法(參考第7章例子) 7.11 用VerilogHDL描述下圖所示的組合邏輯電路
7.12 給出描述D觸發器代碼和邏輯圖描述
7.13給出2輸入多路選擇器的碼描述邏輯符號。
module MUX2(outf, ina, inb, sel); output outf;
input ina, inb, sel;
assign outf = sel ? inb : ina; endmodule
7.14 給出出下列代碼所描述的電路功能,并畫出其邏輯框。
module voter7(pass,vote); output pass; input[6:0] vote; reg[2:0] sum;
integer i;reg pass; always @(vote) begin
sum=0;
for(i=0;i<=6;i=i+1) /
if(vote[i]) sum=sum+1; if(sum[2]) pass=1; else pass=0;
end endmodule endmodule
第8章習題
8.1 用狀態機設計一個帶同步復位的十進制計數器,并寫出測試程序。(參考最后一次實驗四)
8.2 設計實現一個功能類似74LS160的電路。 8.3 設計一個可預置的16進制計數器,并仿真。 8.4 設計一個“1101”序列檢測器。
8.5 用Verilog編寫一個用7段數碼管交替顯示26個英文字母的程序,自己定義字符的形狀。 8.6 設計一個樂曲演奏電路,實現樂曲“鈴兒響叮當”的循環演奏,可將音符數據存于ROM模塊中。
8.7 在實現第6題的基礎上增加曲目,在同一個ROM模塊中裝上多首歌曲,可手動或自動選擇歌曲。
8.8 設計實現一個簡易電子琴,敲擊不同的按鍵可發出相應的音調,同時將音符顯示在數碼管上。
8.8 畫出下列代碼所描述的電路圖(參考P135圖5.2) module MUX3(out, a, b, sel); output out; input a, b, sel;
assign out = sel ? b : a; endmodule
8.9 用VerilogHDL描述下圖所示的全加器電路功能(P173例7.12)
8.10 寫出用全加器模塊級聯實現多位加法器功能的代碼。(P175例7.17) 8.11 用VerilogHDL描述下圖所示的組合邏輯電路(參考P171例7.6)
8.12 用Verilog描述D觸發器代碼
module block(d,q,clk); output q; input clk,a; reg q;
always @(posedge clk) begin q=>d; end endmodule
8.13 用always行為語句和if-else語句描述下圖所示數據選擇器(參考P146條件語句)
8.14 用CASE語句試編寫一個表決電路,同意為輸入1,不同意輸入0,同意過半數(>=5)表決通過亮綠燈,不通過亮紅燈。(參考P148,CASE語句) 8.15 設計實現一個8位串行移位寄存器的電路,含并行輸出端。(參考D觸發器代碼,多觸發器級聯)
8.16 設計下圖所示多位加法器的功能代碼。(參考習題8.22、8.23)
a[0]b[0]a[1]b[1]a[2]b[2]a[3]b[3]cin1位全加器cin11位全加器cin21位全加器cin31位全加器coutsum[0]sum[1]sum[2]sum[3]
8.17 設計一個8位帶同步置位和清0的同步計數器。(參考P148例6.15) 8.18 always、case語句設計一個4選1多路選擇器(參考實驗) 8.19 設計一個3-8譯碼器(參考7段碼) 8.20 設計一個4-16譯碼器(參考7段碼)
8.22 設計一個4位BCD碼輸入的7段數碼管顯示的譯碼電路(參考實驗) 8.23 設計一個帶同步清0的8位同步計數器。
8.24 .用CASE語句試編寫3-8譯碼器,即3位地址輸入,8條地址譯碼選通線輸出。 8.25 用VerlogHDL設計一個帶同步清0輸入控制端的8位同步計數器,并畫出仿真波形圖。 8.26 .用HDL語言設計一個8比特寄存器,含8位數據輸入、8位鎖存輸出、一個輸出允許端,一個數據寫入鎖存端。
8.27 用CASE語句設計一個4位BCD碼輸入的7段數碼管顯示的譯碼電路,真值表所描述BCD碼轉換為七段數碼的電路。
Y0
序號 (數碼) 0 1 … 輸入 輸出 (A3~A1) (Y6~Y0) 0000 0001 … 011 1111 000 0110 … 111 1111 110 0111 Y5
Y6
Y1
8 1000 9 1001
Y4
Y3
Y2
其他補充練習題 填空
1.寫出數值為11011011b的二進制Verilog整數常量表達式: 。 2.用Verilog定義一標量a: 。
3.定義一個容量為128,字長為32位的存儲器MYMEM: 。 4.寫出數值為110011b的二進制Verilog整數常量表達式: 。 5.可編程器件分為 和 。 6.可編程器件分為 和 。
7.把變量a值菲阻塞性賦值給變量b語句為: 。 8.把變量a值阻塞性賦值給變量b語句為: 。 9.若某一時序電路由時鐘clk信號上升沿觸發,同步高電平復位信號rst清零,該電路描述中always的事件表達是應該寫為always @( )。
10.可編程器件分為 和 。 11.定義參數Delay_time, 參數值為8: 。 12.定義一個32位的寄存器MYREG: 。
13.定義一個容量為128,字長為32位的存儲器MYMEM: 。
14.用EDA技術進行電子系統設計的目標是最終完成 的設計與實現。 15.早期電子系統設計多基于通用的中小規模集成電路元件庫,設計方法多采用自底向上的設計方法,而隨著EDA技術的不斷完善與成熟,
的設計方法更多的被應用。
16.若某一時序電路由時鐘clk信號上升沿觸發,同步高電平復位信號rst清零,該電路描述中always的事件表達是應該寫為always @( )。
17.定義一個名為address的16位reg型變量,并將該變量的值賦為十進制數128: 。
18.定義一個名為DELAY的時間變量: 。 19.用Verilog定義一位寬為4的向量b: 。
20.早期電子系統設計多基于通用的中小規模集成電路元件庫,設計方法多采用自底向上的設計方法,而隨著EDA技術的不斷完善與成熟,
的設計方法更多的被應用。 選擇
1.下列標識符中,___ ____是合法,____ ___是錯誤的? A Cout B 8sum C \\a*b D _data E \\wait, F initial G $latch
2.下列數字的表達式中,______ _是正確的,___ ____是錯誤的? A 6'd18 B 'Bx0 C 5'b0x110, D 'da30, E 10'd2, F 'hzF 3.下列標識符中,__________是不合法的標識符。 A.9moon B.State0 C. Not_Ack_0 D. signall 4. reg[7:0] mema[255:0]正確的賦值是(A )
A、mema[5]=3’ d0, B、8’ d0; C、1’ b1; D、mema[5][3:0]=4’ d1 5. “a=4’ b11001,b=4’ bx110”選出正確的運算結果(B ) A、a&b=0 B、a&&b=1 C、b&a=x D、b&&a=x
6. aways begin #5 clk=0;#10 clk=~clk;end產生的波形( A ) A、占空比1/3 B、clk=1 C、clk=0 D、周期為10
7. 下列標示符哪些是合法的(B )
A、$time B、_date C、8sum D、mux#
8. 現網中的值被解釋為無符號數。在連續賦值語句中,assign addr[3:0]=-3;addr被賦予的值是( A )
A、4’b1101 B、4’b0011 C、4’bxx11 D、4’bzz11
9. 若a=9,執行$display(“current value=,a=”,a,a)正確顯示為(B ) A、current value=1001,a=09 B、current vale=1001,a=9
C、1001,9 D、current vale=00…001001,a=9 10. reg[7:0] mema[255:0]正確的賦值是(A )
A、mema[5]=3’ d0, B、8’ d0; C、1’ b1; D、mema[5][3:0]=4’ d1
11.基于EDA軟件的FPGA / CPLD設計流程為:原理圖/HDL文本輸入→ 綜合→(___ __)→( )→適配→編程下載→硬件測試。 A功能仿真 B 時序仿真 C邏輯綜合 D配置 E分配管腳 12.下列語句中,不屬于并行語句的是:_______
A.過程語句 B.assign語句 C.元件例化語句 D.case語句 13. 在Verilog中定義了宏名 `define sum a+b+c 下面宏名引用正確的是(C) A、out=’sum+d; B、out=sum+d; C、out=`sum+d; D、都正確 14. 如果線網類型變量說明后未賦值,起缺省值是(D ) A、x B、1 C、0 D、z
15. 如果線網類型變量說明后未賦值,起缺省值是(D ) A、x B、1 C、0 D、z
16.大規模可編程器件主要有 FPGA、CPLD兩類,下列對FPGA結構與工作原理的描述中,正確的是( )。
A.FPGA全稱為復雜可編程邏輯器件
B.FPGA是基于乘積項結構的可編程邏輯器件
C.基于SRAM的FPGA器件,在每次上電后必須進行一次配置 D.在Altera公司生產的器件中,MAX7000系列屬FPGA結構 17.下列語句中,不屬于并行語句的是:_______
A.過程語句 B.assign語句 C.元件例化語句 D.case語句 18.下列標識符中,__________是不合法的標識符。 A.9moon B.State0 C. Not_Ack_0 D. signall 19.下列標識符中,___ ____是合法,____ ___是錯誤的? A Cout B 8sum C \\a*b D _data E \\wait, F initial G $latch
20.下列數字的表達式中,______ _是正確的,___ ____是錯誤的? A 6'd18 B 'Bx0 C 5'b0x110, D 'da30, E 10'd2, F 'hzF
以上是由77cn范文大全為大家整理的2014年PLD習題集(含參考答案)數字系統設計的相關范文,本文關鍵詞為2014年,PLD,習題集,參考,答案,數字,系統,設計,,您可以從右上方搜索框檢索更多相關文章,如果您覺得有用,請繼續關注我們并推薦給您的好友,您可以在綜合文庫中查看更多范文。
2014年PLD習題集(含參考答案)數字系統設計.doc
免費范文網為全國范文類知名網站,下載全文稍作修改便可使用,即刻完成寫稿任務。
已有11人下載
百度搜索“77cn”或“免費范文網”即可找到本站免費閱讀全部范文。收藏本站方便下次閱讀,免費范文網,提供經典小說綜合文庫2014年PLD習題集(含參考答案)數字系統設計在線全文閱讀。
本文來自:免費范文網(www.77cn.com.cn) 轉載請注明出處!
總結
以上是生活随笔為你收集整理的reg类型变量综合电路_2014年PLD习题集(含参考答案)数字系统设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: s3c2440串口详解
- 下一篇: java信息管理系统总结_java实现科