zoukankan      html  css  js  c++  java
  • verilog学习笔记(1)_两个小module

    第一个小module-ex_module

    module ex_module(
    		input wire sclk,//声明模块的时候input变量一定是wire变量
    		input wire rst_n,//末尾带有_n或者_b代表低电平有效
    		input wire [7:0] d,
    		output reg [7:0] q//明模块的时候output变量可以是wire变量,也可以是reg变量 //reg变量必须在always块里赋值
    );
    //异步D触发器
    always@(posedge sclk or negedge ret_n)//括号内为敏感列表 电平触发或者沿触发 此处为沿触发
    	if(rst_n == 1'b01)//条件表,这里是组合逻辑
    		q <= 8'h00	//16进制 1个符号代表4个比特 //沿触发的逻辑里边一定都用<=非阻塞赋值
    	else q <= d;
    
    //同步D触发器
    always@(posedge sclk)
    	if(rst_n == 1'b0)
    		q <= 8'h00;
    	else
    		q <= d;
    endmodule
    

    第二个小module-

    module ex_wire(
    		input wire sel,
    		input wire a,
    		input wire b,
    		output wire c
    );
    //wire 变量一定用assign 连续赋值语句赋值,且必须用阻塞赋值
    //assign c = (条件)?a:b;//条件满足执行a,否则执行b
    assign c = (sel == 1'b1)? a : b;//a,b可以为reg变量,c一定为wire变量
    endmodule
    
    
  • 相关阅读:
    Jmeter学习总结
    WABAPI使用
    EF 学习笔记
    WCF学习笔记
    MVC学习笔记
    IIS使用问题
    CSS学习笔记
    Rotate Image
    Two Sum
    野指针及c++指针使用注意点
  • 原文地址:https://www.cnblogs.com/maskerk/p/7367366.html
Copyright © 2011-2022 走看看