菜鸟初入FPGA之Case语句验证4-16译码器

来源:本站
导读:目前正在解读《菜鸟初入FPGA之Case语句验证4-16译码器》的相关信息,《菜鸟初入FPGA之Case语句验证4-16译码器》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《菜鸟初入FPGA之Case语句验证4-16译码器》的详细说明。
简介:本文章是关于FPGA之Case语句验证4-16译码器。

本次笔记记录的是4-16译码器的验证

下面我们看一下4-16译码器的真值表

菜鸟初入FPGA之Case语句验证4-16译码器

从真值表中我们可以观察到,从十六组数据中取出要写程序的所需要的信息

例程:

modulemy_4_16(a,b,c,d,out);inputa;inputb;inputc;inputd;outputreg[15:0]out;always@(a,b,c,d)begin//a,b,c,d作为敏感信号case({a,b,c,d})4'b0000:out=16'b0000_0000_0000_0001;4'b0001:out=16'b0000_0000_0000_0010;4'b0010:out=16'b0000_0000_0000_0100;4'b0011:out=16'b0000_0000_0000_1000;4'b0100:out=16'b0000_0000_0001_0000;4'b0101:out=16'b0000_0000_0010_0000;4'b0110:out=16'b0000_0000_0100_0000;4'b0111:out=16'b0000_0000_1000_0000;4'b1000:out=16'b0000_0001_0000_0000;4'b1001:out=16'b0000_0010_0000_0000;4'b1010:out=16'b0000_0100_0000_0000;4'b1011:out=16'b0000_1000_0000_0000;4'b1100:out=16'b0001_0000_0000_0000;4'b1101:out=16'b0010_0000_0000_0000;4'b1110:out=16'b0100_0000_0000_0000;4'b1111:out=16'b1111_1111_1111_1111;//由于刚好16组数据,所以default语句不需要在写endcaseendendmodule///`tb`timescale1ns/1nsmodulemy_4_16_tb;rega;regb;regc;regd;wire[15:0]out;my_4_16my_4_16(.a(a),.b(b),.c(c),.d(d),.out(out));initialbegina=0;b=0;c=0;d=0;#100;a=0;b=0;c=0;d=1;#100;a=0;b=0;c=1;d=0;#100;a=0;b=0;c=1;d=1;#100;a=0;b=1;c=0;d=0;#100;a=0;b=1;c=0;d=1;#100;a=0;b=1;c=1;d=0;#100;a=0;b=1;c=1;d=1;#100;a=1;b=0;c=0;d=0;#100;a=1;b=0;c=0;d=1;#100;a=1;b=0;c=1;d=0;#100;a=1;b=0;c=1;d=1;#100;a=1;b=1;c=0;d=0;#100;a=1;b=1;c=0;d=1;#100;a=1;b=1;c=1;d=0;#100;a=1;b=1;c=1;d=1;#200;$stop;endendmodule

仿真波形图:

菜鸟初入FPGA之Case语句验证4-16译码器

本次程序读懂真值表后不难写出,因为全部二进制书写,比较浪费时间.同样的,3-8译码器更容易写出

注: 程序模块名命名时不要以纯数字命名例如"4_16",编译时会报错

菜鸟初入FPGA之Case语句验证4-16译码器

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