当前位置:   article > 正文

quatrus_quartus nmos

quartus nmos

1,下载安装quartus:

   因为后期使用quartus时候需要用到相应的器件,所以在要将相应的器件包(比如cyclone等)提前下载好,然后和安装软件放在一个目录下,然后点击quartus安装软件,开始下载。否则,等你下载完quartus,会发现找不到相应的器件,这个时候再安装器件包就很繁琐。以下是一些器件包:

 

1,FPGA是可编程逻辑门阵列,用于编辑门逻辑电路(and,or,xor,not或者是解码器,数学方程)

内部包含CLB可编程逻辑模块,输出输入模块IOB,以及内部连线;

FPGA采用查找表,内部是SRAM静态储存器,通过向FPGA内部的静态存储单元加载编程数据 实现逻辑控制。可以将 编程数据放置在flash芯片中,然后通过上电加载到FPGA中。由存放在RAM中的程序来设置工作状态,上电时,FPGA将EEPROM中是数据读入RAM,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失;

 

3,quatrus II 是FPGA的集成开发软件,含EDA接口,硬件描述语言编程环境,内部嵌由综合器,仿真器

4,开发流程:

    设计输入:添加原理图,或者添加编程语言,EDIF网表输入,波形输入 

    编译(compilation):

    仿真(simulation): 包括功能仿真,时序仿真,定时分析;

        仿真步骤:(1)新建波形编辑文件;(2)设置仿真时间区域 ,保存文件 (3)导入欲要观察的信号节点,编辑激励号;                             (4)设置数据格式,仿真器参数;(5)启动仿真;  

    验证:成功编译后,将编程文件下载到FPGA系统中调试,调试成功后,烧写到FPGA的配置芯片中。用得到的编程文件通过编程电缆配置PLD,加入实际激励。

5,verilog HDL和VHDL是硬件描述语言。verilog HDL包含两种数据类型:线网数据类型(构件间的物理连线),寄存器类型(抽象的数据存储元件)

6,编码器:

    (1)检测编码周期是否开始;(2)进行输入数据的曼彻斯特编码 (3)产生奇偶校验位并对其进行编码;

曼彻斯特编码是将NRZ二进制数据与其位率时钟信号相异或而得,保证每个码元周期占用一个位率时钟信号周期。

位率时钟信号下降沿时和NRZ异或相当于0,上升沿相当于1;

   这四个模块进行分析:

         发送信号电平沿检测模块:用于检测mfs信号上升沿,当检测到上升沿使能信号clk1x_en,程序:

   always @(posedge clk16x or negedge rst)

   begin

    if(!rst )

      begin 

           mfs <= 1' b0;

            mfs <=1' b0;

       end

       else

         begin 

             mfs <=mfs1;

              mfs1<=mfs;

          end

     end

 时钟分频模块:当检测到上升沿后,使能时钟信号clk1x_en。当数据发送完毕,失能clk1x_en;其中含有16位时钟分频,将clk16x经16分频得到clk1x。程序如:

  always @(posedge clk16x or negedge rst)

begin

   if( !rst)

         clk1x_en <=1'b0;

        else if( mfs1==1'b1&&mfs2==1'b0)  //检测到mfs上升沿时是能ckl1x_en

       clk1x_en <= 1'b1;

     else if (bit_cont==4'b1011)  //当数据发送完成时,失能clk1x_en

         clk1x_en  <= 1'b0;

  end

//16时钟分频

  always @(posedge clk16x or neegedge rst)

begin 

  if (!rst)

         clkdiv <= 4 'b0000;

 else if (clk1x_en==1'b1)

    clkdiv <=clkdiv+ 1'b1; //16分频计数

   else  

         clkdiv <=  4'b0000;

 end 

assign  clklx = clkdiv[3] ;  //clk16x经16分频的单倍时钟clk1x,

数据位发送计数模块根据时钟信号发送数据给编码器,达到同步,并同时技术。

曼彻斯特编码模块,当检测到mfs上升沿时,将mdata数据送到mbuf缓存。一次发送11位,其中编码头3位,时111,8位数据位,1位校验位;

7,解码器:

 解码器分为,曼彻斯特信号电平沿检测模块,时钟分频模块,曼彻斯特解码模块;

8,verilog HDL语言简单了解:

module mux2_1(a, b, s, y); //模块名、模块接口名
    input a, b, s;        // 定义输入端口
    output y;              // 定义输出端口

    /* s为0时,选择a输出;
        s为1时,选择b输出。*/  
    assign y = (s == 0) ? a : b;  //输出信号
endmodule
 

not(ns, s);//这里使用了一个非门,输出是ns,输入是s
    and(as, a, ns);//使用一个与门,输出as,输入a和ns
    and(bs, b, s);//使用与门,输出bs,输入b和s
    or(y, as, bs);//使用或门,输出y,输入as和bs
reg y; //reg 表示寄存器

顺序块的格式如下:

begin

语句1;

语句2

......

end

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/663630
推荐阅读
相关标签
  

闽ICP备14008679号