⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csa7.v

📁 《数字信号处理的FPGA实现》代码
💻 V
字号:
//*********************************************************
// IEEE STD 1364-1995 Verilog file: cas7.v 
// Author-EMAIL: Uwe.Meyer-Baese@ieee.org
//*********************************************************
//      7 bit carry save adder with register

//`include "220model.v"

module csa7 (a, b, clock, s, c);

  input  [6:0] a, b;
  input       clock;
  output [6:0]    s;
  output          c;

  wire [6:0]    r;  // Result adder
  wire         cr;  // Carry register

  wire  clkena, ADD, ena, aset, sclr, sset, aload, sload, 
                clk, aclr, ovf1, cin1; // Auxiliary signals

  assign ena=1; assign aclr=0; assign aset=0; assign sclr=0; 
                                          // Default for FF
  assign sset=0; assign aload=0; assign sload=0; 
  assign clkena=0; assign cin1=0; assign aclr=0; 
  assign ADD=1; assign clk=0;           // Default for add

  lpm_add_sub #(7) add_1                // Add a and b
  ( .result(r), .dataa(a), .datab(b), .cout(cr), // Used 
  .add_sub(ADD),.overflow(ovl1), .clken(clkena), 
  .cin(cin1), .clock(clk), .aclr(aclr)); // Unused ports 
//    defparam add_1.lpm_width = 7;
//    defparam add_1.lpm_direction = "add";

  lpm_ff #(7) reg_1          // Save a+b
  ( .data(r), .q(s), .clock(clock),  // Used ports
  .enable(ena), .aclr(aclr), .aset(aset), .sclr(sclr), 
  .sset(sset), .aload(aload), .sload(sload)); // Unused 
//    defparam reg_1.lpm_width = 7;

  lpm_ff #(1) reg_2         // Save carry
  ( .data(cr), .q(c), .clock(clock),  // Used ports
  .enable(ena), .aclr(aclr), .aset(aset), .sclr(sclr), 
  .sset(sset), .aload(aload), .sload(sload)); // Unused 
//    defparam reg_2.lpm_width = 1;

endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -