首页 > 其他分享 >FPGA之38译码器(看注释)

FPGA之38译码器(看注释)

时间:2024-02-25 17:25:26浏览次数:23  
标签:200 38 FPGA b0000 端口 译码器 decoder reg out

先是编写源文件,我习惯把他的名字与项目名称统一
decoder_3_8.v

/*
模块思路是输入abc,输出8选1,先定义各个端口,考虑到输出有多个选择所以用[7:0]
*/

module decoder_3_8(
a,
b,
c,
out
);
input a;
input b;
input c;
output out;//注意在always中必须使用reg变量,所以还要把out转为reg型变量否则就是wire
reg [7:0]out;

always@(a,b,c)
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
		
end

endmodule

接下来是仿真文件(Test Bench文件)
`timescale 1ns / 1ns
//////////////////////////////////////////////////////////////////////////////////

// timescale是时间单位/精度,若为1ns/100ps,那么#100就是延时100ns,并且可以延时100.1ns因为100ps是0.1ns
// Create Date: 2024/02/25 15:46:32

//////////////////////////////////////////////////////////////////////////////////

//在仿真文件中不需要外部端口了,只需要自己定义端口并施加激励,所以在模块名旁边括号不加参数了
//在仿真中输入类型定义为reg,输出定义为wire,自定义端口名可以和前面的端口名称一样,注意位数也要一致
module decoder_3_8_tb();
reg a;
reg b;
reg c;
wire [7:0] out;

//接下来是例化,格式:原模块名 自定义名(.变量(原模块变量))我觉得目的就是让自定义信号能对应上逻辑
decoder_3_8 decoder(
.a(a),
.b(b),
.c(c),
.out(out)
);
//开始给予激励
initial 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;

$stop;//停止仿真
end

endmodule

标签:200,38,FPGA,b0000,端口,译码器,decoder,reg,out
From: https://www.cnblogs.com/cccofHIT/p/18032621

相关文章

  • P3388 【模板】割点(割顶)
    原题链接题解先说结论对单个图做深度搜索树,对于树的根节点,它要能是割点当且仅当她有至少两个不互通的儿子节点对于树的非叶子非根节点,它要能是割点当且仅当存在儿子节点能去的时间戳最小的节点不小于当前节点的深度搜索序对于叶子节点,不可能成为割点code#include<bits/std......
  • UJC日报038.NBEZ生存指北(高一下)
    0:寒假大作战承接上文全是作业,太快乐了虽然说没有提前开学这种缺德行为但19号交上选课表还是有点早了吧……(然后我选课表不知道为什么找不到了)距离寒假结束还有一周时,我的精神状态就变成了二战里的政委满脑子都是把作业彻底解决掉(带头冲锋)然后又有很炸裂的事情发生了仅仅半......
  • 基于STM32F407MAC与DP83848实现以太网通讯三(STM32F407MAC配置以及数据收发)
    本章实现了基于STM32F407MAC的数据收发功能,通过开发板的RJ45接口连接网线到电脑,电脑使用Wiershark工具抓包验证。参考文档:DP83848IV英文DP83848EP中文STM32F4xx参考手册一、工程模板以及参考源码的获取工程源码我使用的正点原子的探索者开发板STM32F407(V2)参考源码:正点原子......
  • 业界唯一单芯片自适应射频平台:XCZU42DR-L2FSVE1156I、XCZU42DR-1FFVE1156I、XCZU65DR-
    ZynqUltraScale+RFSoC是业界唯一单芯片自适应射频平台。ZynqUltraScale+RFSoC是一种异构计算架构,包括完整的Arm处理子系统、FPGA架构,以及RF信号链中的完整模数可编程性,其不仅可为不同的应用提供一个完整的单片软件定义无线电平台,而且还有助于随着市场动态的发展,生产无线......
  • P3870 分块题解
    这篇题解有点问题(分块标记处),但现在不想修,等有空修吧link分块是一种很神奇的暴力,学了它就会觉得什么都可以用分块做。分块的主要思想就是整块快速查询,散块暴力查询。比如说,分块可以在\(O(q\sqrt{n}+n)\)的时间复杂度内解决线段树模板题。回到本题,显然我们可以用每个块维护......
  • 基于STM32F407MAC与DP83848实现以太网通讯二(DP83848硬件配置以及寄存器)
    参考内容:DP83848数据表一、PHYDP83848功能模块图                     DP83848的硬件模块主要为:MII/RMII/SNI INTERFACES:用于与MAC数据传输的MII/RMII/SNI接口Transmit BLOCK:数据发送模块,将从外部MAC(例如STM32ETH外设的MAC)接收......
  • 洛谷题单指南-贪心-P3817 小A的糖果
    原题链接:https://www.luogu.com.cn/problem/P3817题意分析:吃最少的糖果,保证相邻糖果数之和不大于x,需要某种贪心策略。解题思路:依次遍历相邻两盒糖果如果糖果数之和大于x,必须要吃点一部分,使得糖果数之和刚好等于x贪心策略是:优先吃后一盒糖果,因为这样可以更利于后续的判断成立......
  • 基于STM32F407MAC与DP83848实现以太网通讯一(STM32以太网(ETH)外设)
    STM32F4xx可以通过以太网按照IEEE802.3-2002标准发送和接收数据。支持与外部物理层(PHY)相连的两个工业标准接口:默认情况下使用的介质独立接口(MII)(在IEEE802.3规范中定义)和简化介质独立接口(RMII)。具体的以太网(ETM)特性参考:STM32F4xx中文参考手册这里将重要的地方进......
  • Jenkins CLI 任意文件读取漏洞(CVE-2024-23897)复现
    0x00漏洞简介Jenkins是一款基于JAVA开发的开源自动化服务器。Jenkins使用args4j来解析命令行输入,并支持通过HTTP、WebSocket等协议远程传入命令行参数。在args4j中,用户可以通过@字符来加载任意文件。这一特性存在安全风险,攻击者可以利用它来读取服务器上的任意文件。0x01影响......
  • day38 动态规划part1 代码随想录算法训练营 746. 使用最小花费爬楼梯
    题目:746.使用最小花费爬楼梯我的感悟:哈哈,我居然自己独立写出来了,确实,只要定义定清楚了,哪怕定的含义只有自己能看懂,只要定义一致就可以求出解决来!!!我真是个大天才!!理解难点:听课笔记:代码示例:classSolution:defminCostClimbingStairs(self,cost:List[int])->int:......