注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
硬之城 https://home.eeworld.com.cn/space-uid-771381.html [收藏] [复制] [分享] [RSS] 硬之城是电子元器件商城,超过600+原厂和代理商入驻,100%原装正品。http://www.allchips.com
日志

分享FPGA经验

已有 725 次阅读2017-4-24 15:19

FPGA 语言verilog 和VHDL
讲到FPGA语言就不得不讲verilog 和VHDL
本人大学学的是VHDL,工作就一直在用VHDL
我觉得veilog更接近底层,关键是更接近C,所以被FPGA工程师所喜欢
HDL特别是Verilog HDL得到在第一线工作的设计工程师的特别青睐,不仅因为HDL与C语言很相似,学习和掌握它并不困难,更重要的是它在复杂的SOC的设计上所显示的非凡性能和可扩展能力。 在学习HDL语言时,笔者认为先学习VerilogHDL比较好:一是容易入门;二是接受Verilog HDL代码做后端芯片的集成电路厂家比较多,现成的硬核、固核和软核比较多。
实现起来
veilog更容易实现
比如说要例化多个模块,我们就可以用for语句,并且这个是可综合的
我们在申明总线时,由于比较繁琐的语句的时候,稍不注意还会有书写错误
也许在veilog里面,只需要一个for语句就能搞定
begin : loop
integer i;
for(i = 0; i <= 7; i = i + 1)
begin
            if(int_stat_clr ==1)
                 int_stat   <= 0 ;
              end
end // block: loop71
这就话的意思就是如果stat_clr寄存器某一位为1,那么相对应的stat下面的一位就为1,这样写是不是很简单.
说说wire 和reg的区别
    我们可以说reg相当于存储单元,wire相当于物理连线,但是新学FPGA的会问,存储单元是什么,其实说白了就是D触发器,有人问D触发器是什么,我晕,兄弟,学习数电的时候是不是一直在睡觉,有木有啊!
如果还是搞不明白,那你可以这么认为,wire相当于物理连线,就当与铜丝,PCB板子的走线,reg相当于芯片。wire走线延时小,几乎可以忽略不计。reg一个时钟的延时,这样就够了。
    赋值:
    wire对应的是assign,always,reg对应的always或者initial。
    例如:
    assign a = b ;把b点和a点相连接
    always @(b)
    a =b ;
       表示变化出发
      always @(posedge clk)
    a<=b ;
       把b线经过一级D触发器给a
      可以看出
这时:
1、wire型的变量综合出来一般是一根导线;
2、reg变量在always块中有两种情况:
(1)、always后的敏感表中是b 形式的,也就是不带时钟边沿的,综合出来还是组合逻辑
(2)、always后的敏感表中是(posedge clk)形式的,也就是带边沿的,综合出来一般是时序逻辑,会包含触发器(Flip-Flop)

FPGA用的所有的信号赋值都是wire 和 reg ;
学会了这两个也就掌握了FPGA的基本

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册