FPGA学习笔记(一)

FPGA概论

Soc:System on chip 片上系统

Sob:System on board 板上系统

Zynq=Arm+FPGA

特点:开发周期短、高性能、高灵活性

verilog

Module muxtwo(out,a,b,sl);

Input a,b,sl;

Output out;

Not u1(nsl,sl);

And #1 u2(sela,a,nsl);

And #1 u3(selb,b,sl);

Or #1 u4(out,sela,selb);

模块的端口定义:

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

output [ width-1 : 0 ] name 2;

inout [width-1 :0 ] name 3;  //输入输出口

内部信号:

reg [width-1 : 0 ] R1, R2 ;

wire [ width-1 : 0 ] W1,W2;

声明语句:

assign a = b & c ;

and #2 u1 (q a b ) ;     //  q=a&b   该与门名称为u1

always@ ( posedge clk or posedge clr );

begin

if( clr ) q<=0 ;

else if ( en )q <= d ;

end

// ???

 verilog中所有块都是并行的

4个最基本的数据类型:reg wire integer parameter

8'b10101000  //位宽为8的二进制数

'前的位宽都指的是二进制数的位宽

寄存器类型和线网类型都可以映射到实际的电路中去

reg类型默认的初始值为不定值x

reg没给定位宽时,默认位宽为1

reg类型数据只能在always和initial语句中被赋值

参数其实是一个常量,用parameter定义

每个参数定义的右边必须是一个常数表达式

用于定义状态机的状态、数据位宽、延迟大小等

运算符:+ - * / %

条件操作符:

a?b:c //如果a为真,选择b,否则选择c

位运算符:

~   &   |   ^

取反、与、或、异或

将a与b的低四位拼接起来:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值