原创 cordic 算法的仿真modesim

2009-4-17 21:37 3505 11 12 分类: FPGA/CPLD
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date:    09:39:47 04/17/2009
// Design Name:
// Module Name:    cordic_testbench
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module testbench();
reg        clk    ;
reg        rst_n  ;
reg  [7:0]  sita   ;
wire [7:0]  sina   ;
wire [7:0]  cosa   ;
wire [7:0]  eps    ;
reg [7:0]  mem[0:255];
integer    i;
cordic u_cordic(.clk(clk),.rst_n(rst_n),.ena(1'b1),.phase_in(sita),.sin_out(sina),.cos_out(cosa),.eps(eps));
initial
begin
    clk = 1'b0;
    forever clk =#5 ~clk;
end
initial
begin
    rst_n = 1'b1;
    #5 
    rst_n = 1'b0;
    #5
    rst_n = 1'b1;
end   
always @(posedge clk or negedge rst_n)
begin
        if(rst_n == 1'b0)
           sita=8'd0;
        else
           sita=sita +8'd1;   
end
endmodule
点击看大图
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户222327 2009-5-2 09:47

请教楼主,您前面的cordic实现代码中,关于ATAN以及初始的X0的值,究竟是怎么转换的?最终得出的是指的扩展整型数据么? 如果要求输入的角度是浮点型的话,该如何处理呢?感谢!!!!
相关推荐阅读
用户146077 2009-11-07 20:08
Pi 数值积分C语言算法
一个计算Pi的程序用的是数值积分算法#include <math.h>#include <stdio.h>double f(double x);main(){int     i...
用户146077 2009-05-30 13:54
锁存器 寄存器
第一个是锁存器第二个是寄存器,用两个锁存器组成锁存器aways@(*)beginif(b == 1'b1) c =  a ;end寄存器always @(posedge clk or negedge ...
用户146077 2009-04-09 21:24
用加法器实现减法器!
正整數減法與減法器在二進數目系統中,若一整數的最高有效位元(MSB)不是拿來區分正數或負數,那麼此數只能表達為正整數,關於正整數的減法想要用加法來做,首先得建立一個補數(complement)的觀念,...
用户146077 2008-12-31 20:55
FIFO
读地址产生写地址产生状态信息...
用户146077 2008-12-31 20:43
时序分析基础
幻灯片 3  电路设计的难点在时序设计,而时序设计的实质就是满足每一个触发器的建立/保持时间的要求。 Setup Time(Ts):触发器建立时间。即要求数据端信号在时钟信号触发沿到来之前提前到达的最...
EE直播间
更多
我要评论
1
11
关闭 站长推荐上一条 /3 下一条