玩转Altera FPGA:3-8译码器实验

来源:本站
导读:目前正在解读《玩转Altera FPGA:3-8译码器实验》的相关信息,《玩转Altera FPGA:3-8译码器实验》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《玩转Altera FPGA:3-8译码器实验》的详细说明。
简介:本文主要讲了3-8译码器实验,下面一起来学习一下:

所谓3-8译码器,大家可以baidu或bing一下。相信学习FPGA的读者一定都上过数字电路的课程,所以这里对3-8译码器功能的实现给个真值表,如表8.1所示,一目了然。

表8.1 3-8译码器真值表

玩转Altera FPGA:3-8译码器实验

注:X表示ON或OFF,即任意状态。

本实例的工程代码如下。

module cy4(

input ext_clk_25m, //外部输入25MHz时钟信号

input ext_rst_n, //外部输入复位信号,低电平有效

input[3:0] switch, //4个拨码开关接口,ON -- 低电平;OFF -- 高电平

output reg[7:0] led //8个LED指示灯接口

);

//-------------------------------------

always @ (posedge ext_clk_25m or negedge ext_rst_n)

if(!ext_rst_n) led <= 8'hff; //所有LED关闭

else if(switch[0]) led <=8'hff; //SW3处于OFF状态,所有LED关闭

else begin//SW3处于ON状态,点亮的LED位由SW4/SW5/SW6拨码开关的输入决定

case(switch[3:1])

3'b111: led <=8'b1111_1110; //D2点亮

3'b110: led <=8'b1111_1101; //D3点亮

3'b101: led <=8'b1111_1011; //D4点亮

3'b100: led <=8'b1111_0111; //D5点亮

3'b011: led <=8'b1110_1111; //D6点亮

3'b010: led <=8'b1101_1111; //D7点亮

3'b001: led <=8'b1011_1111; //D8点亮

3'b000: led <=8'b0111_1111; //D9点亮

default: ;

endcase

end

endmodule

这个代码中只有一个always语句,这里对拨码开关做判断,首先判断拨码开关SW3(switch[0])为OFF,则让所有LED也都OFF;接着用case语句判断拨码开关SW4/SW5/SW6(switch[3:1])的输入状态,根据真值表,相应获得输出结果,点亮译码后的某个特定LED。

提醒:《玩转Altera FPGA:3-8译码器实验》最后刷新时间 2024-03-14 00:52:26,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《玩转Altera FPGA:3-8译码器实验》该内容的真实性请自行鉴别。