集创赛FPGA自学记录_verilog代码框架

一、简介

利用直观换效率,利于逻辑优化电路

语言分为:VHDL和Verilog HDL。Verilog语言比较简单。(类比c和py?)

二、综合和仿真

语言描述硬件,软件为综合器。描述完用综合器对代码解释并转化为电路,即综合。

仿真器来仿真测试文件,用仿真器进行输入,看功能出来的信号是否为目标信号,即仿真。

程序映射成电路结构可实现,称之为可综合语法。反之,不可综合语法。

不可综合或不推荐使用的代码

de5f4342efc74233a1d9c3ea6b0ccf6d.png

推荐使用代码及说明

9656f87aac454b4396f820fcada84824.png

a305215ed7e1436db0391de51491062f.png

三、模块结构

模块化设计,小模块实现功能,顶层模块调用子模块。

端口定义(类比结构体)

关键词 module 表示模块名,内部定义端口,类比结构体的结构 

函数定义(类比宏定义)

关键词 parameter,类比 #define

思维差异:计算机思维是0开始,人的思维是1开始。如果是位宽为8,那么我们可以parameter cnt=8;在使用到它时换成[cnt-1 : 0](即0-7)

接口定义(类比函数类型定义)

输入端口:input[信号位宽-1 : 0] 端口名 1:

                     input[信号位宽-1 : 0] 端口名 2:

                        ......

输出端口:output[信号位宽-1 : 0] 端口名 1:

                     output[信号位宽-1 : 0] 端口名 2:

                        ......

输入端口:output[信号位宽-1 : 0] 端口名 1:

                     output[信号位宽-1 : 0] 端口名 2:

                        ......

信号类型(类比函数声明):

reg[width-1 : 0]   R变量1,R变量2......;        寄存器类型      仅在always设计的信号定义为reg

wire[width-1 : 0]   W常量1,W常量2......;     线网类型          其他定义为wire

默认值:wire类型,位宽为1

类比函数声明,使用函数前要用函数头申明,默认为void-void。

信号位宽:默认信号位宽1位(即1bit),位宽取决于信号表达的最大值,能表达2^n -1,n为位宽。例如:max为1000,n就得>=10。

                    可以在电脑的计算器的程序员模式下的十进制输入信号值(如1000)可查看

功能定义(语法):

通常用always和assign构成

模块例化:

【名字关联】

例:mdy u_mdy (

   .clk    (Clk),

   .rst    (Rst),

   .preset(   ),管脚悬空

        .......

);

左侧有"."符号的接口名为源文件的接口,右侧括号里为外部连接的信号

1328507963eb43fbb90c667f07a71b2a.png

99dc9ad1eed743ce8f1586057394e02f.png

 


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

 

  • 19
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值