当前位置: 首页 > news >正文

网站系统维护一个月正常吗怎么进行seo

网站系统维护一个月正常吗,怎么进行seo,建设网站的优点跟缺点,郴州建设公司网站导读: 本文将完整演示基于systemC编写一个全加器的测试平台。具体内容包括:激励平台,监控平台,待测单元的编写,波形文件读取。 1,main函数模块 搭建一个测试平台主要由:Driver, Monitor, DUT(design under …

导读: 本文将完整演示基于systemC编写一个全加器的测试平台。具体内容包括:激励平台,监控平台,待测单元的编写,波形文件读取。

1,main函数模块

        搭建一个测试平台主要由:Driver, Monitor, DUT(design under test)几个模块,以及一个main文件来启动和连接它们。

        如下main函数,

1)首先声明了全加器需要的5个输入输出信号sc_signal <bool> t_a, t_b, t_cin, t_sum, t_cout。

这些信号是把Driver, Monitor, full_adder几个模块连起来的重要接口,比如driver把数据不断的传给t_a, t_b, t_cin,然后full_adder对这3个信号敏感,产生结果信号传给t_sum, t_cout,而monitor对所有的5个信号都敏感,不断监控它们的变化情况; 

2)创建了full_adder,monitor, driver的3个实例,并把它们各自需要的信号接口传给自己的实例。等于把信号接口都连接起来了。

3)创建了波形记录文件的实例。在这里定义波形文件里会保存的信号名字。

4)设定仿真时间,开启仿真。

        主函数main文件full_adder_main.cpp如下:

#include "full_adder_driver.h"
#include "full_adder_monitor.h"
#include "full_adder2.h"int sc_main(int argc, char* argv[])
{sc_signal <bool> t_a, t_b, t_cin, t_sum, t_cout;full_adder2 f1("FullAdderWithHalfAdder");f1(t_a, t_b, t_cin, t_sum, t_cout);driver d1("GenerateWaveforms");d1(t_a, t_b, t_cin);monitor mo1("MonitorWaveforms");mo1(t_a, t_b, t_cin, t_sum, t_cout);if(!mo1.outfile){cerr << "ERROR: Unable to open output file," << "full_adder.out!\n";return(-2);}sc_trace_file *tf = sc_create_vcd_trace_file("full_adder");sc_trace(tf, t_a, "A");sc_trace(tf, t_b, "B");sc_trace(tf, t_cin, "CarryIn");sc_trace(tf, t_sum, "Sum");sc_trace(tf, t_cout, "CarryOut");sc_start(100, SC_NS);sc_close_vcd_trace_file(tf);return 0;}

2,DUT函数模块

全加器的设计模块文件full_adder2.h如下:

#include "systemc.h"SC_MODULE(full_adder2){sc_in<bool> a, b, carry_in;sc_out<bool> sum, carry_out;void full_addr_prc();SC_CTOR(full_adder2){SC_METHOD(full_addr_prc);sensitive <<a <<b <<carry_in;}};void full_adder2::full_addr_prc()
{sum = a^b^carry_in;carry_out = a & carry_in | b & carry_in | a &b;}

3,Driver函数模块

激励模块文件full_adder_driver.h如下:

#include <iostream>
#include <fstream>
#include "systemc.h"SC_MODULE(driver){sc_out <bool> d_a, d_b, d_cin;ifstream infile;void driver_prc();SC_CTOR(driver){SC_THREAD(driver_prc);infile.open("../data/full_adder_driver_data.in"); //the data path is right when you are running exec program in 'build' folder.if(!infile){cerr << "in driver, Error: Unable to open vector file, full_adder_driver_data.in! \n";sc_stop();}}~driver(){infile.close();}};void driver::driver_prc(){bool t_a, t_b, t_cin;while(infile >> t_a >> t_b >> t_cin){d_a.write(t_a);d_b.write(t_b);d_cin.write(t_cin);wait(5, SC_NS);}}

激励数据文件full_adder_driver_data.in

1 1 0
1 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
1 1 0
1 0 1
1 0 0
0 1 1
0 1 0
0 0 1
0 0 0

 

4,Monitor函数模块 

监测模块文件full_adder_monitor.h如下:

#include <iostream>
#include <fstream>
#include "systemc.h"SC_MODULE(monitor){sc_in<bool> m_a, m_b, m_cin, m_sum, m_cout;ofstream outfile;void monitor_prc();SC_CTOR(monitor){SC_METHOD(monitor_prc);sensitive << m_a << m_b << m_cin << m_sum << m_cout;outfile.open("full_adder.out"); //the out file can be find in your exec program folder path.}~monitor(){outfile.close();}};void monitor::monitor_prc()
{outfile << "At time: " << sc_time_stamp() <<"::";outfile <<"(a, b, carry_in): ";outfile << m_a << m_b << m_cin;outfile << " (sum, carry_out): " << m_sum << m_cout << "\n";}

 5,测试程序执行演示

1,需要你自己提前配置好SystemC的相关库。

2,将上面4个文件写好,并编译通过,生成一个可执行文件。

3,执行文件,生成full_adder.vcd和输出full_adder.out文件

注意点:

1, 在driver模块中,SC_THREAD(driver_prc)这里要用SC_THREAD,而不能用SC_METHOD,因为里面有while语句,需要程序能够挂起,如果用SC_METHOD则monitor只能执行一次。

2,如果激励数据从文件中读取,需要注意文件路径是否正确。比如main函数里定义了full_adder.out是在执行程序的路径,在driver文件里定义了激励输入文件的路径("../data/full_adder_driver_data.in"),需要确认自己的路径是否正确。

6,仿真波形记录文件读取

        可以通过安装gtkwave来查看生成的波形文件,如下是linux下安装和打开波形文件:

sudo apt-get install gtkwavegtkwave full_adder.vcd

http://www.15wanjia.com/news/7514.html

相关文章:

  • 网站方案范文seo搜索优化公司排名
  • 普陀网站开发培训学校百度销售系统登录
  • 做网站赚钱吗 怎么赚钱网络优化工程师简历
  • 在网站做专题百度推广怎么优化
  • 建设网站的工作总结seo排名优化厂家
  • 网站公安备案怎么备案关键词seo排名怎么选
  • 做网站开发多少钱seo排名优化有哪些
  • app设计思路合肥网络优化推广公司
  • 用路由侠做网站东莞网络推广托管
  • 哪些专门做批发的网站有哪些微信如何引流推广精准加人
  • phpcms v9漏洞网络seo是什么意思
  • 做网站备负责人风险大吗百度竞价排名叫什么
  • 成都免费建网站海外推广代理公司
  • 织梦网站建设博客百度电话人工服务
  • 备案通过 网站打不开免费建设网站平台
  • 网站颜色产品推广方法有哪些
  • 工业企业网站建设也的意义郑州seo使用教程
  • 网站建设系统怎么样电商卖货平台有哪些
  • 网站制作需求文档百度一下你就知道了百度
  • 建设厅网站上企业登录广州seo好找工作吗
  • 网站综合开发怎么做手机制作网页
  • 政府网站建设进度互联网广告价格
  • 网上那个网站做席子批发怎样在百度上打广告
  • 青岛永诚网络有限公司厦门seo关键词
  • 网站公司如何推广网站惠州seo优化
  • 西宁网站建设优化营商环境的措施建议
  • 嘉兴seo报价seo优化网络公司
  • 视频直播网站怎么做软文代写接单平台
  • 网站挂马怎么办网址收录查询
  • 网页设计自学网站seo免费工具