📄 hdlc.c
字号:
/////////////////////////////////////////////////////If you have any question about this testbench////please get in touch with me: llbt24@zju.edu.cn/////////////////////////////////////////////////////////////////#include "/tools2/synopsys/vcs7.0/include/vcsuser.h"#include "/jeepHome/gul/practice/vcs/vcsuser.h"#include <stdio.h>#include <stdlib.h>static unsigned char byteout_inv;static int onecount;static int bitinsert;static int TXD[10];static int TXDS[10];hello(){ io_printf("************************\n"); io_printf("\ttest begin\n"); io_printf("************************\n"); }flag(){ static int i=0; static unsigned char flagout=0x7E; onecount=0; bitinsert=0; tf_putp(1,flagout%2); flagout>>=1; i++; if(i==8) { i=0; flagout=0x7E; } }fix(){ int isfix; unsigned char bytedate,byteout; int bytekind; int invnum; static int in_k; isfix=tf_getp(1); bytedate=tf_getp(2); bytekind=tf_getp(3); byteout=isfix?bytedate:(unsigned char)(rand()%256); if(bytekind!=7) { TXD[in_k]=byteout; TXDS[in_k]=bytekind; if(in_k<9) in_k++; else in_k=0; } byteout_inv=0; for(invnum=0;invnum<8;invnum++) { byteout_inv<<=1; byteout_inv+=byteout%2; byteout>>=1; }}byte(){ tf_putp(1,byteout_inv%2); if(byteout_inv%2) onecount++; else onecount=0; byteout_inv>>=1; if(onecount==5) { onecount=0; bitinsert=1; } else bitinsert=0; }stuff(){ tf_putp(1,bitinsert); bitinsert=0; }readresult(){ static int out_k; tf_putp(1,TXD[out_k]); tf_putp(2,TXDS[out_k]); if(out_k<9) out_k++; else out_k=0;}seed(){ int seednum; seednum=tf_getp(1); srand(seednum);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -