基于SYSTEM C的FPGA设计方法

[11-20 16:12:55]   来源:http://www.88dzw.com  FPGA   阅读:8478

文章摘要:sc_in<bool> trigger, din; sc_out<bool> dout; void invert(); SC_CTOR(example) { SC_CTHREAD(toggler, clock.pos());//时钟上升沿触发 } } void example::invert() { bool last = false; for (;;) { wait_until(trigger.delayed() == true);//等到下个时钟上升沿 //且trigger=1再执行 last = din; dout

基于SYSTEM C的FPGA设计方法,标签:fpga是什么,fpga教程,http://www.88dzw.com
sc_in<bool> trigger, din;
sc_out<bool> dout;
void invert();
SC_CTOR(example) {
SC_CTHREAD(toggler, clock.pos());//时钟上升沿触发
}
}

void example::invert() {
bool last = false;
for (;;) {
wait_until(trigger.delayed() == true);//等到下个时钟上升沿 //且trigger=1再执行
last = din; dout = last; wait();
last =~din; dout = last;wait();//下个上升沿才更改数据
}
}


3.端口与信号

与HDL语言相似,使用System C库就可以在C程序中加入端口和信号。这些原先C语言中没有的功能,使设计更复合硬件设计的要求。
模块与模块之间是通过端口信号加一联系。只要两个端口被连接在一起,信号就可以在它们之间进行传递。对于这一点习惯用HDL进行设计的设计人员是很容易理解和接受的,因为这和HDL中端口的功能是一样的。 信号只是在一个模块的内部使用,这也是和HDL中信号的用法是一致的。 下面给出端口和信号声明的例子。


sc_in<“类型”> din// 输入端口din
sc_out<“类型”> dout// 输出端口dout
sc_inout<“类型”> q// 输入输出端口q
sc_signal<sc_logic> i[16]; //创建一个具有16比特的逻辑型信号i

4.数据类型

考虑到硬件设计的要求,System C中也加入了一些硬件设计中常用的数据类型。具体如下:

sc_int 有符号整数类型,最大有64个比特位。
sc_uint 无符号整数类型,最大有64个比特位。
sc_bigint 有符号整数类型,任意比特位,其最大比特位定义在
sc_constants.h中。
sc_biguint 无符号整数类型,任意比特位,其最大比特位定义在
sc_constants.h中。
sc_bit 二值数据,单比特位。
sc_logic 四值数据,单比特位。
sc_bv 二值数据,任意比特位。
sc_lv 四值数据,任意比特位。
sc_fixed 参数固定的有符号定点数。
sc_ufixed 参数固定的无符号定点数。
sc_fix 参数不固定的有符号定点数。
sc_ufix 参数不固定的无符号定点数。
User defined structs 用户自定义结构


以上是一些System C的基本概念。


五、结论

System C是一种很有效的设计方法,它不仅可以帮助设计人员完成一个复杂的系统设计,还可以避免传统设计中的各种弊端,并提高设计人员的工作效率。它的这些优点使System C在复杂的系统设计中大有作为。并且习惯用HDL的设计人员,可以很容易地转到用System C设计。

 

参考文献

1 SystemC v1.0 User Guide (http:\\www.systemc.org)
2 SystemC v2.0 User Guide (http:\\www.systemc.org

上一页  [1] [2] [3] [4] 


Tag:FPGAfpga是什么,fpga教程FPGA

《基于SYSTEM C的FPGA设计方法》相关文章

分类导航
最新更新
热门排行