没有合适的资源?快使用搜索试试~ 我知道了~
首页verilog 两种方法实现 除法器
verilog 两种方法实现 除法器

基于verilog的两种方法(算法),实现的除法器,可在modelsim和总和软件中总和验证
资源详情
资源评论
资源推荐

第一部分
一、 实验目的与要求:
用 verilog 语言编写出一个除法器的代码,并在 modelsim
中进行功能仿真,认真的完成实验报告。
二、 实验设备(环境)及要求:
在 modelsim 环境下编写代码与测试程序,并仿真;
在 synplify pro 下编译,设置硬件并综合。
三、 实验内容及步骤:
1、 选择除法器的算法,本实验开始采用的是减法实现
除法器的例子(比如十进制中的 a/b,可先比较 a 与
b 的大小,如果 a>b,则商加 1,a<=a-b,再进行比较大
小,直到 a<b,商不变,余数为 a);
2、 选 择 好 算 法 , 进 行 verilog 语 言 编 程 , 再 写 好
testbench 并进行编译与功能仿真;
3、 在中进行初步综合;
4、 完成实验报告;
四、实验结果及数据处理:

仿真结果与 verilog 代码及 synplify 综合电路:
仿真结果与 verilog 代码
1、仿真结果:

2、Verilog 原代码:
module divider(dividend,divisor,clk,rst,quotient,reminder);
// 端口申明 //
input [7:0]dividend;
input [3:0]divisor;
input clk;
input rst;
output [7:0]quotient;
output [7:0]reminder;
// 定义寄存器 //
reg [7:0]q;
reg [7:0]r;
reg [7:0]d;
reg [7:0]quotient;

reg [7:0]reminder;
reg [1:0]state;
// 定义参数 //
parameter S0=0;
parameter S1=1;
parameter S2=2;
always@(posedge clk or negedge rst)
begin
if(!rst)
begin
q<=0;
d<=0;
r<=0;
quotient<=0;
reminder<=0;
state<=0;
end
else
begin
case(state) /*synthesis full_case*/
S0:
剩余16页未读,继续阅读


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1