FPGA学习(一)——模块

模块由两部分组成,一部分描述接口,另一部分描述逻辑功能(可以类比软件程序中的函数由数据加算法组成),逻辑功能定义输入怎么影响输出。
1、模块端口定义
module 模块名(口1,口2,口3,口4,……);
口1,口2,口3,口4,……表示模块的输入和输出名。
引用模块时其端口可以用两种方法连接
(1)严格按照模块定义的端口顺序连接
模块名(连接端口1信号名,连接端口2信号名,连接端口3信号名,……)
(2)用“.”符号,表明模块是定义时规定的端口名
模块名(.端口1名(连接信号1名),端口2名(连接信号2名),……)
例如:MyDesignMK M1(.sin(SerialIn),.pout(ParallelOut),……)
2、模块内容
模块内容包括I/O说明、内部信号声明和功能定义
(1)I/O说明的格式
输入口: input[信号位宽-1:0] 端口名1;
输出口: output[信号位宽-1:0]端口名1;
输入输出口: inout[信号位宽-1:0]端口名1;
I/O说明也可以写在端口声明语句里。例如:
module module_name(input port1,input port2,……output port1,output port2,……);
(2)内部信号说明
在模块内用到的和与端口有关的wire和reg类型变量的声明。
如:
reg[width-1:0]R变量1,R变量2……;
wire[width-1:0]W变量1,W变量2……;
(3)功能定义
有三种方法
(1)用“assign”声明语句 如:assign a = b & c;
(2)用实例元件 如:and # 2 ul(q,a,b);
这表示在设计中用到一个跟与门一样的名为u1的与门,其输入端为a,b,输出为q。输出延迟为两个单位时间。要求每个实例元件的名字必须是唯一的,以避免与其他调用与门的实例混淆。
(3)用“always”块, 如:
always @(posedge clk or posedge clr);
begin
if(clr) q <= 0;
else if(en) q <= d;
end
“assign”是描述组合逻辑最常用的方法之一。而“always”既可用于描述组合逻。也可描述时序逻辑。
用Verilog模块实现一定的功能,首先应该清楚哪些是同时发生,哪些是顺序发生。
像用上面的三个关键字写的模块在一个Verilog文件中,这些模块同时执行,也就是并发。
但是“always”模块内,逻辑是顺序执行,所以“always”也称为“过程块”。
3、要点总结
(1)Verilog模块中所有过程块、连续赋值语句、实力引用都是并行的
(2)他们表示的是一种通过变量名互相连接的关系

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FPGA自学笔记——设计与验证JMB FPGA(可编程逻辑门阵列)是一种可编程的硬件平台,可以实现各种数字电路的设计与验证。本文将简要介绍使用FPGA自学设计与验证JMB(低功耗、高效能、集成度高的多媒体芯片)的过程。 首先,我们需要了解JMB的功能和特性。JMB是一种面向多媒体应用的芯片,具备低功耗、高效能和高集成度的优势。我们需要详细研究JMB的硬件架构和内部模块,包括处理器核、存储器模块、图像和音频处理模块等。 接下来,我们可以使用FPGA开发板来设计和验证JMB。首先,我们需要熟悉FPGA设计工具,例如Vivado或Quartus等。这些工具提供了图形化界面和硬件描述语言(HDL)等设计方法。我们可以使用HDL编写JMB的功能模块,并将其综合为FPGA可执行的位流文件。 在设计完成后,我们需要验证JMB的功能和性能。我们可以使用仿真工具(例如ModelSim或ISE Simulator)来模拟JMB在不同情况下的行为。通过设计测试程序并运行仿真,我们可以验证JMB的各个模块是否正确地工作,是否满足设计要求。 在验证完成后,我们可以将位流文件下载到FPGA开发板中进行智能芯片的物理实现和测试。通过与外部设备的连接以及相关测试程序的运行,我们可以验证JMB在实际硬件中的功能和性能。 总结起来,学习FPGA设计与验证JMB,我们需要熟悉JMB的硬件架构和内部模块,并使用FPGA开发工具进行设计与验证。通过仿真和物理实现测试,我们可以验证JMB的功能和性能。这些过程需要理论知识和实践经验的结合,希望这些笔记能够给你提供一些参考和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值