在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > System C特點及FPGA設(shè)計

            System C特點及FPGA設(shè)計

            作者: 時間:2010-12-11 來源:網(wǎng)絡(luò) 收藏

              
            2.過程
              
            模塊中的處理過程(process)類似于C語言中的子程序,與C語言中的子程序不同的的是它具有HDL語言中的觸發(fā)功能。處理過程(process)的具體工作部分被保存為.cpp文件。處理過程的調(diào)用類似于在C語言中子程序的調(diào)用。根據(jù)不同的要求,C中有三種處理過程。
              ● Methods : SC_METHOD()
            ● Threads : SC_THREAD()
            ● Clock Threads : SC_CTHREAD() SC_METHOD是用來描述組合邏輯,它由輸入信號的變化觸發(fā),但不能在兩次調(diào)用中保存控制狀態(tài)。并且在SC_METHOD中不能包含無限循環(huán)。由于組合邏輯有可能導(dǎo)致毛刺的產(chǎn)生,從而影響系統(tǒng)性能,所以SC_METHOD不易太復(fù)雜。

            下面是一個簡單的SC_METHOD例子:


            SC_MODULE(example) {
            sc_in din;
            sc_out dout;//端口
            void inverter();//處理過程聲明
            SC_CTOR(example) {
            SC_METHOD(inverter);
            sensitive(din);//處理過程由輸入變化觸發(fā)
            }
            };
              
            處理過程inverter如下:
            void example::inverter() {
            bool internal;
            internal = din;//輸入數(shù)據(jù)取反后由輸出端口輸出
            dout = ~internal;
            }
              
            SC_THREAD是最常用的處理過程,基本上可以用在任何地方。它是由輸入信號的變化觸發(fā),但與SC_METHOD不同的是它可以在兩次調(diào)用這保存控制狀態(tài)。它的功能類似于積存器的功能。SC_THREAD中可以包含有wait()函數(shù),這使得處理過程可以被掛起。

            SC_CTHREAD是SC_THREAD的一種特殊情況。SC_CTHREAD能產(chǎn)生更好的綜合效果。SC_CTHREAD中可以使用wait()函數(shù)。在不同的狀態(tài)間加入wait()函數(shù),人員可以用SC_CTHREAD來實現(xiàn)狀態(tài)機。這種風(fēng)格是簡便的而且容易理解。SC_CTHREAD只能由時鐘信號沿觸發(fā),而SC_THREAD可以由其它非時鐘信號觸發(fā)。如果在時鐘上跳邊觸發(fā),可以使用pos()函數(shù),反之用neg()。

            為進一步說明SC_CTHREAD,下面給出了一個SC_CTHREAD的例子。

            SC_MODULE(example) {
            sc_in_clk clock;//輸入時鐘
            sc_in trigger, din;
            sc_out dout;
            void invert();
            SC_CTOR(example) {
            SC_CTHREAD(toggler, clock.pos());//時鐘上升沿觸發(fā)
            }
            }
            void example::invert() {
            bool last = false;
            for (;;) {
            wait_until(trigger.delayed() == true);//等到下個時鐘上升沿 //且trigger=1再執(zhí)行
            last = din; dout = last; wait();
            last =~din; dout = last;wait();//下個上升沿才更改數(shù)據(jù)
            }
            }
              
            3.端口與信號
              
            與HDL語言相似,使用 C庫就可以在C程序中加入端口和信號。這些原先C語言中沒有的功能,使更復(fù)合硬件設(shè)計的要求。
            模塊與模塊之間是通過端口信號加一聯(lián)系。只要兩個端口被連接在一起,信號就可以在它們之間進行傳遞。對于這一點習(xí)慣用HDL進行設(shè)計的設(shè)計人員是很容易理解和接受的,因為這和HDL中端口的功能是一樣的。 信號只是在一個模塊的內(nèi)部使用,這也是和HDL中信號的用法是一致的。 下面給出端口和信號聲明的例子。

            sc_in“類型”> din// 輸入端口din
            sc_out“類型”> dout// 輸出端口dout
            sc_inout“類型”> q// 輸入輸出端口q
            sc_signal i[16]; //創(chuàng)建一個具有16比特的邏輯型信號i
              
            4.?dāng)?shù)據(jù)類型
              
            考慮到硬件設(shè)計的要求, C中也加入了一些硬件設(shè)計中常用的數(shù)據(jù)類型。具體如下:

            sc_int 有符號整數(shù)類型,最大有64個比特位。
            sc_uint 無符號整數(shù)類型,最大有64個比特位。
            sc_bigint 有符號整數(shù)類型,任意比特位,其最大比特位定義在
            sc_constants.h中。
            sc_biguint 無符號整數(shù)類型,任意比特位,其最大比特位定義在
            sc_constants.h中。
            sc_bit 二值數(shù)據(jù),單比特位。
            sc_logic 四值數(shù)據(jù),單比特位。
            sc_bv 二值數(shù)據(jù),任意比特位。
            sc_lv 四值數(shù)據(jù),任意比特位。
            sc_fixed 參數(shù)固定的有符號定點數(shù)。
            sc_ufixed 參數(shù)固定的無符號定點數(shù)。
            sc_fix 參數(shù)不固定的有符號定點數(shù)。
            sc_ufix 參數(shù)不固定的無符號定點數(shù)。
            User defined structs 用戶自定義結(jié)構(gòu)
              
            以上是一些System C的基本概念。
              
            五、結(jié)論
              

            System C是一種很有效的設(shè)計方法,它不僅可以幫助設(shè)計人員完成一個復(fù)雜的系統(tǒng)設(shè)計,還可以避免傳統(tǒng)設(shè)計中的各種弊端,并提高設(shè)計人員的工作效率。它的這些優(yōu)點使System C在復(fù)雜的系統(tǒng)設(shè)計中大有作為。并且習(xí)慣用HDL的設(shè)計人員,可以很容易地轉(zhuǎn)到用System C設(shè)計。

            本文引用地址:http://www.biyoush.com/article/151249.htm

            上一頁 1 2 3 下一頁

            關(guān)鍵詞: 設(shè)計 FPGA 特點 System

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉