FPGA学习笔记(四)——一些代码设计规范

时序逻辑和组合逻辑的写法时序逻辑的敏感信号必须是(posedge clk or negedge rst_n)组合逻辑的写法always@(*)值允许使用always,不用assign一个always里面只允许设计一个输出,但可以有多个输入。注意要点:a.组合逻辑不能作为时钟、复位信号;b.组合逻辑一定要写else,避免生成锁存器。begin end以及信号的对齐always、条...
摘要由CSDN通过智能技术生成

时序逻辑和组合逻辑的写法

  1. 时序逻辑的敏感信号必须是(posedge clk or negedge rst_n)
  2. 组合逻辑的写法always@(*)
  3. 值允许使用always,不用assign
  4. 一个always里面只允许设计一个输出,但可以有多个输入。
    注意要点:a.组合逻辑不能作为时钟、复位信号;b.组合逻辑一定要写else,避免生成锁存器。

begin end以及信号的对齐

  1. always、条件之间,必须要加begin和end
  2. begin统一写在括号后面,end与begin一行开始处对齐,内部内容缩进4格。
  3. 模块的信号定义对齐,包括类型、位宽定义、信号名等的对齐。

信号大小写

  1. 参数、宏定义大写,信号小写

时钟及复位信号

  1. 一个模块只使用一个时钟,该模块中,任何的时序逻辑敏感信号中的时钟,必须为该时钟。名称默认clk

  2. 禁止使用计数器分频后的信号做其他模块的时钟,如果使用,要改成时钟使能的方式。
    复位信号默认低电平有效,名称为rst_n

reg,wire类型的使用

  1. reg常用来表示用于always模块内的指定信号的类型,常代表触发器,在always里面赋值的信号都必须定义为reg类型。
  2. wire类型的信号表示线,常用于模块的实例化等
    注:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
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的功能和性能。这些过程需要理论知识和实践经验的结合,希望这些笔记能够给你提供一些参考和指导。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值