实例介绍
说明: 大部分代码在Microsoft Visual Studio 6.0上编译通过,另有一些代码无法在个人电脑上使用,可以在工作站的Sun Solaris上编译通过。建议大家带着批评而不是崇拜的眼光来学习这些代码。 SystemC Core Language library 201是SystemC核心语言库,可以在个人电脑上运行。 SystemC MasterSlave Library201是SystemC核心Master/Slave库,可以在个人电脑上运行。 这两个库在运行前需要编译。 所有代码中的项目假设SystemC核心语言库安装于D:\Sc_lib\sc,如果你的不是,请按照《SystemC片上系统设计》第一章的叙述修改路径。 所有代码中的项目中的systemc.lib根据你的电脑上的systemc.lib的路径对其路径进行修改,一般是先删除项目中的systemc.lib,然后重新添加。
【实例截图】
【核心代码】
4744300845384150639.zip
└── SystemC片上系统设计源代码
├── Chapter1
│ ├── 1_10_Nand2WithWaveTracing
│ │ ├── Nand2
│ │ │ ├── main.cpp
│ │ │ ├── Nand2.dsp
│ │ │ ├── Nand2.dsw
│ │ │ ├── nand2.h
│ │ │ ├── Nand2.ncb
│ │ │ ├── Nand2.opt
│ │ │ ├── Nand2.plg
│ │ │ └── tb.h
│ │ └── Nand2WithWaveTracing
│ │ ├── main.cpp
│ │ ├── Nand2.dsp
│ │ ├── Nand2.dsw
│ │ ├── nand2.h
│ │ ├── Nand2.ncb
│ │ ├── Nand2.opt
│ │ ├── Nand2.plg
│ │ ├── Nand2.vcd
│ │ └── tb.h
│ ├── 1_6_HelloSystemC
│ │ ├── hello.h
│ │ ├── HelloSystemC.dsp
│ │ ├── HelloSystemC.dsw
│ │ ├── hellosystemc.h
│ │ ├── HelloSystemC.ncb
│ │ ├── HelloSystemC.opt
│ │ ├── HelloSystemC.plg
│ │ └── main.cpp
│ └── 1_7_Nand2
│ ├── main.cpp
│ ├── nan2.h
│ ├── Nand2.dsp
│ ├── Nand2.dsw
│ ├── Nand2.ncb
│ ├── Nand2.opt
│ ├── Nand2.plg
│ └── tb.h
├── Chapter2
│ ├── 2_1_3simplesoc.cpp
│ ├── 2_1_3_位置关联的例子.txt
│ ├── 2_1_3_名字关联的例子.txt
│ ├── 2_2_4 Resolved_signal_vector
│ │ ├── drived.h
│ │ ├── driving.h
│ │ ├── main.cpp
│ │ ├── resolved_signal_vector.dsp
│ │ ├── resolved_signal_vector.dsw
│ │ ├── resolved_signal_vector.ncb
│ │ ├── resolved_signal_vector.opt
│ │ └── resolved_signal_vector.plg
│ ├── 2_5_2 FullAdder
│ │ ├── ComplexMultiplyer.h
│ │ ├── Driver.cpp
│ │ ├── Driver.h
│ │ ├── FullAdder.dsp
│ │ ├── FullAdder.dsw
│ │ ├── FullAdder.h
│ │ ├── FullAdder.ncb
│ │ ├── FullAdder.opt
│ │ ├── FullAdder.plg
│ │ ├── main.cpp
│ │ ├── Monitor.cpp
│ │ └── Monitor.h
│ ├── asyn_fifo.h
│ └── dff_rst.v
├── Chapter3
│ ├── 3_2_4_1.cpp
│ ├── 3_2_4.cpp
│ ├── 3_4_1_10.cpp
│ ├── 3_4_1_11.cpp
│ ├── 3_4_1_1.cpp
│ ├── 3_4_1_2.cpp
│ ├── 3_4_1_3.cpp
│ ├── 3_4_1_4.cpp
│ ├── 3_4_1_5.cpp
│ ├── 3_4_1_6.cpp
│ ├── 3_4_1_7.cpp
│ ├── 3_4_1_8.cpp
│ ├── 3_4_1_9.cpp
│ ├── 3_4_2_1.cpp
│ ├── 3_4_3_2.cpp
│ ├── 3_4_3_3.cpp
│ ├── 3_4_4_1.cpp
│ ├── 3_4_4_2.cpp
│ ├── bist_cell1.cpp
│ ├── bist_cell2.cpp
│ ├── bist_cell.h
│ ├── cnt4.cpp
│ ├── cnt4.h
│ ├── eg3.18.h
│ ├── eg3_18.h
│ ├── fsm3.cpp
│ ├── fsm3.h
│ ├── s_adde.h
│ ├── s_adder.cpp
│ ├── xor_gates.cpp
│ └── xor_gates.h
├── Chapter4
│ ├── 4_10_2 CommunicagtionRefinement
│ │ ├── CommunicationRefinement.dsp
│ │ ├── CommunicationRefinement.dsw
│ │ ├── CommunicationRefinement.ncb
│ │ ├── CommunicationRefinement.opt
│ │ ├── CommunicationRefinement.plg
│ │ ├── fifo_ca.h
│ │ ├── main_RTL.cpp
│ │ ├── main_TLM.cpp
│ │ ├── main_TLM.h
│ │ ├── sink.h
│ │ ├── source.h
│ │ └── tb.h
│ ├── 4_4_5_1 mutexportlessexample
│ │ ├── main.cpp
│ │ ├── mutex_example.h
│ │ ├── mutex_example_top.h
│ │ ├── PortlessChannelAccess.dsp
│ │ └── PortlessChannelAccess.dsw
│ ├── 4_4_5_2 PortlessChannelAccess
│ │ ├── main.cpp
│ │ ├── mem_if.h
│ │ ├── PortlessChannelAccess.dsp
│ │ ├── PortlessChannelAccess.dsw
│ │ ├── PortlessChannelAccess.ncb
│ │ ├── PortlessChannelAccess.opt
│ │ ├── PortlessChannelAccess.plg
│ │ ├── portless.h
│ │ ├── ram.h
│ │ └── top.h
│ ├── 4_4_5 PortlessChannelAccess
│ │ ├── main.cpp
│ │ ├── mem_if.h
│ │ ├── PortlessChannelAccess.dsp
│ │ ├── PortlessChannelAccess.dsw
│ │ ├── PortlessChannelAccess.ncb
│ │ ├── PortlessChannelAccess.opt
│ │ ├── PortlessChannelAccess.plg
│ │ ├── portless.h
│ │ ├── ram.h
│ │ └── top.h
│ ├── 4_7_2 FifoinFIFO
│ │ ├── fifo_ca.h
│ │ ├── fifo_hl.h
│ │ ├── FifoInFifo.dsp
│ │ ├── FifoInFifo.dsw
│ │ ├── FifoInFifo.ncb
│ │ ├── FifoInFifo.opt
│ │ ├── FifoInFifo.plg
│ │ ├── main.cpp
│ │ ├── pkt_switch.vcd
│ │ ├── reset_if.h
│ │ ├── tb.h
│ │ └── temp.h
│ └── 4_7_3 CompositeChannel
│ ├── CompositeChannel.dsp
│ ├── CompositeChannel.dsw
│ ├── CompositeChannel.ncb
│ ├── CompositeChannel.opt
│ ├── CompositeChannel.plg
│ ├── fifo_ca.h
│ ├── fifo_hl.h
│ ├── getFIFO.h
│ ├── getFIFO_if.h
│ ├── main.cpp
│ ├── reset_if.h
│ └── tb.h
├── Chapter5
│ ├── 5_3_1_1.cpp
│ ├── 5_3_1_1.cpp.bak
│ ├── buffer.h
│ ├── buffer.h.bak
│ ├── consumer.h
│ ├── consumer.h.bak
│ ├── examples
│ │ ├── abstract
│ │ │ ├── abstract.dsp
│ │ │ ├── abstract.dsw
│ │ │ ├── README
│ │ │ ├── result.gold.log
│ │ │ └── top.cpp
│ │ ├── Debug
│ │ ├── examples.dsw
│ │ ├── examples.ncb
│ │ ├── examples.opt
│ │ ├── indexed
│ │ │ ├── indexed.dsp
│ │ │ ├── indexed.dsw
│ │ │ ├── README
│ │ │ ├── result.gold.log
│ │ │ └── top.cpp
│ │ ├── memhndshk
│ │ │ ├── ctrl.h
│ │ │ ├── disp.h
│ │ │ ├── fun.h
│ │ │ ├── key.h
│ │ │ ├── memhndshk.dsp
│ │ │ ├── memhndshk.dsw
│ │ │ ├── README
│ │ │ ├── reset.h
│ │ │ ├── result.gold.log
│ │ │ └── top.cpp
│ │ └── refined_port_reflection
│ │ ├── refined_port_reflection.dsp
│ │ └── refined_port_reflection.dsw
│ ├── fifo_bp.h
│ ├── fifo.h
│ ├── fifo.h.bak
│ ├── producer_bp.h
│ ├── producer_bp.h.bak
│ ├── producer.h
│ ├── producer.h.bak
│ └── top.cpp
├── Chapter6
│ └── 6_on_chip_bus
│ ├── arbiter.cpp
│ ├── arbiter.h
│ ├── arbiter_if.h
│ ├── blocking_if.h
│ ├── bus.cpp
│ ├── bus.h
│ ├── direct_if.h
│ ├── display_tools.h
│ ├── fast_mem.h
│ ├── main.cpp
│ ├── master_blocking.cpp
│ ├── master_blocking.h
│ ├── master_direct.cpp
│ ├── master_direct.h
│ ├── master_non_blocking.cpp
│ ├── master_non_blocking.h
│ ├── non_blocking_if.h
│ ├── on_chip_bus.dsp
│ ├── on_chip_bus.dsw
│ ├── on_chip_bus.ncb
│ ├── on_chip_bus.opt
│ ├── on_chip_bus.plg
│ ├── request.h
│ ├── slave_if.h
│ ├── slow_mem.h
│ ├── test.h
│ ├── tools.cpp
│ ├── types.cpp
│ ├── types.h
│ ├── uart.h
│ └── uart_logic.h
├── Chapter7
│ └── 7_4_4 FSM
│ ├── fsm.cpp
│ ├── fsm.dsp
│ ├── fsm.dsw
│ ├── fsm.h
│ ├── fsm.ncb
│ ├── fsm.opt
│ ├── fsm.plg
│ ├── main.cpp
│ └── test.h
├── Chapter8
│ ├── examples
│ │ ├── CVS
│ │ ├── data_structures
│ │ │ ├── scv_bag
│ │ │ │ ├── checktest.sh
│ │ │ │ ├── Makefile
│ │ │ │ ├── packet.h
│ │ │ │ ├── README
│ │ │ │ ├── tb_log.au
│ │ │ │ ├── test.cc
│ │ │ │ └── test_reg.cc
│ │ │ └── scv_sparse_array
│ │ │ ├── checktest.sh
│ │ │ ├── Makefile
│ │ │ ├── packet.h
│ │ │ ├── README
│ │ │ ├── tb_log.au
│ │ │ ├── test.cc
│ │ │ └── test_reg.cc
│ │ ├── extensions
│ │ │ └── private
│ │ │ ├── checktest.sh
│ │ │ ├── Makefile
│ │ │ ├── packet.h
│ │ │ ├── README
│ │ │ ├── tb_log.au
│ │ │ ├── test.cc
│ │ │ └── test_reg.cc
│ │ ├── hello
│ │ │ ├── main.cpp
│ │ │ ├── Makefile
│ │ │ └── README
│ │ ├── Makefile.am
│ │ ├── Makefile.in
│ │ ├── Makefile.rules.in
│ │ ├── overview
│ │ │ ├── main.cpp
│ │ │ ├── Makefile
│ │ │ └── README
│ │ └── tutorial
│ │ ├── ex_01_userdata
│ │ │ ├── checktest.sh
│ │ │ ├── data_ext.h
│ │ │ ├── data.h
│ │ │ ├── Makefile
│ │ │ ├── README
│ │ │ ├── tb_log.au
│ │ │ ├── test.cc
│ │ │ └── test_reg.cc
│ │ ├── ex_02_enumdata
│ │ │ ├── checktest.sh
│ │ │ ├── Makefile
│ │ │ ├── README
│ │ │ ├── state_ext.h
│ │ │ ├── state.h
│ │ │ ├── tb_log.au
│ │ │ ├── test.cc
│ │ │ └── test_reg.cc
│ │ ├── ex_03_nestdata
│ │ │ ├── checktest.sh
│ │ │ ├── Makefile
│ │ │ ├── README
│ │ │ ├── state_ext.h
│ │ │ ├── state.h
│ │ │ ├── tb_log.au
│ │ │ ├── test.cc
│ │ │ └── test_reg.cc
│ │ ├── ex_04_simplerand
│ │ │ ├── checktest.sh
│ │ │ ├── data_ext.h
│ │ │ ├── data.h
│ │ │ ├── Makefile
│ │ │ ├── README
│ │ │ ├── tb_log.au
│ │ │ ├── test.cc
│ │ │ └── test_reg.cc
│ │ ├── ex_05_disablerand
│ │ │ ├── checktest.sh
│ │ │ ├── data_ext.h
│ │ │ ├── data.h
│ │ │ ├── Makefile
│ │ │ ├── README
│ │ │ ├── tb_log.au
│ │ │ ├── test.cc
│ │ │ └── test_reg.cc
│ │ ├── ex_07_seedfile
│ │ │ ├── checktest.sh
│ │ │ ├── data_ext.h
│ │ │ ├── data.h
│ │ │ ├── Makefile
│ │ │ ├── README
│ │ │ ├── runme
│ │ │ ├── tb_log1.au
│ │ │ ├── tb_log2.au
│ │ │ ├── test.cc
│ │ │ └── test_reg.cc
│ │ ├── ex_08_dist
│ │ │ ├── checktest.sh
│ │ │ ├── data_ext.h
│ │ │ ├── data.h
│ │ │ ├── Makefile
│ │ │ ├── README
│ │ │ ├── tb_log.au
│ │ │ ├── test.cc
│ │ │ └── test_reg.cc
│ │ ├── ex_09_distrange
│ │ │ ├── checktest.sh
│ │ │ ├── data_ext.h
│ │ │ ├── data.h
│ │ │ ├── Makefile
│ │ │ ├── README
│ │ │ ├── tb_log.au
│ │ │ ├── test.cc
│ │ │ └── test_reg.cc
│ │ ├── ex_10_basicconstraint
│ │ │ ├── checktest.sh
│ │ │ ├── Makefile
│ │ │ ├── README
│ │ │ ├── tb_log.au
│ │ │ ├── test.cc
│ │ │ └── test_reg.cc
│ │ ├── ex_11_softconstraint
│ │ │ ├── checktest.sh
│ │ │ ├── Makefile
│ │ │ ├── README
│ │ │ ├── tb_log.au
│ │ │ ├── test.cc
│ │ │ └── test_reg.cc
│ │ ├── ex_12_hier_constraint
│ │ │ ├── checktest.sh
│ │ │ ├── Makefile
│ │ │ ├── packet_constraint.h
│ │ │ ├── packet_ext.h
│ │ │ ├── packet.h
│ │ │ ├── README
│ │ │ ├── tb_log.au
│ │ │ ├── test.cc
│ │ │ └── test_reg.cc
│ │ └── ex_13_custom_next
│ │ ├── checktest.sh
│ │ ├── constraint.h
│ │ ├── Makefile
│ │ ├── README
│ │ ├── runme
│ │ ├── tb_log.au
│ │ ├── test.cc
│ │ ├── test.h
│ │ └── test_reg.cc
│ └── scv_1.cpp
├── Chapter9
│ ├── 9_3_1 Matlab as computation engine
│ │ └── pkt_switch
│ │ ├── fifo.cpp
│ │ ├── fifo.h
│ │ ├── main.cpp
│ │ ├── Makefile.gcc
│ │ ├── Makefile.hp
│ │ ├── Makefile.linux
│ │ ├── Makefile.sun
│ │ ├── pkt.h
│ │ ├── pkt_switch.dsp
│ │ ├── pkt_switch.dsw
│ │ ├── pkt_switch.mak
│ │ ├── pkt_switch.ncb
│ │ ├── pkt_switch.opt
│ │ ├── pkt_switch.plg
│ │ ├── pkt_switch.vcd
│ │ ├── README
│ │ ├── receiver.cpp
│ │ ├── receiver.h
│ │ ├── sender.cpp
│ │ ├── sender.h
│ │ ├── statistics_gen.h
│ │ ├── switch_clk.cpp
│ │ ├── switch_clk.h
│ │ ├── switch.cpp
│ │ ├── switch.h
│ │ ├── switch_reg.h
│ │ └── test_out.m
│ └── 9_3_3 Matlab as test IO
│ ├── fft_fxpt
│ │ ├── fft.cpp
│ │ ├── fft_fxpt.bbs
│ │ ├── fft_fxpt.dsp
│ │ ├── fft_fxpt.dsw
│ │ ├── fft_fxpt.exe
│ │ ├── fft_fxpt.mak
│ │ ├── fft_fxpt.ncb
│ │ ├── fft_fxpt.opt
│ │ ├── fft_fxpt.plg
│ │ ├── fft.h
│ │ ├── GetData.h
│ │ ├── globals.h
│ │ ├── in_imag
│ │ ├── in_imag.1
│ │ ├── in_imag.2
│ │ ├── in_imag.3
│ │ ├── in_imag.4
│ │ ├── in_real
│ │ ├── in_real.1
│ │ ├── in_real.2
│ │ ├── in_real.3
│ │ ├── in_real.4
│ │ ├── main.cpp
│ │ ├── Makefile.gcc
│ │ ├── Makefile.hp
│ │ ├── Makefile.linux
│ │ ├── Makefile.sun
│ │ ├── out_imag
│ │ ├── out_imag.1.golden
│ │ ├── out_imag.2.golden
│ │ ├── out_imag.3.golden
│ │ ├── out_imag.4.golden
│ │ ├── out_real
│ │ ├── out_real.1.golden
│ │ ├── out_real.2.golden
│ │ ├── out_real.3.golden
│ │ ├── out_real.4.golden
│ │ ├── result.mat
│ │ ├── sink.cpp
│ │ ├── sink.h
│ │ ├── source.cpp
│ │ ├── source.h
│ │ └── test.mat
│ ├── test_in.m
│ └── test_out.m
├── License Description.bmp
├── Readme1.txt
├── Readme2.txt
├── SystemC Core Language library 201
│ └── systemc-2.0.1.tgz
└── SystemC MasterSlave Library201
└── systemc-2.0.1-MS2.0.1.tar.gz
59 directories, 433 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论