日韩在线不卡免费视频一区,日韩欧美精品一区二区三区经典,日产精品码2码三码四码区,人妻无码一区二区三区免费,日本feerbbwdh少妇丰满

大話硬件
認(rèn)證:優(yōu)質(zhì)創(chuàng)作者
所在專題目錄 查看專題
FPGA基礎(chǔ)知識(shí)(1)基本概念
FPGA學(xué)習(xí)(2)設(shè)計(jì)3-8譯碼器
作者動(dòng)態(tài) 更多
SDRAM詳細(xì)分析—06 存儲(chǔ)單元架構(gòu)和放大器
14小時(shí)前
SDRAM詳細(xì)分析—05 DRAM內(nèi)部結(jié)構(gòu)
5天前
SDRAM詳細(xì)分析——04 內(nèi)存控制器
2星期前
SDRAM詳細(xì)分析——03 流水線內(nèi)存訪問和內(nèi)存效率
2星期前
SDRAM詳細(xì)分析——02 內(nèi)存訪問周期
2星期前

FPGA學(xué)習(xí)(2)設(shè)計(jì)3-8譯碼器

1.學(xué)習(xí)目標(biāo):設(shè)計(jì)3—8譯碼器

2.真值表

3.編寫verilog代碼

//聲明
    module decoder3_8(
    
    a,b,c,
    out
    
    
    
    );
//說明    
    input a;
    input b;
    input c;
    output [7:0]out;
    reg [7:0] out;   //因?yàn)閛ut在always塊中使用,要定義成reg類型
//時(shí)序邏輯    
    always @(a,b,c)   //always@(*)
    
    begin
    
    case({a,b,c})
      
        3'b000: out=8'b0000_0001;
    	 3'b001: out=8'b0000_0010;
    	 3'b010: out=8'b0000_0100;
    	 3'b011: out=8'b0000_1000;
    	 3'b100: out=8'b0001_0000;
    	 3'b101: out=8'b0010_0000;
    	 3'b110: out=8'b0100_0000;
    	 3'b111: out=8'b1000_0000;
    	 endcase
    	 //可加default
    
    end      
    endmodule

4.編寫仿真激勵(lì)代碼

// 

`timescale 1 ns/ 1 ns   //設(shè)置精度
module decoder3_8_vlg_tst();
// constants                                           
// general purpose registers

// test vector input registers
reg a;
reg b;
reg c;
// wires                                               
wire [7:0]  out;

// assign statements (if any)                          
decoder3_8 i1 (
// port map - connection between master ports and signals/registers   
	.a(a),
	.b(b),
	.c(c),
	.out(out)
);
initial                                                
begin                                                  
// code that executes only once                        
// insert code here --> begin                          
      a=0;b=0;c=0;
      #200;
      a=0;b=0;c=1;
      #200;	
      a=0;b=1;c=0;
      #200;
      a=0;b=1;c=1;
      #200;
	   a=1;b=0;c=0;
      #200;
      a=1;b=0;c=1;
      #200;	
      a=1;b=1;c=0;
      #200;
      a=1;b=1;c=1;
      #200;		//延時(shí)200ns
		$stop;
		
// --> end                                             
$display("Running testbench");                       
end                                                    
                                                 
    endmodule

5.測(cè)試結(jié)果

6.總結(jié)問題

verilog語言中的數(shù)據(jù)類型,在編寫仿真文件的過程中,在case語句下,最開始編寫的是:

 3'b000: out=0000_0001;
 3'b001: out=0000_0010;
 3'b010: out=0000_0100;

沒有在后面的數(shù)據(jù)加上8‘b

導(dǎo)致在最后查波形的時(shí)候,一直出現(xiàn)問題,原因是對(duì)Verilog數(shù)據(jù)類型還是不夠清楚。下面是Verilog中的數(shù)字表示方法(1)整數(shù)在verilog語言中,數(shù)字的表示方式有三種:1.<位寬><進(jìn)制><數(shù)字>比如:8‘b 0000_0001 屬于全面的描述方式2.<進(jìn)制><數(shù)字>比如:b 001 屬于缺省位寬的描述方式,機(jī)器的系統(tǒng)決定,至少32位3.<數(shù)字>比如: 2 缺省進(jìn)制十進(jìn)制描述

(2)x和z的值

在數(shù)字電路中,x代表不定值,z代表高阻值。

(3)負(fù)數(shù)“-”號(hào)必須寫在最前面,比如-8‘b0000_0001(4)下劃線下劃線可以提高數(shù)字書寫時(shí),讓程序更具有可讀性,只能用在數(shù)字之間,也就是“_”的前面肯定是數(shù)字。比如寫50MHz,可寫成50_000_000Hz

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場(chǎng)。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請(qǐng)聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 5
收藏 3
關(guān)注 606
成為作者 賺取收益
全部留言
0/200
成為第一個(gè)和作者交流的人吧