名称:二进制除法器设计Verilog代码Quartus DE2-115开发板
软件:Quartus
语言:Verilog
代码功能:
数字运算系统
设计要求:用 ALTERA公司的 Quartus II[软件和DE2115开发板进行设计。
主要内容:
要求实现两个无符号二进制除法运算,并在七段数码管上进行显示。显示顺序依次是:(1)最高两个数码管显示被除数;(2)次高两个数码管显示除数;(3)次低两个数码管显示商;(4)最低两个数码管显示余数。要求使用移位和相减的方法实现。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在DE2-115开发板验证,DE2-115开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. Testbench
7. 仿真图
部分代码展示:
//除法模块 module Divider_8bit( input clk,//时钟 input div_en,//开始计算信号,为低电平开始 input [7:0] Divisor,//被除数 ,Divisor/dividend input [7:0] dividend,//除数 output [7:0] shang,//商 output [7:0] yushu//余数 ); wire [15:0] Divisor_extend;//扩展为16位 assign Divisor_extend={8'b00000000,Divisor}; parameter state_idle =3'd0;//空闲状态 parameter state_load = 3'd1;//加载被除数 parameter state_leftshift = 3'd2;//左移 parameter state_judge = 3'd3;//判断高位是否大于除数 parameter state_sub = 3'd4;//减去 parameter state_end = 3'd5;//结束 reg [2:0] state=3'd0; reg [15:0] data=16'd0; reg [2:0] shift_cnt=3'd0;//移位次数累计 reg [7:0] shang_reg=8'd0;//商 reg [7:0] yushu_reg=8'd0;//余数 always@(posedge clk) case(state) state_idle:begin shift_cnt<=3'd0; if(div_en==0)//加载被除数 state<=state_load; else state<=state_idle; end state_load:begin data<=Divisor_extend;//加载被除数 state<=state_leftshift; shift_cnt<=3'd0; end
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1186
阅读全文
857