ilya79 0 21 мая, 2006 Опубликовано 21 мая, 2006 · Жалоба Кто нибудь пользуется ? Написал простенький сдвиговый регистр , все нечего даже синтезируется, но почему если убрать инициализацию регистра(shiftval="10101010") все выкидывается ? И наконец почему синтезируется регистр шириной 9 бит вместо 8 ? Agility один большой сплошной глюк или "я не умею его готовить" ? Текст srl.sc.h файла //-------------------------------------------------------------------------------------------------------// #include <systemc.h> SC_MODULE (srl_sc) { sc_in<bool> clk; sc_in< sc_lv<8> > din; sc_out< sc_lv<8> > dout; sc_lv<8> shiftval [16]; void proc_signals(); SC_CTOR(srl_sc) { SC_THREAD(proc_signals); sensitive << clk.pos(); } Текст srl.sc.cpp файла //-----------------------------------------------------------------------------------------------------------------// #include "srl.sc.h" void srl_sc::proc_signals() { int i; //------- start up value -------------// for(i=0;i<16;i++){shiftval="10101010";} wait(); //------ main clock cycle -----------// while(1) { for(i=15;i>0;i--){ shiftval=shiftval[i-1];} shiftval[0] = din.read(); dout.write(shiftval[15]); wait(); } } void ag_main() { /* * An instance of the top level module */ srl_sc top_level("top_level"); } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться