草庐IT

FPGA NCOip核的使用及仿真(quartusii 13.1+modelsimse 10.5)

机械 zp 2023-06-22 原文

介绍了13.1版本的quartus中的NCOip核的破解、使用和仿真功能

文章目录


前言

本文主要还介绍了13.1版本的quartus中的NCOip核的破解、使用仿真功能。适合正点原子开拓者等相同芯片系列产品的参考。


提示:以下是本篇文章正文内容,下面案例可供参考

一、quartus ip核

  使用nco ip核之前先要确认nco的ip核是否可用,可以通过quartus 的tool-license setup界面确认,可以正常使用的quartus如下:

使用nco、fft等ip核卡住的情况也是由于ip核没有购买导致,需要先得到许可,才可使用。

二、NCO ip核的使用

1. 首先调用NCO ip核

 创建一个新的ip核,名称命名为ip_nco

参数设置界面:(代码生成的是4.5khz,读者可自行修改输出频率,并在代码中修改,phi_inc_i)

执行栏,频率调制和相位调制取消勾选,输出数量选择1,最后一栏不需要修改,

 step2:两个都要勾选,语言注意是:verilog HDL,然后点击生成即可。

完成后可以看到file栏,存在ip_nco.qip文件,ip核栏也显示ip核,我们可以双击这个ip核来完成参数的修改并重新生成。

2.  nco的例化

代码如下:

module nco(
		input                         sys_clk   ,//系统时钟
		input                         sys_rst_n ,//系统复位 低电平有效
		output     wire [9:0]         sin1      ,//4.5khz正弦波
		output                        sin1_vld   //数据输出有效标志
);

wire    [9:0]  sin1_do; 
assign  sin1 = sin1_do;
ip_nco     u_ip_nco
   (
			.clk                         ( sys_clk    ),
			.reset_n                     ( sys_rst_n  ),
			.clken                       ( 1'b1       ), //使能信号
			.phi_inc_i                   ( 32'd386547  ), //相位累加器K值
			.fsin_o                      ( sin1_do    ),
			.out_valid                   ( sin1_vld   )
    );
endmodule

仿真代码:

`timescale 1ns/1ns

module  tb_nco();

reg     sys_clk     ;
reg     sys_rst_n   ;

wire    [11:0]   sin1 ;
wire             sin1_vld      ;

initial
    begin
        sys_clk = 1'b1;
        sys_rst_n   <=  1'b0;
        #20
        sys_rst_n   <=  1'b1;
    end

always #10 sys_clk = ~sys_clk;

nco  nco_inst(

    .sys_clk       (sys_clk),
    .sys_rst_n     (sys_rst_n),

    .sin1          (sin1) ,
    .sin1_vld      (sin1_vld)


);

endmodule

 注意:将代码文件添加到工程后要先编译,找到ip核目录下的.vo文件,并添加到工程中才能仿真成功。

 3、 联合仿真

RTL VIewer如下:

 modelsim:波形如下:

总结

机械自学转FPGA,后续还会讲一下nco配合fir滤波器的使用,希望大家点个赞,共同学习!

有关FPGA NCOip核的使用及仿真(quartusii 13.1+modelsimse 10.5)的更多相关文章

  1. ruby - 安装libv8(3.11.8.13)出错,Bundler无法继续 - 2

    运行bundleinstall后出现此错误:Gem::Package::FormatError:nometadatafoundin/Users/jeanosorio/.rvm/gems/ruby-1.9.3-p286/cache/libv8-3.11.8.13-x86_64-darwin-12.gemAnerroroccurredwhileinstallinglibv8(3.11.8.13),andBundlercannotcontinue.Makesurethat`geminstalllibv8-v'3.11.8.13'`succeedsbeforebundling.我试试gemin

  2. 由于 libgmp.10.dylib 的问题,Ruby 2.2.0 无法运行 - 2

    我刚刚安装了带有RVM的Ruby2.2.0,并尝试使用它得到了这个:$rvmuse2.2.0--defaultUsing/Users/brandon/.rvm/gems/ruby-2.2.0dyld:Librarynotloaded:/usr/local/lib/libgmp.10.dylibReferencedfrom:/Users/brandon/.rvm/rubies/ruby-2.2.0/bin/rubyReason:Incompatiblelibraryversion:rubyrequiresversion13.0.0orlater,butlibgmp.10.dylibpro

  3. ruby - ri 有空文件 – Ubuntu 11.10, Ruby 1.9 - 2

    我正在运行Ubuntu11.10并像这样安装Ruby1.9:$sudoapt-getinstallruby1.9rubygems一切都运行良好,但ri似乎有空文档。ri告诉我文档是空的,我必须安装它们。我执行此操作是因为我读到它会有所帮助:$rdoc--all--ri现在,当我尝试打开任何文档时:$riArrayNothingknownaboutArray我搜索的其他所有内容都是一样的。 最佳答案 这个呢?apt-getinstallri1.8编辑或者试试这个:(非rvm)geminstallrdocrdoc-datardoc-da

  4. ruby-on-rails - gem install rmagick -v 2.13.1 错误 Failed to build gem native extension on Mac OS 10.9.1 - 2

    我已经通过提供MagickWand.h的路径尝试了一切,我安装了命令工具。谁能帮帮我?$geminstallrmagick-v2.13.1Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingrmagick:ERROR:Failedtobuildgemnativeextension./Users/ghazanfarali/.rvm/rubies/ruby-1.8.7-p357/bin/rubyextconf.rbcheckingforRubyversion>=1.8.5...yescheckingfor/

  5. ruby - 安装 tiny_tds 在 mac os 10.10.5 上出现错误 - 2

    我正在使用macos,我想使用ruby​​驱动程序连接到sqlserver。我想使用tiny_tds,但它给出了缺少free_tds的错误,但它已经安装了。怎么能过这个?~brewinstallfreetdsWarning:freetds-0.91.112alreadyinstalled~sudogeminstalltiny_tdsBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtiny_tds:ERROR:Failedtobuildgemnativeextension.完整日志如下:/System

  6. ruby - rails 3.2.2(或 3.2.1)+ Postgresql 9.1.3 + Ubuntu 11.10 连接错误 - 2

    我正在使用PostgreSQL9.1.3(x86_64-pc-linux-gnu上的PostgreSQL9.1.3,由gcc-4.6.real(Ubuntu/Linaro4.6.1-9ubuntu3)4.6.1,64位编译)和在ubuntu11.10上运行3.2.2或3.2.1。现在,我可以使用以下命令连接PostgreSQLsupostgres输入密码我可以看到postgres=#我将以下详细信息放在我的config/database.yml中并执行“railsdb”,它工作正常。开发:adapter:postgresqlencoding:utf8reconnect:falsedat

  7. ruby-on-rails - 在 osx 10.9.3 上使用 RVM 安装 ruby​​-1.9.3-p547 时出错 - 2

    如何解决这个错误:$rvminstall1.9.3Searchingforbinaryrubies,thismighttakesometime.Nobinaryrubiesavailablefor:osx/10.9/x86_64/ruby-1.9.3-p547.Continuingwithcompilation.Pleaseread'rvmhelpmount'togetmoreinformationonbinaryrubies.Checkingrequirementsforosx.Certificatesin'/usr/local/etc/openssl/cert.pem'arealr

  8. u盘安装系统(win10为例) - 2

    下载微PE工具箱进入官网下载微PE工具箱-下载 安装好后,打开微PE工具箱客户端,选择安装PE到U盘 PE壁纸可选择自己喜欢的壁纸,勾选上包含DOS工具箱,个性化盘符图标 下载原版系统进入网站下载镜像NEXT,ITELLYOU如果没有账号,注册一下就好进入选择开始使用选择win10 这里我们选择消费者版,用迅雷把BT种子下载下来 下面的两个盘符,是PE工具箱安装进U盘后,分成的盘符,注意EFI的盘符,这里面不能删东西,也不能添东西,另一个盘符可以当做正常的U盘空间使用,我们现在需要把下载下来的景象文件复制到正常的U盘空间中去 这个时候我们的系统U盘就只做好了 安装系统我们将U盘插入电脑,开机,

  9. ruby-on-rails - OSX 10.7.5 - Ruby on Rails LoadError : Could not open library 'sodium' : dlopen(sodium, 5) - 2

    输入rakedb:create后我得到:LoadError:Couldnotopenlibrary'sodium':dlopen(sodium,5):imagenotfound.Couldnotopenlibrary'libsodium.dylib':dlopen(libsodium.dylib,5):imagenotfound这里还有一些输出。/Users/Mao/.rvm/gems/ruby-2.0.0-p451/gems/ffi-1.9.3/lib/ffi/library.rb:133:in`blockinffi_lib'/Users/Mao/.rvm/gems/ruby-2.0

  10. ruby-on-rails - 如何使用 Xcode 4.5.1 在 OSX Lion 10.8.2 上编译 EventMachine gem - 2

    我找遍了所有我能找到的地方,但似乎找不到解决这个问题的办法。我在Lion10.8.2上使用Xcode4.5.1,并尝试为Rails项目运行bundle,但它一直卡在这上面。我正在为Heroku使用Thingem。Bolanos@Jeremys-Mac-mini⦿-1.9.3fishfarm$sudogeminstalleventmachinePassword:Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingeventmachine:ERROR:Failedtobuildgemnativeextens

随机推荐